diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2020-02-09 17:58:42 +0200 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2020-02-11 00:09:40 +0100 |
commit | 0ad3558a0c84e97306dfd6d235680ed6e053711b (patch) | |
tree | 08044900d5cb5ff95f55d66388b91471c223f838 /cui | |
parent | 2b7f4d8a2cfad9fab557762cc8cfbdb2d41b9938 (diff) |
cui: Compare by full module id
Otherwise Master Document is detected as Writer,
causing crash when opening the customization
dialog, as the notebookbar tab isn't prepared to
handle the Master Document variant.
Change-Id: I872255c42517b4223fb31e2074e4d5d083c76e93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88344
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/customize/SvxConfigPageHelper.cxx | 15 | ||||
-rw-r--r-- | cui/source/customize/cfg.cxx | 15 | ||||
-rw-r--r-- | cui/source/inc/SvxConfigPageHelper.hxx | 3 |
3 files changed, 6 insertions, 27 deletions
diff --git a/cui/source/customize/SvxConfigPageHelper.cxx b/cui/source/customize/SvxConfigPageHelper.cxx index f59ccb118adc..ead3f59da7d4 100644 --- a/cui/source/customize/SvxConfigPageHelper.cxx +++ b/cui/source/customize/SvxConfigPageHelper.cxx @@ -449,21 +449,6 @@ css::uno::Sequence< css::beans::PropertyValue > SvxConfigPageHelper::ConvertTool return aPropSeq; } -bool SvxConfigPageHelper::showKeyConfigTabPage( - const css::uno::Reference< css::frame::XFrame >& xFrame ) -{ - if (!xFrame.is()) - { - return false; - } - OUString sModuleId( - css::frame::ModuleManager::create( - comphelper::getProcessComponentContext()) - ->identify(xFrame)); - return !sModuleId.isEmpty() - && sModuleId != "com.sun.star.frame.StartModule"; -} - bool SvxConfigPageHelper::EntrySort( SvxConfigEntry const * a, SvxConfigEntry const * b ) { return a->GetName().compareTo( b->GetName() ) < 0; diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx index 35d39195234c..ab240c2eba27 100644 --- a/cui/source/customize/cfg.cxx +++ b/cui/source/customize/cfg.cxx @@ -227,18 +227,15 @@ SvxConfigDialog::SvxConfigDialog(weld::Window * pParent, const SfxItemSet* pInSe void SvxConfigDialog::SetFrame(const css::uno::Reference<css::frame::XFrame>& xFrame) { m_xFrame = xFrame; - uno::Reference<uno::XComponentContext> xContext(::comphelper::getProcessComponentContext(), - uno::UNO_SET_THROW); - OUString aModuleId = SvxConfigPage::GetFrameWithDefaultAndIdentify(m_xFrame); - uno::Reference<css::frame::XModuleManager2> xModuleManager( - css::frame::ModuleManager::create(xContext)); - OUString aModuleName = SvxConfigPageHelper::GetUIModuleName(aModuleId, xModuleManager); - if (aModuleName != "Writer" && aModuleName != "Calc" && aModuleName != "Impress" - && aModuleName != "Draw") + + if (aModuleId != "com.sun.star.text.TextDocument" && + aModuleId != "com.sun.star.sheet.SpreadsheetDocument" && + aModuleId != "com.sun.star.presentation.PresentationDocument" && + aModuleId != "com.sun.star.drawing.DrawingDocument") RemoveTabPage("notebookbar"); - if (!SvxConfigPageHelper::showKeyConfigTabPage(xFrame)) + if (aModuleId == "com.sun.star.frame.StartModule") RemoveTabPage("keyboard"); } diff --git a/cui/source/inc/SvxConfigPageHelper.hxx b/cui/source/inc/SvxConfigPageHelper.hxx index e78fc10cfd87..8aaba7ae90e2 100644 --- a/cui/source/inc/SvxConfigPageHelper.hxx +++ b/cui/source/inc/SvxConfigPageHelper.hxx @@ -81,9 +81,6 @@ public: static css::uno::Sequence< css::beans::PropertyValue > ConvertToolbarEntry( const SvxConfigEntry* pEntry ); - static bool showKeyConfigTabPage( - const css::uno::Reference< css::frame::XFrame >& xFrame ); - static bool EntrySort( SvxConfigEntry const * a, SvxConfigEntry const * b ); static bool SvxConfigEntryModified( SvxConfigEntry const * pEntry ); |