summaryrefslogtreecommitdiff
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-10 10:13:39 +0200
commit19f2ded51c7b85d9e87fc2f11ddeb5874ed5ae85 (patch)
treeeb8dc07f8d5a48acec144dfddca08760b69b9577
parentb0bf7b57f7a311541631295411e9b504d493bc58 (diff)
tdf#92645 svx rendercontext: fix missing paint on shape text editing
Change-Id: Icb70805969ccf55bd85fb38c03cf70c1e0b16554 (cherry picked from commit 40ade8d04380083e383d6a6e50e5c254fcde2b2f)
-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;