diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2024-03-20 12:08:42 +0100 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-03-21 15:54:25 +0100 |
commit | ccc5f1cdcb11f6b6c5e54f1e4dd00b9c6771d077 (patch) | |
tree | 8294bca3f7d9fc225578abbdda126f7abdb5dfb8 /include | |
parent | f0748eae8a4a64c84aa5aca69b10688d330f93eb (diff) |
cool#8278 sfx2 lok: fix unexpected non-json sidebar status update
Open an Impress document via LOK, open the slide layout sidebar, click
the toggle icon so it gets closed: the toggle icon will signal that the
sidebar is open, when it's closed already.
This is a regression from commit
aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set
language/locale on async sidebar update, 2024-01-11), previously we
always emitted LOK_CALLBACK_STATE_CHANGED callbacks with plain text
payloads for the sidebar, where the locale with implicit (with all its
issues), but the above scenario worked fine.
Fix the problem by making SidebarController::disposeDecks() consistent
with SwitchToDeck(), so now we always emit JSON payloads for the sidebar
deck changes.
An alternative would be to improve the code around extractUnoCommand()
in online.git to handle a mix of plain text and JSON payloads, but the
plain text payload is tricky to extend, so using more JSON payloads
sounds like a better fix.
(cherry picked from commit 55feb670ca28e0a48ac82a65b5559598704d993e)
Conflicts:
desktop/source/lib/init.cxx
sd/qa/unit/tiledrendering/tiledrendering.cxx
sfx2/source/sidebar/SidebarController.cxx
Change-Id: I5b75c2987c230c6720181a1e95ae579727943235
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165101
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/sidebar/Sidebar.hxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sfx2/sidebar/Sidebar.hxx b/include/sfx2/sidebar/Sidebar.hxx index 2520a80a4be4..c3ec9b8d40ac 100644 --- a/include/sfx2/sidebar/Sidebar.hxx +++ b/include/sfx2/sidebar/Sidebar.hxx @@ -60,6 +60,8 @@ public: static bool IsPanelVisible( std::u16string_view rsPanelId, const css::uno::Reference<css::frame::XFrame>& rxFrame); + + static bool Setup(std::u16string_view sidebarDeckId = u""); }; } // end of namespace sfx2::sidebar |