To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=101648





------- Additional comments from [email protected] Fri Jun 12 14:33:42 +0000 
2009 -------
AW: The method SW is using to create frames interactively is pretty weird. It
uses the standard SdrCreateView::BegCreateObj call, but it uses
GetDrawView()->SetCurrentObj( eSdrObjectKind ) in SwFEShell::BeginCreate to use
a eSdrObjectKind of OBJ_NONE (== 0). This creates and manipulates a naked
(non-derived) SdrObject.
A naked SdrObject is not a good idea to use, it has by definition no SfxItemSet
(no properties) and only a rectangle (the aOutRect member is 're-used' for this,
normally holding the BoundRect).
But it must have worked, so i will make it work again. The base implementations
for interactive create
(SdrObject::BegCreate/MovCreate/EndCreate/BrkCreate/BckCreate/TakeCreatePoly/GetCreatePointer)
manipulate aOutRect directly. This is disturbed by also clearing this rectangle
by using SetBoundRectDirty()/SetRectsDirty(). This again was changed by me;
before, there was an extra bool to mark the rectangles (including aOutRect) as
invalid withut resetting them, i use aOutRect.IsEmpty() instead now. The old
base-impl of rect recalculations simply resetted the flag, so aOutRect survived
(by chance...?).
To make the interactive create work again i have to remove the
SetBoundRectDirty()/SetRectsDirty() calls and the bSnapRectDirty=TRUE (makes no
sense here). This makes the positioning work again.
The visualisation needs some hint that no FullDrag shall be used for this mode
(else a naked SdrObject will be asked for it's visualisation which gives the
yellow fallback rectangle that can be seen). To do so, i will use the OBJ_NONE
type identification in SdrCreateView::ShowCreateObj to switch off FullDrag.
These steps together make the interactive frame creation work again.

Doing some more checks...

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to