Apache OpenOffice (AOO) Bugzilla – Issue 109127
API: measure line react wrong on rotate and resizing matrix
Last modified: 2020-11-15 19:14:32 UTC
The attached document contains the macro “Change Shape via Matrix”. It reads the property “Transformation” from the selected shape, multiplies it with the matrix (1 -1 0 1 1 0 0 0 1) (read row wise) and writes the result back to the property. When applying the macro, the shape should perform a 45°-rotation and enlarge with factor sqrt(2). So when applying the macro twice you get a shape, which is rotated with 90° and has double size. Set a break point in the macro “Examine shape” and watch the object “oShape” to see this property. Open the attached document and select the measure line. Apply the macro several times. Watch that the measure line rotates and resizes one time, but then no more.
Created attachment 67738 [details] test document with a macro to rotate and resize
Reproducible. Reassigned.
Reset assigne to the default "issues@openoffice.apache.org".
It seems to be an implementation error in TRSetBaseGeometry and TRGetBaseGeometry, done in bug 97878. The intension was, to handle the matrix operations same as path objects. But for that purpose the second parameter is missing. Currently the matrix is applied to a line from (0|0) to (1|0) in TRSetBaseGeometry, but the matrix from TRGetBaseGeometry does only contain scale and translate. Thus a chain of these matrix operations does not work.