summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-05 10:16:51 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-07-05 10:17:22 +0100
commit3bbc0574d78d129359638b74612de2f93419eeb0 (patch)
treeefe19c418d23254b19729c37f32bca796bd6c2b1
parent7566851d653ec052e9b7baa98ec2a993328f84e4 (diff)
Resolves: rhbz#1352835 path options doesn't promptly destroy folder picker
Change-Id: I5133f63fd92f384221fa2812c6e2a0e7f3b37ac1
-rw-r--r--cui/source/options/optpath.cxx19
1 files changed, 9 insertions, 10 deletions
diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx
index 14fa4782f099..28fa70535f7c 100644
--- a/cui/source/options/optpath.cxx
+++ b/cui/source/options/optpath.cxx
@@ -633,11 +633,12 @@ IMPL_LINK_NOARG_TYPED(SvxPathTabPage, PathHdl_Impl, Button*, void)
else
{
short nRet = xFolderPicker->execute();
- if ( ExecutableDialogResults::OK != nRet )
- return;
-
- OUString sFolder( xFolderPicker->getDirectory() );
- ChangeCurrentEntry( sFolder );
+ if (nRet == ExecutableDialogResults::OK)
+ {
+ OUString sFolder(xFolderPicker->getDirectory());
+ ChangeCurrentEntry(sFolder);
+ }
+ xFolderPicker.clear();
}
}
catch( Exception& )
@@ -721,19 +722,17 @@ IMPL_LINK_TYPED( SvxPathTabPage, HeaderEndDrag_Impl, HeaderBar*, pBar, void )
}
}
-
IMPL_LINK_TYPED( SvxPathTabPage, DialogClosedHdl, DialogClosedEvent*, pEvt, void )
{
- if ( RET_OK == pEvt->DialogResult )
+ assert(xFolderPicker.is() && "SvxPathTabPage::DialogClosedHdl(): no folder picker");
+ if (RET_OK == pEvt->DialogResult)
{
- DBG_ASSERT( xFolderPicker.is(), "SvxPathTabPage::DialogClosedHdl(): no folder picker" );
-
OUString sURL = xFolderPicker->getDirectory();
ChangeCurrentEntry( sURL );
}
+ xFolderPicker.clear();
}
-
void SvxPathTabPage::GetPathList(
sal_uInt16 _nPathHandle, OUString& _rInternalPath,
OUString& _rUserPath, OUString& _rWritablePath, bool& _rReadOnly )