From 55feb670ca28e0a48ac82a65b5559598704d993e Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 20 Mar 2024 12:08:42 +0100 Subject: 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. Change-Id: I5b75c2987c230c6720181a1e95ae579727943235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165055 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- include/sfx2/sidebar/Sidebar.hxx | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/sfx2/sidebar') diff --git a/include/sfx2/sidebar/Sidebar.hxx b/include/sfx2/sidebar/Sidebar.hxx index f4d0c1cc9bcb..93212a8ed557 100644 --- a/include/sfx2/sidebar/Sidebar.hxx +++ b/include/sfx2/sidebar/Sidebar.hxx @@ -61,6 +61,8 @@ public: static bool IsPanelVisible( std::u16string_view rsPanelId, const css::uno::Reference& rxFrame); + + static bool Setup(std::u16string_view sidebarDeckId = u""); }; } // end of namespace sfx2::sidebar -- cgit