From 456fd3ac256d59f959946af65c8b5175ec077ba9 Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com> Date: Wed, 30 May 2012 17:50:09 -0400 Subject: [PATCH] [ #11798 ] Implement basic signal handling, it does not seem to be enough, but it help --- kde/src/SFLPhoneapplication.cpp | 2 -- kde/src/SFLPhoneapplication.h | 2 +- kde/src/main.cpp | 19 ++++++++++++++++--- kde/src/widgets/HistoryTreeItem.cpp | 1 + 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/kde/src/SFLPhoneapplication.cpp b/kde/src/SFLPhoneapplication.cpp index 75aec9e06f..a9515e13cb 100755 --- a/kde/src/SFLPhoneapplication.cpp +++ b/kde/src/SFLPhoneapplication.cpp @@ -68,8 +68,6 @@ SFLPhoneApplication::~SFLPhoneApplication() instance.connection().disconnectFromBus(instance.connection().baseService()); } - - /** * Return the sflphone window */ diff --git a/kde/src/SFLPhoneapplication.h b/kde/src/SFLPhoneapplication.h index 3c8d60f318..5ccad384bc 100755 --- a/kde/src/SFLPhoneapplication.h +++ b/kde/src/SFLPhoneapplication.h @@ -38,7 +38,7 @@ public: SFLPhoneApplication(); // Destructor - virtual ~SFLPhoneApplication(); + virtual ~SFLPhoneApplication(); private: //Constructor diff --git a/kde/src/main.cpp b/kde/src/main.cpp index b979cc3368..6e90c439e9 100755 --- a/kde/src/main.cpp +++ b/kde/src/main.cpp @@ -21,6 +21,7 @@ //System #include <unistd.h> +#include <signal.h> //Qt #include <QtGui/QAction> @@ -54,6 +55,13 @@ static const char description[] = "A KDE 4 Client for SFLphone"; static const char version[] = "1.1.0"; +SFLPhoneApplication* app; +void quitOnSignal(int signal) +{ + Q_UNUSED(signal); + app->quit(); +} + int main(int argc, char **argv) { try @@ -81,20 +89,25 @@ int main(int argc, char **argv) //configuration dbus TreeWidgetCallModel::init(); - SFLPhoneApplication app; - + app = new SFLPhoneApplication(); + SFLPhone* sflphoneWindow_ = new SFLPhone(); if( ! sflphoneWindow_->initialize() ) { exit(1); return 1; }; + + signal(SIGINT , quitOnSignal); + signal(SIGTERM , quitOnSignal); + sflphoneWindow_->show(); - int retVal = app.exec(); + int retVal = app->exec(); ConfigurationSkeleton* conf = ConfigurationSkeleton::self(); conf->writeConfig(); delete sflphoneWindow_; + delete app; return retVal; } catch(const char * msg) diff --git a/kde/src/widgets/HistoryTreeItem.cpp b/kde/src/widgets/HistoryTreeItem.cpp index fbef5138ff..7f0fb67b3e 100644 --- a/kde/src/widgets/HistoryTreeItem.cpp +++ b/kde/src/widgets/HistoryTreeItem.cpp @@ -244,6 +244,7 @@ void HistoryTreeItem::callAgain() } Call* call = SFLPhone::model()->addDialingCall(m_Name, SFLPhone::app()->model()->getCurrentAccountId()); call->setCallNumber(m_PhoneNumber); + call->setPeerName(m_pPeerNameL->text()); call->actionPerformed(CALL_ACTION_ACCEPT); } -- GitLab