summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2009-12-02 17:20:50 +0100
committerKurt Zenker <kz@openoffice.org>2009-12-02 17:20:50 +0100
commit27a44ea7b53b055ca861e7bec2698e2f14933098 (patch)
treebf055cd61a01d96891c6a976789ca0f2d035ab3d /svx/source
parente0ce4fe26103b26bc139df55ee1ca0a09bf910ac (diff)
parent399c758fd565fa692bf34eb542121827d5ad0f98 (diff)
CWS-TOOLING: integrate CWS ooo32gsl03_DEV300
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx8
-rw-r--r--svx/source/svdraw/svdpage.cxx8
2 files changed, 12 insertions, 4 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index e72b606f3b53..934b0f78ca3e 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -818,15 +818,16 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
{
// cell text is formated neither like a text object nor like a object
// text, so use a special setup here
+ // #i106214# To work with an unchangeable PaperSize (CellSize in
+ // this case) Set(Min|Max)AutoPaperSize and SetPaperSize have to be used
rOutliner.SetMaxAutoPaperSize(aAnchorTextSize);
+ rOutliner.SetMinAutoPaperSize(aAnchorTextSize);
rOutliner.SetPaperSize(aAnchorTextSize);
rOutliner.SetUpdateMode(true);
rOutliner.SetText(rSdrBlockTextPrimitive.getOutlinerParaObject());
- rOutliner.SetControlWord(nOriginalControlWord);
}
else
{
-
if((rSdrBlockTextPrimitive.getWordWrap() || IsTextFrame()) && !rSdrBlockTextPrimitive.getUnlimitedPage())
{
// #i103454# maximal paper size hor/ver needs to be limited to text
@@ -854,9 +855,10 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
rOutliner.SetPaperSize(aNullSize);
rOutliner.SetUpdateMode(true);
rOutliner.SetText(rSdrBlockTextPrimitive.getOutlinerParaObject());
- rOutliner.SetControlWord(nOriginalControlWord);
}
+ rOutliner.SetControlWord(nOriginalControlWord);
+
// now get back the layouted text size from outliner
const Size aOutlinerTextSiz(rOutliner.GetPaperSize());
const basegfx::B2DVector aOutlinerScale(aOutlinerTextSiz.Width(), aOutlinerTextSiz.Height());
diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx
index 05b5b5e5aca6..55e0347e6522 100644
--- a/svx/source/svdraw/svdpage.cxx
+++ b/svx/source/svdraw/svdpage.cxx
@@ -671,7 +671,13 @@ const Rectangle& SdrObjList::GetAllObjSnapRect() const
const Rectangle& SdrObjList::GetAllObjBoundRect() const
{
- if (bRectsDirty) {
+ // #i106183# for deep group hierarchies like in chart2, the invalidates
+ // through the hierarchy are not correct; use a 2nd hint for the needed
+ // recalculation. Future versions will have no bool flag at all, but
+ // just aOutRect in empty state to representate an invalid state, thus
+ // it's a step in the right direction.
+ if (bRectsDirty || aOutRect.IsEmpty())
+ {
((SdrObjList*)this)->RecalcRects();
((SdrObjList*)this)->bRectsDirty=FALSE;
}