diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-07-29 10:08:25 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-07-29 10:08:25 +0100 |
commit | 4b73aff7d2e4af7d3a1359df52133cd2c59058c5 (patch) | |
tree | c053f1b67218d944522b95f0f9bd9e29b29c784b /uui | |
parent | 2a66c02553bbcfbb9e646c39ec291fb2eefbf6bb (diff) |
VclPtr: password prompts never dispose
Change-Id: I917e5457be6de152b39e91ad41b6ed196dfe3e45
Diffstat (limited to 'uui')
-rw-r--r-- | uui/source/iahndl-authentication.cxx | 26 |
1 files changed, 12 insertions, 14 deletions
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<PasswordDialog>::Create( pParent, nMode, xManager.get(), aDocName, - bIsPasswordToModify, bIsSimplePasswordRequest ) ); - pDialog->SetMinLen(0); + ScopedVclPtrInstance<PasswordDialog> 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<PasswordDialog>::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<PasswordDialog> 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 &) |