diff options
author | Jan Holesovsky <kendy@collabora.com> | 2015-04-01 17:48:29 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-07 09:18:11 +0200 |
commit | 06a1cbf7b0055fe45c86409b736cdd669a3f7ba9 (patch) | |
tree | c56e830e7021312f8fcaf5ea13fbab3f493a7e83 /svx | |
parent | d351344bbae3144aebcaebd309906ddefa7f4c43 (diff) |
sc tiled editing: Make the editing of text in shapes in Calc work.
I suspect the change in svdedxv.cxx is a hack and that the root cause is that
we should initialize the pDrawView somehow more / better wrt. the output
device that we are passing to BeginDrawLayers. [Probably the
AddPaintWindowToPageView() called in ScGridWindow::PaintTile() is not enough.]
But otherwise this makes the situation much better, and also makes the code
even more on par with the non-tiled-rendering case, so let's live with that
for now.
Change-Id: I347b0af9e21acacc9aff4ebb7155246abd3beb43
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdedxv.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx index 65a457f51e51..367cd8fbedea 100644 --- a/svx/source/svdraw/svdedxv.cxx +++ b/svx/source/svdraw/svdedxv.cxx @@ -328,7 +328,15 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectang Rectangle aBlankRect(rOutlView.GetOutputArea()); aBlankRect.Union(aMinTextEditArea); Rectangle aPixRect(rTargetDevice.LogicToPixel(aBlankRect)); - aBlankRect.Intersection(rRect); + + // in the tiled rendering case, the setup is incomplete, and we very + // easily get an empty rRect on input - that will cause that everything is + // clipped; happens in case of editing text inside a shape in Calc. + // FIXME would be better to complete the setup so that we don't get an + // empty rRect here + if (!GetModel()->isTiledRendering() || !rRect.IsEmpty()) + aBlankRect.Intersection(rRect); + rOutlView.GetOutliner()->SetUpdateMode(true); // Bugfix #22596# rOutlView.Paint(aBlankRect, &rTargetDevice); |