diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2015-05-22 18:07:45 +0900 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2015-05-23 18:55:39 +0900 |
commit | 95ccc26ba71259be29fde8ba6b6f52ffbe5bd3c7 (patch) | |
tree | 76b20e4e1ba3845d5165ffcdfe8c877ae5ae029b /vcl | |
parent | 4f5fe008a3d5f0b5ddfa656299306cff9d57d802 (diff) |
call ApplySettings sooner when painting
Change-Id: I2ddd6a6b4ccfccc55f394d8a6851843ef2479fe3
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/window/paint.cxx | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx index af64a31acaa7..e220a37ecf70 100644 --- a/vcl/source/window/paint.cxx +++ b/vcl/source/window/paint.cxx @@ -228,7 +228,6 @@ void PaintHelper::DoPaint(const vcl::Region* pRegion) m_pBuffer->mnOutOffY = m_pWindow->GetOutOffYPixel() - m_pBuffer->mnOutOffY; m_pWindow->PushPaintHelper(this, *m_pWindow); - m_pWindow->ApplySettings(*m_pBuffer.get()); m_pWindow->Paint(*m_pBuffer.get(), m_aPaintRect); // restore the mnOutOffX/Y value @@ -239,7 +238,6 @@ void PaintHelper::DoPaint(const vcl::Region* pRegion) { // direct painting m_pWindow->PushPaintHelper(this, *m_pWindow); - m_pWindow->ApplySettings(*m_pWindow); m_pWindow->Paint(*m_pWindow, m_aPaintRect); } @@ -507,6 +505,11 @@ namespace vcl { void Window::ImplCallPaint(const VclPtr<VirtualDevice>& rBuffer, const vcl::Region* pRegion, sal_uInt16 nPaintFlags) { + if (rBuffer) + ApplySettings(*rBuffer.get()); + else + ApplySettings(*this); + // call PrePaint. PrePaint may add to the invalidate region as well as // other parameters used below. PrePaint(*this); @@ -697,7 +700,6 @@ void Window::ImplInvalidateParentFrameRegion( vcl::Region& rRegion ) void Window::ImplInvalidate( const vcl::Region* pRegion, sal_uInt16 nFlags ) { - // reset background storage if ( mpWindowImpl->mpFrameData->mpFirstBackWin ) ImplInvalidateAllOverlapBackgrounds(); @@ -1133,7 +1135,6 @@ vcl::Region Window::GetPaintRegion() const void Window::Invalidate( sal_uInt16 nFlags ) { - if ( !IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight ) return; @@ -1143,7 +1144,6 @@ void Window::Invalidate( sal_uInt16 nFlags ) void Window::Invalidate( const Rectangle& rRect, sal_uInt16 nFlags ) { - if ( !IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight ) return; @@ -1160,7 +1160,6 @@ void Window::Invalidate( const Rectangle& rRect, sal_uInt16 nFlags ) void Window::Invalidate( const vcl::Region& rRegion, sal_uInt16 nFlags ) { - if ( !IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight ) return; |