tdf#133159 store current config before changing sheet
Change-Id: I0c50c2fd145e80996d8aeddeabdb3ae5c4d83bbb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112805
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/sc/source/ui/inc/content.hxx b/sc/source/ui/inc/content.hxx
index 53f234f..1c0d2c2 100644
--- a/sc/source/ui/inc/content.hxx
+++ b/sc/source/ui/inc/content.hxx
@@ -165,7 +165,7 @@ public:
/** Applies the navigator settings to the listbox. */
void ApplyNavigatorSettings(bool bRestoreScrollPos = false, int nScrollPos = 0);
/** Stores the current listbox state in the navigator settings. */
void StoreNavigatorSettings() const;
void StoreNavigatorSettings();
};
#endif // INCLUDED_SC_SOURCE_UI_INC_CONTENT_HXX
diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index 423bef3..9383f34 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -333,7 +333,13 @@ IMPL_LINK_NOARG(ScContentTree, ContentDoubleClickHdl, weld::TreeView&, bool)
switch( nType )
{
case ScContentId::TABLE:
{
// tdf#133159 store current config before changing sheet
// plausible that this should be done for all cases, but this
// is the known case that needs it
StoreNavigatorSettings();
pParentWindow->SetCurrentTableStr( aText );
}
break;
case ScContentId::RANGENAME:
@@ -1628,8 +1634,14 @@ void ScContentTree::ApplyNavigatorSettings(bool bRestorePos, int nScrollPos)
}
}
void ScContentTree::StoreNavigatorSettings() const
void ScContentTree::StoreNavigatorSettings()
{
if (m_nAsyncMouseReleaseId)
{
Application::RemoveUserEvent(m_nAsyncMouseReleaseId);
m_nAsyncMouseReleaseId = nullptr;
}
ScNavigatorSettings* pSettings = ScNavigatorDlg::GetNavigatorSettings();
if( !pSettings )
return;