summaryrefslogtreecommitdiff
path: root/cui/source
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2020-02-09 17:58:42 +0200
committerMaxim Monastirsky <momonasmon@gmail.com>2020-02-11 00:09:40 +0100
commit0ad3558a0c84e97306dfd6d235680ed6e053711b (patch)
tree08044900d5cb5ff95f55d66388b91471c223f838 /cui/source
parent2b7f4d8a2cfad9fab557762cc8cfbdb2d41b9938 (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/source')
-rw-r--r--cui/source/customize/SvxConfigPageHelper.cxx15
-rw-r--r--cui/source/customize/cfg.cxx15
-rw-r--r--cui/source/inc/SvxConfigPageHelper.hxx3
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 );