wlanutilities/wlansniffer/wlansnifferapplication/src/wlansniffermainwindow.cpp
changeset 61 e1d68407ed06
parent 60 822a45792fdd
--- a/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansniffermainwindow.cpp	Fri Sep 03 09:37:37 2010 +0300
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansniffermainwindow.cpp	Thu Sep 16 12:52:33 2010 +0300
@@ -136,42 +136,43 @@
 {
     OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_STARTWLANWIZARD_ENTRY);
     
-    Q_ASSERT(mWizard == NULL);
-
-    // Stop WLAN scanning for the duration of WLAN Wizard
-    mEngine->stopWlanScanning();
-    
-    mWizard = QSharedPointer<WlanWizard>(new WlanWizard(this));
-    bool connectStatus = connect(
-        mWizard.data(),
-        SIGNAL(finished(int,bool)),
-        this,
-        SLOT(handleWlanWizardComplete(int,bool)),
-        Qt::QueuedConnection);
-    Q_ASSERT(connectStatus == true);
+    if (mWizard == NULL) {
+        // Stop WLAN scanning for the duration of WLAN Wizard
+        mEngine->stopWlanScanning();
+        
+        mWizard = QSharedPointer<WlanWizard>(new WlanWizard(this));
+        bool connectStatus = connect(
+            mWizard.data(),
+            SIGNAL(finished(int,bool)),
+            this,
+            SLOT(handleWlanWizardComplete(int,bool)),
+            Qt::QueuedConnection);
+        Q_ASSERT(connectStatus == true);
+        
+        connectStatus = connect(
+            mWizard.data(),
+            SIGNAL(cancelled()),
+            this,
+            SLOT(handleWlanWizardCancelled()),
+            Qt::QueuedConnection);
+        Q_ASSERT(connectStatus == true);
+        
+        // Create an IAP for a specific AP
+        if (ap) {
+            mWizard->setParameters(
+                ap->value(WlanQtUtilsAp::ConfIdName).toString(),
+                ap->value(WlanQtUtilsAp::ConfIdSsid).toByteArray(),
+                ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt(),
+                ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
+                ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toInt(),
+                ap->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool());
+        }
+        // else: Add WLAN IAP manually
+        
+        mWizard->show();
+    }
+    // else: already running Wizard, ignore this call
     
-    connectStatus = connect(
-        mWizard.data(),
-        SIGNAL(cancelled()),
-        this,
-        SLOT(handleWlanWizardCancelled()),
-        Qt::QueuedConnection);
-    Q_ASSERT(connectStatus == true);
-    
-    // Create an IAP for a specific AP
-    if (ap) {
-        mWizard->setParameters(
-            ap->value(WlanQtUtilsAp::ConfIdName).toString(),
-            ap->value(WlanQtUtilsAp::ConfIdSsid).toByteArray(),
-            ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt(),
-            ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
-            ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toInt(),
-            ap->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool());
-    }
-    // else: Add WLAN IAP manually
-    
-    mWizard->show();
-
     OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_STARTWLANWIZARD_EXIT);
 }