From 4b73aff7d2e4af7d3a1359df52133cd2c59058c5 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 29 Jul 2016 10:08:25 +0100 Subject: VclPtr: password prompts never dispose Change-Id: I917e5457be6de152b39e91ad41b6ed196dfe3e45 --- uui/source/iahndl-authentication.cxx | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'uui') diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx index 9855df99d4f7..a0a0377405cf 100644 --- a/uui/source/iahndl-authentication.cxx +++ b/uui/source/iahndl-authentication.cxx @@ -516,13 +516,12 @@ executePasswordDialog( { if (bIsSimplePasswordRequest) { - VclPtr< PasswordDialog > pDialog( - VclPtr::Create( pParent, nMode, xManager.get(), aDocName, - bIsPasswordToModify, bIsSimplePasswordRequest ) ); - pDialog->SetMinLen(0); + ScopedVclPtrInstance xDialog(pParent, nMode, xManager.get(), aDocName, + bIsPasswordToModify, bIsSimplePasswordRequest); + xDialog->SetMinLen(0); - rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL ); - rInfo.SetPassword( pDialog->GetPassword() ); + rInfo.SetResult(xDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL); + rInfo.SetPassword(xDialog->GetPassword()); } else { @@ -540,14 +539,13 @@ executePasswordDialog( } else // enter password or reenter password { - VclPtr< PasswordDialog > pDialog( - VclPtr::Create( pParent, nMode, xManager.get(), aDocName, - bIsPasswordToModify, bIsSimplePasswordRequest ) ); - pDialog->SetMinLen(0); - - rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL ); - rInfo.SetPassword( bIsPasswordToModify ? OUString() : pDialog->GetPassword() ); - rInfo.SetPasswordToModify( bIsPasswordToModify ? pDialog->GetPassword() : OUString() ); + ScopedVclPtrInstance xDialog(pParent, nMode, xManager.get(), aDocName, + bIsPasswordToModify, bIsSimplePasswordRequest); + xDialog->SetMinLen(0); + + rInfo.SetResult(xDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL); + rInfo.SetPassword(bIsPasswordToModify ? OUString() : xDialog->GetPassword()); + rInfo.SetPasswordToModify(bIsPasswordToModify ? xDialog->GetPassword() : OUString()); } } catch (std::bad_alloc const &) -- cgit