From 4c38ecdc90232806f9ffcf518101d02a2df6e58a Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 9 Jul 2015 17:02:09 +0200 Subject: tdf#92645 svx rendercontext: fix missing paint on shape text editing Change-Id: Icb70805969ccf55bd85fb38c03cf70c1e0b16554 (cherry picked from commit 40ade8d04380083e383d6a6e50e5c254fcde2b2f) --- svx/source/svdraw/svdedxv.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'svx') 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; -- cgit