diff options
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/sidebar/DeckLayouter.cxx | 7 | ||||
-rw-r--r-- | sfx2/source/sidebar/SidebarController.cxx | 6 | ||||
-rw-r--r-- | sfx2/source/sidebar/TabBar.cxx | 5 |
3 files changed, 16 insertions, 2 deletions
diff --git a/sfx2/source/sidebar/DeckLayouter.cxx b/sfx2/source/sidebar/DeckLayouter.cxx index c4c9cd4b9a81..f90ec176b2d0 100644 --- a/sfx2/source/sidebar/DeckLayouter.cxx +++ b/sfx2/source/sidebar/DeckLayouter.cxx @@ -613,7 +613,12 @@ void UpdateFiller ( vcl::Window& rFiller, const tools::Rectangle& rBox) { - if (rBox.GetHeight() > 0) + if (comphelper::LibreOfficeKit::isActive()) + { + // Not shown on LOK, and causes invalidation thrash + rFiller.Hide(); + } + else if (rBox.GetHeight() > 0) { // Show the filler. rFiller.SetBackground(Theme::GetColor(Theme::Color_PanelBackground)); diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 168719f84d23..60013c9b9274 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -793,7 +793,11 @@ void SidebarController::SwitchToDeck ( msCurrentDeckId = rDeckDescriptor.msId; } - mpTabBar->Invalidate(); + + // invisible with LOK, so avoid invalidations + if (!comphelper::LibreOfficeKit::isActive()) + mpTabBar->Invalidate(); + mpTabBar->HighlightDeck(msCurrentDeckId); // Determine the panels to display in the deck. diff --git a/sfx2/source/sidebar/TabBar.cxx b/sfx2/source/sidebar/TabBar.cxx index fc6124f79659..b989cb7d0964 100644 --- a/sfx2/source/sidebar/TabBar.cxx +++ b/sfx2/source/sidebar/TabBar.cxx @@ -24,6 +24,7 @@ #include <sfx2/sidebar/FocusManager.hxx> #include <sfx2/sidebar/SidebarController.hxx> +#include <comphelper/lok.hxx> #include <comphelper/processfactory.hxx> #include <o3tl/safeint.hxx> #include <vcl/commandevent.hxx> @@ -104,6 +105,10 @@ sal_Int32 TabBar::GetDefaultWidth() void TabBar::SetDecks(const ResourceManager::DeckContextDescriptorContainer& rDecks) { + // invisible with LOK, so keep empty to avoid invalidations + if (comphelper::LibreOfficeKit::isActive()) + return; + // Remove the current buttons. maItems.clear(); for (auto const& deck : rDecks) |