desktop/source/lib/init.cxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
New commits: commit beeeb3b8d5dcdee45d3fb2cb97f3def789db0f6a Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Tue Aug 8 06:49:04 2023 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Tue Aug 29 11:18:21 2023 +0200 jsdialog: detect special window id earlier Change-Id: Ib90d9d728d93a26d44a7f52b7ca0074338b1fae9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155853 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156235 Tested-by: Jenkins diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 86a32708e59b..21c47eacdfc7 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -4721,11 +4721,21 @@ static void lcl_sendDialogEvent(unsigned long long int nWindowId, const char* pA try { OUString sControlId = aMap["id"]; + OUString sWindowId = OUString::number(nWindowId); + OUString sCurrentShellId = OUString::number(nCurrentShellId); + + // special values for window id + if (nWindowId == static_cast<unsigned long long int>(-1)) + sWindowId = sCurrentShellId + "sidebar"; + if (nWindowId == static_cast<unsigned long long int>(-2)) + sWindowId = sCurrentShellId + "notebookbar"; + if (nWindowId == static_cast<unsigned long long int>(-3)) + sWindowId = sCurrentShellId + "formulabar"; // dialogs send own id but notebookbar and sidebar controls are remembered by SfxViewShell id - if (jsdialog::ExecuteAction(OUString::number(nWindowId), sControlId, aMap)) + if (jsdialog::ExecuteAction(sWindowId, sControlId, aMap)) return; - auto sCurrentShellId = OUString::number(nCurrentShellId); + if (jsdialog::ExecuteAction(sCurrentShellId + "sidebar", sControlId, aMap)) return; if (jsdialog::ExecuteAction(sCurrentShellId + "notebookbar", sControlId, aMap))