diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2017-08-15 08:23:31 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2017-08-22 15:01:41 +0200 |
commit | 33b094a8949c34756c593bfad52450ec2b7daa54 (patch) | |
tree | 1d3928d6c0227527e8269d8d19605c825f4b5eef /vcl/osx/salframeview.mm | |
parent | e4000dbe27ba65146854f02c9affb45e22f6639f (diff) |
OSX fix updates during resize
While resizing MacOS suspends the NSDefaultRunLoopMode. So in this
caae we can't post to the system event loop, but must use timers
to restart ourself.
Since the timer itself is scheduled on the NSEventTrackingRunLoopMode
it' also triggers on resize events.
There is still some minor glitch: when resizing too fast some part of
LibreOffice isn't painted, while the left mouse button is down.
Since there isn't any layouting triggered by the mouse up, there has
to be an other inconsistency.
Change-Id: I3ccba78bd23ec8526f21e7b93b027f3d3279f901
Diffstat (limited to 'vcl/osx/salframeview.mm')
-rw-r--r-- | vcl/osx/salframeview.mm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm index e290891ce294..a20f3b7a6e5a 100644 --- a/vcl/osx/salframeview.mm +++ b/vcl/osx/salframeview.mm @@ -533,6 +533,17 @@ private: -(void)drawRect: (NSRect)aRect { + if( GetSalData()->mpFirstInstance ) + { + const bool bIsLiveResize = [self inLiveResize]; + const bool bWasLiveResize = GetSalData()->mpFirstInstance->mbIsLiveResize; + if ( bWasLiveResize != bIsLiveResize ) + { + GetSalData()->mpFirstInstance->mbIsLiveResize = bIsLiveResize; + Scheduler::ProcessTaskScheduling(); + } + } + // HOTFIX: #i93512# prevent deadlocks if any other thread already has the SalYieldMutex TryGuard aTryGuard; if( !aTryGuard.IsGuarded() ) |