Small fix to Eniro setting handling.
[jenirok] / src / daemon / calllistener.cpp
index 343ecf7..debb367 100644 (file)
@@ -48,6 +48,7 @@ retries_(-1), timer_(0)
 CallListener::~CallListener()
 {
     end();
+    DB::removeDatabase();
 }
 
 bool CallListener::begin()
@@ -59,8 +60,10 @@ bool CallListener::begin()
     }
 
     sourceId_ = Source::stringToId(Settings::instance()->get("source"));
+    QMap<QString, QString> tmpConfig;
     SourceCoreConfig* config = SourceCoreConfig::getCoreConfig(sourceId_);
-    config->getConfig(sourceConfig_);
+    config->getConfig(tmpConfig);
+    sourceConfig_ = tmpConfig;
     delete config;
 
     systemBus_.connect(CALL_SERVICE_NAME,
@@ -167,7 +170,7 @@ void CallListener::requestFinished(QVector <Source::Result> const& results,
         if(retries_ < SEARCH_RETRIES && retries_ >= 0)
         {
             retries_++;
-            source_->search(Source::SearchDetails(currentSearch_));
+            source_->search(Source::SearchDetails(currentSearch_, "", Source::BOTH));
             return;
         }
         else
@@ -264,7 +267,7 @@ void CallListener::incomingCall(QDBusObjectPath path, QString number)
                            this,
                            SLOT(callTerminate()));
 
-        search(Source::SearchDetails(number));
+        search(Source::SearchDetails(number, "", Source::BOTH));
     }
     else
     {
@@ -276,7 +279,7 @@ void CallListener::callTerminate()
 {
     if(box_ && box_->isVisible())
     {
-        box_->close();
+        box_->hide();
     }
 
     searchClose();
@@ -333,6 +336,11 @@ void CallListener::searchInit()
 
 void CallListener::searchClose()
 {
+    if(!initialized_)
+    {
+        return;
+    }
+
     initialized_ = false;
 
     qDebug() << "Closing search...";