summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2020-09-23 10:59:44 -0400
committerHenry Castro <hcastro@collabora.com>2020-09-28 14:32:27 +0200
commit0a8be32f6130a4b84cd3f9ca70f6109dd78bf434 (patch)
tree5aa06aa77adfd09378ed03a516d8d88e725710d7 /sfx2/source
parent41f6f56c54277d3e1bb1c6fe84393b5abbc6731d (diff)
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@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com>
Diffstat (limited to 'sfx2/source')
-rw-r--r--sfx2/source/appl/app.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index 29162c725522..2bf0e9785555 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -73,6 +73,7 @@
#include <eventsupplier.hxx>
#include <sfx2/dockwin.hxx>
#include <shellimpl.hxx>
+#include <comphelper/lok.hxx>
#include <unotools/saveopt.hxx>
#include <svtools/helpopt.hxx>
@@ -296,7 +297,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();