summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-07-09 17:02:09 +0200
committerAndras Timar <andras.timar@collabora.com>2015-08-06 12:56:02 +0200
commit4c38ecdc90232806f9ffcf518101d02a2df6e58a (patch)
tree710e2fae110ae1c186ff9ab40cb3bfcf05d84074 /svx
parent10b86797fb6c792d58edea0e955772a8e532f2ed (diff)
tdf#92645 svx rendercontext: fix missing paint on shape text editing
Change-Id: Icb70805969ccf55bd85fb38c03cf70c1e0b16554 (cherry picked from commit 40ade8d04380083e383d6a6e50e5c254fcde2b2f)
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdedxv.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 14555581a327..7d517e2c4003 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -308,7 +308,12 @@ void SdrObjEditView::TextEditDrawing(SdrPaintWindow& rPaintWindow) const
{
OutlinerView* pOLV = pActiveOutliner->GetView(i);
- if(pOLV->GetWindow() == &rPaintWindow.GetOutputDevice() || GetModel()->isTiledRendering())
+ // If rPaintWindow knows that the output device is a render
+ // context and is aware of the underlying vcl::Window,
+ // compare against that; that's how double-buffering can
+ // still find the matching OutlinerView.
+ OutputDevice* pOutputDevice = rPaintWindow.GetWindow() ? rPaintWindow.GetWindow() : &rPaintWindow.GetOutputDevice();
+ if(pOLV->GetWindow() == pOutputDevice || GetModel()->isTiledRendering())
{
ImpPaintOutlinerView(*pOLV, aCheckRect, rPaintWindow.GetTargetOutputDevice());
return;