Fix segfault with onlinepollerthread
[irwi] / src / onlinepollerthread.cpp
index 73b3fd5..89cc31a 100644 (file)
@@ -5,6 +5,7 @@
 
 void OnlinePollerThread::run()
 {
+    running = true;
     QTM_PREPEND_NAMESPACE(QNetworkConfigurationManager) qncm;
     if (!qncm.isOnline()) {
         QDBusMessage m = QDBusMessage::createMethodCall(
@@ -12,12 +13,21 @@ void OnlinePollerThread::run()
                 "com.nokia.icd_ui", "show_conn_dlg");
         m << false;
         QDBusConnection::systemBus().send(m);
-        while(!qncm.isOnline())
+        while(running)
         {
-            msleep(250);
+            if (!qncm.isOnline()) {
+                msleep(250);
+            } else {
+                break;
+            }
         }
     }
     emit online();
     exec();
 }
 
+void OnlinePollerThread::stop()
+{
+    running = false;
+}
+