bluetoothengine/btui/Ecom/src/BTUIPairedDevicesView.cpp
changeset 1 6a1fe72036e3
parent 0 f63038272f30
child 6 6a29d5ad0713
child 15 00f9ee97d895
--- a/bluetoothengine/btui/Ecom/src/BTUIPairedDevicesView.cpp	Mon Jan 18 20:28:57 2010 +0200
+++ b/bluetoothengine/btui/Ecom/src/BTUIPairedDevicesView.cpp	Tue Jan 26 12:06:42 2010 +0200
@@ -181,6 +181,8 @@
 	if(iConstructAsGsPlugin)
 	    	delete iTabHelper;	
 	
+	CancelDisconnectQueryDlg();
+	
     TRACE_FUNC_EXIT
     }
 
@@ -1067,13 +1069,14 @@
 
     // Create confirmation query
     HBufC* stringholder = StringLoader::LoadLC(R_BT_DISCONNECT_FROM, device.iName);
-    iDisconnectQueryDlg = CAknQueryDialog::NewL();
+    if (!iDisconnectQueryDlg)
+        {
+        iDisconnectQueryDlg = CAknQueryDialog::NewL();
+        }
 
 	if(iCoverDisplayEnabled)
 		{
-	    CleanupStack::PushL(iDisconnectQueryDlg); 
 	    iDisconnectQueryDlg->PublishDialogL(ECmdShowDisconnectQuery, KUidCoverUiCategoryBtui); // initializes cover support    
-	    CleanupStack::Pop(iDisconnectQueryDlg); 
 	
 		CAknMediatorFacade* covercl = AknMediatorFacade(iDisconnectQueryDlg); // uses MOP, so control provided 
 		if (covercl) // returns null if __COVER_DISPLAY is not defined
@@ -1100,7 +1103,7 @@
 // CBTUIPairedDevicesView::CancelDisconnectQueryDlgL
 // ----------------------------------------------------------
 //
-void CBTUIPairedDevicesView::CancelDisconnectQueryDlgL()
+void CBTUIPairedDevicesView::CancelDisconnectQueryDlg()
 {
 	TRACE_FUNC_ENTRY
 	
@@ -1854,7 +1857,7 @@
         if(aErr == KErrDisconnected)
             {
             if(iDisconnectQueryDlg && aDevice.iAddr == iDisconnectQueryDevice.iAddr)
-                CancelDisconnectQueryDlgL();
+                CancelDisconnectQueryDlg();
             
             TRACE_FUNC_EXIT
             return;