Apache OpenOffice (AOO) Bugzilla – Issue 63383
callouts copy icorrectly from Draw to Writer
Last modified: 2017-05-20 11:17:57 UTC
When copying a drawing from Draw to Writer the connector part any callouts get messed up. They end up pointing somewhere different than they pointed when in Draw. I copy by selecting the object in Draw, hitting Ctl-C, then pasting in my document in Writer. Everything else copies fine. Easily reproduced with one simple callout.
Created attachment 35053 [details] 7zip of 2 files (odg and odt) showing problem.
Reassigned to ES.
Please attach the source (Draw) document. Which kind of object did you use to get a callout? The so called "callout" shape or a composition of rectangle and lines?
Created attachment 35080 [details] sample callout in odg file
Sorry, I thought I had attached a 7zip with both source (odg) and destination (odt) files. Anyway, both are now attached. You can see how the pointer part of the callout gets messed up. This occurs with more than one type of callout, not sure if it occurs with all. And it seems to occur more easily (only?) when there is more than one object in the drawing. Thanks for checking into this. Let me know if you need anything other info or tests.
ES->OD: Reproduced on Linux too. Works without problem from Draw to Calc. Broken since OOo 2.0.1 (worked in OOo 2.0). Thus targetting first to 2.0.3
retarget to OOo 2.x, because deadline of OOo 2.0.3 missed.
*** Issue 68995 has been marked as a duplicate of this issue. ***
I checked with "2.3.0 Dev. Snapshot WIN XP: [680m222(Build9183)]", still visible. After A first TM "2.0.3" "2.x" seems a little too far away?
according to release status meeting -> 3.x
W.O.W. 5 years soon... The users should be warned that OO Draw and OO Writer are not compatible beforehand! Hell, the number of such little bugs leaves only 'paste as bitmap' option for Draw drawings into Writer, this is so pitiful.
The aP2 in SwWW8ImplReader::ReadCaptionBox seems to be calculated incorrectly, some components are added twice. I'll try to fix it and post a patch, if I manage to finish the OO build (it lasts about 6 hours now for debug mode) :(
The whole WW8 component seems to concern importing Word objects, so sorry for wrong lead. What I noticed, when draw object group gets pasted into writer, it gets resized (source units MAP_100TH_MM, destination units MAP_TWIP, result in resize factor 72/127). Now get back to draw, select both object in draw and resize it to be around 2 times smaller. You get exactly the same picture as what you get in write after paste! So I would conclude the issue is either bug, or intended [mis?]feature, in draw. Somehow the first point of callout is immune to group resize (and the last scales not well). If somebody has just slapped the forehead (ou, it's not a bug, it's a feature), please share your knowledge :)
The SdrObjCustomShape::GetInteractionHandles() fixes the shape interaction for first and third point (the callout type in testcase is mso_sptBorderCallout2, 'i' is point number): case mso_sptBorderCallout2 : // 3 { if ( !i ) nMode |= CUSTOMSHAPE_HANDLE_RESIZE_FIXED | CUSTOMSHAPE_HANDLE_CREATE_FIXED; else if ( i == 2 ) nMode |= CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X | CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y | CUSTOMSHAPE_HANDLE_MOVE_SHAPE; } Obviously this is made intentionally for other reasons I don't know of, so fixing the problem report requires some serious consideration, maybe redesign in how to handle callout points. I think, being complete noob in OO development, I won't be able to propose any safe solution, but at least I could deliver some analysis...
Reset assigne to the default "issues@openoffice.apache.org".