summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-05-22 18:07:45 +0900
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-05-23 18:55:39 +0900
commit95ccc26ba71259be29fde8ba6b6f52ffbe5bd3c7 (patch)
tree76b20e4e1ba3845d5165ffcdfe8c877ae5ae029b /vcl
parent4f5fe008a3d5f0b5ddfa656299306cff9d57d802 (diff)
call ApplySettings sooner when painting
Change-Id: I2ddd6a6b4ccfccc55f394d8a6851843ef2479fe3
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/paint.cxx11
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;