diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-03-25 17:21:35 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2021-03-29 14:43:49 +0200 |
commit | ec90261c6568476c0eb039d7f2e4af75a535baf2 (patch) | |
tree | 4243e1905c2616ef0ca84fade0a262d9fad6b98b /desktop | |
parent | f34eac66e64a416739c36aa996c90ea1869b9f0d (diff) |
impress: don't exit textbox editing when new slide was added
When new slide is added by other user before currently visible slide
then SwitchPage is called and textbox editing is ended.
Avoid any focus change when setPart is called just for rendering
or SwitchPage is used on previously avtive slide (only slide numer changed).
Change-Id: I7fef42b863e0079acc84dadfc3f891548652b48f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113144
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/lib/init.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 8c484bfa8897..5ac2212f211b 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -2981,7 +2981,7 @@ static int doc_getPart (LibreOfficeKitDocument* pThis) return pDoc->getPart(); } -static void doc_setPart(LibreOfficeKitDocument* pThis, int nPart) +static void doc_setPartImpl(LibreOfficeKitDocument* pThis, int nPart, bool bAllowChangeFocus = true) { comphelper::ProfileZone aZone("doc_setPart"); @@ -2995,7 +2995,12 @@ static void doc_setPart(LibreOfficeKitDocument* pThis, int nPart) return; } - pDoc->setPart( nPart ); + pDoc->setPart( nPart, bAllowChangeFocus ); +} + +static void doc_setPart(LibreOfficeKitDocument* pThis, int nPart) +{ + doc_setPartImpl(pThis, nPart, true); } static char* doc_getPartInfo(LibreOfficeKitDocument* pThis, int nPart) @@ -3310,7 +3315,7 @@ static void doc_paintPartTile(LibreOfficeKitDocument* pThis, nOrigPart = doc_getPart(pThis); if (nPart != nOrigPart) { - doc_setPart(pThis, nPart); + doc_setPartImpl(pThis, nPart, false); } } @@ -3318,7 +3323,7 @@ static void doc_paintPartTile(LibreOfficeKitDocument* pThis, if (!isText && nPart != nOrigPart) { - doc_setPart(pThis, nOrigPart); + doc_setPartImpl(pThis, nOrigPart, false); } if (!isText && nViewId != nOrigViewId) { |