diff -r 0ed94ceaa377 -r cb62a4f66ebe browserutilities/browserdialogsprovider/Src/BrowserDialogsProvider.cpp --- a/browserutilities/browserdialogsprovider/Src/BrowserDialogsProvider.cpp Thu Dec 17 09:20:16 2009 +0200 +++ b/browserutilities/browserdialogsprovider/Src/BrowserDialogsProvider.cpp Thu Jan 07 13:31:38 2010 +0200 @@ -19,11 +19,11 @@ // INCLUDE Files // User includes -#include "browserdialogsprovider.h" // Class header +#include // Class header #include "BrowserDialogsProvider.hrh" #include "BrowserAuthenticationDialog.h" #include "BrowserDialogsProviderConstants.h" -#include "browserdialogsproviderobserver.h" //obs +#include //obs // Browser as a Plugin - own classes #include "BrowserViewImagesPopup.h" // For DialogDisplayPageImagesL @@ -438,17 +438,16 @@ TBrCtlSelectOptionType aBrCtlSelectOptionType, CArrayFix& aOptions ) { - CBrowserSelectElementDlg* dlg = CBrowserSelectElementDlg::NewL( aTitle, + iSelectDlg = CBrowserSelectElementDlg::NewL( aTitle, aBrCtlSelectOptionType, aOptions ); - - iDialogs.Append( dlg ); // Store a pointer to the dialog for CancelAll() + - TInt result = dlg->ExecuteLD(); + TInt result = iSelectDlg->ExecuteLD(); - RemoveDialogFromArray(); - + + iSelectDlg = 0; if ( iObserver ) { iObserver->ReportDialogEventL( @@ -981,7 +980,11 @@ //----------------------------------------------------------------------------- // EXPORT_C void CBrowserDialogsProvider::CancelAll() - { + { + if(iSelectDlg ) + iSelectDlg->CancelPopup(); + + iDialogs.Close(); // Empty the array iDialogs.ResetAndDestroy(); }