sc/source/ui/inc/tabview.hxx   |    2 ++
 sc/source/ui/view/tabview2.cxx |    9 +++++++++
 svx/source/svdraw/svdpntv.cxx  |    2 +-
 3 files changed, 12 insertions(+), 1 deletion(-)

New commits:
commit 5a4fa04d9b161cdfc6d77f942aa38b8a73d025e8
Author:     Szymon Kłos <[email protected]>
AuthorDate: Tue Feb 14 10:50:46 2023 +0100
Commit:     Szymon Kłos <[email protected]>
CommitDate: Fri Apr 14 09:06:56 2023 +0200

    lok: draw textboxes under edit
    
    This fixes bug in impress:
    - open in 2 views
    - start editing textbox in 2. view on 2. slide
    - start editing textbox in 1. view on 1. slide
    Result: slide 2 textbox was dissapearing
    
    We need to allow drawing textboxes edited by other views
    so if we select non-editor for rendering we will see the
    full content.
    
    It was regression from
    commit e496b55a592caf0ca07f5477285a72d50cee6501
    lok: masterpage: don't render text edits from different mode
    
    Change-Id: I7645496aec77d11d16621129dd6644d3b54a6010
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146999
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Henry Castro <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150096
    Tested-by: Szymon Kłos <[email protected]>
    Reviewed-by: Szymon Kłos <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150348
    Tested-by: Jenkins

diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index c9a0df5291e9..825129b716b5 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -645,7 +645,7 @@ void SdrPaintView::EndCompleteRedraw(SdrPaintWindow& 
rPaintWindow, bool bPaintFo
                 static_cast< SdrView* >(this)->TextEditDrawing(rPaintWindow);
         }
 
-        if (comphelper::LibreOfficeKit::isActive() && mbPaintTextEdit && 
pPageView)
+        if (comphelper::LibreOfficeKit::isActive() && pPageView)
         {
             // Look for active text edits in other views showing the same page,
             // and show them as well. Show only if Page/MasterPage mode is 
matching.
commit 6c62b5a994b9045d1d7228fef655be1a8d3b5452
Author:     Szymon Kłos <[email protected]>
AuthorDate: Fri Feb 17 10:47:53 2023 +0100
Commit:     Szymon Kłos <[email protected]>
CommitDate: Fri Apr 14 09:06:47 2023 +0200

    lok: setup LOK notifier for invalid range error
    
    Change-Id: I63fc6fcdec873a9d0c8d54dd6a6f3783f2c15251
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147200
    Reviewed-by: Henry Castro <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150043
    Tested-by: Szymon Kłos <[email protected]>
    Reviewed-by: Szymon Kłos <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150347

diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index ca3918aae325..3f270770ec89 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -260,6 +260,8 @@ private:
 
     void            SetZoomPercentFromCommand(sal_uInt16 nZoomPercent);
 
+    DECL_STATIC_LINK(ScTabView, InstallLOKNotifierHdl, void*, 
vcl::ILibreOfficeKitNotifier*);
+
 protected:
     void            UpdateHeaderWidth( const ScVSplitPos* pWhich = nullptr,
                                         const SCROW* pPosY = nullptr );
diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx
index 400ea89b6106..6b1cfef156f7 100644
--- a/sc/source/ui/view/tabview2.cxx
+++ b/sc/source/ui/view/tabview2.cxx
@@ -1443,6 +1443,11 @@ void ScTabView::MakeDrawLayer()
     }
 }
 
+IMPL_STATIC_LINK_NOARG(ScTabView, InstallLOKNotifierHdl, void*, 
vcl::ILibreOfficeKitNotifier*)
+{
+    return GetpApp();
+}
+
 void ScTabView::ErrorMessage(TranslateId pGlobStrId)
 {
     if ( SC_MOD()->IsInExecuteDrop() )
@@ -1468,6 +1473,10 @@ void ScTabView::ErrorMessage(TranslateId pGlobStrId)
     m_xMessageBox.reset(Application::CreateMessageDialog(pParent,
                                                          VclMessageType::Info, 
VclButtonsType::Ok,
                                                          ScResId(pGlobStrId)));
+
+    if (comphelper::LibreOfficeKit::isActive())
+        m_xMessageBox->SetInstallLOKNotifierHdl(LINK(this, ScTabView, 
InstallLOKNotifierHdl));
+
     weld::Window* pGrabOnClose = bFocus ? pParent : nullptr;
     m_xMessageBox->runAsync(m_xMessageBox, [this, pGrabOnClose](sal_Int32 
/*nResult*/) {
         m_xMessageBox.reset();

Reply via email to