summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-07-09 17:02:09 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-07-09 17:04:27 +0200
commit40ade8d04380083e383d6a6e50e5c254fcde2b2f (patch)
tree1e1353ed146dc4a6bc259537490ad29ed4ef7575 /svx
parent9a11e59e5699c5eb0854355d3dd3848bc895545c (diff)
tdf#92645 svx rendercontext: fix missing paint on shape text editing
Change-Id: Icb70805969ccf55bd85fb38c03cf70c1e0b16554
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 f9a98d9b1323..f577522e4066 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;