From 80e187b58a2def63f8e779214adff3cf64294c8d Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Wed, 19 Sep 2012 00:55:57 +0000 Subject: #120999# Added support code in SdrDragObjOwn::MoveSdrDrag to rescue the changed AutoGrowWidth setting to allow instantaneous resizing of AutoGrowWidth objects even when using a cloned SdrObject for the UI interaction --- svx/source/svdraw/svddrgmt.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'svx/source') diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx index 3dad38236e2a..2b2e061777a4 100644 --- a/svx/source/svdraw/svddrgmt.cxx +++ b/svx/source/svdraw/svddrgmt.cxx @@ -1233,6 +1233,19 @@ void SdrDragObjOwn::MoveSdrDrag(const Point& rNoSnapPnt) { mpClone = pObj->getFullDragClone(); mpClone->applySpecialDrag(DragStat()); + + // #120999# AutoGrowWidth may change for SdrTextObj due to the automatism used + // with bDisableAutoWidthOnDragging, so not only geometry changes but + // also this (pretty indirect) property change is possible. If it gets + // changed, it needs to be copied to the original since nothing will + // happen when it only changes in the drag clone + const bool bOldAutoGrowWidth(((SdrTextAutoGrowWidthItem&)pObj->GetMergedItem(SDRATTR_TEXT_AUTOGROWWIDTH)).GetValue()); + const bool bNewAutoGrowWidth(((SdrTextAutoGrowWidthItem&)mpClone->GetMergedItem(SDRATTR_TEXT_AUTOGROWWIDTH)).GetValue()); + + if(bOldAutoGrowWidth != bNewAutoGrowWidth) + { + GetDragObj()->SetMergedItem(SdrTextAutoGrowWidthItem(bNewAutoGrowWidth)); + } } Show(); -- cgit