[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sfx2/source

Henry Castro (via logerrit) logerrit at kemper.freedesktop.org
Mon Oct 5 15:11:04 UTC 2020


 sfx2/source/appl/app.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 0566520049f561bc1e222ed78a3dc84214f65ff3
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Wed Sep 23 10:59:44 2020 -0400
Commit:     Henry Castro <hcastro at collabora.com>
CommitDate: Mon Oct 5 17:10:30 2020 +0200

    lok: sidebar: avoid deactivation when the sidebar is painting
    
    When two views (SfxViewFrame) get activated and deactivated
    frequently when one view grab the focus and lose focus (respectively),
    in multiple user this is not true, both users have the view
    active at the same time.
    
    The patch removes the overhead when painting a sidebar window
    to avoid unnecessary deactivation.
    
    Change-Id: Ica5837c9f2eda5db1bee69ec2297e54c4845d467
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103263
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Henry Castro <hcastro at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103550

diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index 33750b95b4ca..d240b6acecec 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -74,6 +74,7 @@
 #include <eventsupplier.hxx>
 #include <sfx2/dockwin.hxx>
 #include <shellimpl.hxx>
+#include <comphelper/lok.hxx>
 
 #include <unotools/saveopt.hxx>
 #include <svtools/helpopt.hxx>
@@ -295,7 +296,9 @@ void SfxApplication::SetViewFrame_Impl( SfxViewFrame *pFrame )
         {
             if ( bTaskActivate )
                 NotifyEvent( SfxViewEventHint( SfxEventHintId::DeactivateDoc, GlobalEventConfig::GetEventName(GlobalEventId::DEACTIVATEDOC), pOldFrame->GetObjectShell(), pOldFrame->GetFrame().GetController() ) );
-            pOldFrame->DoDeactivate( bTaskActivate, pFrame );
+
+            if ( !comphelper::LibreOfficeKit::isDialogPainting() )
+                pOldFrame->DoDeactivate( bTaskActivate, pFrame );
 
             if( pOldFrame->GetProgress() )
                 pOldFrame->GetProgress()->Suspend();


More information about the Libreoffice-commits mailing list