openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Armin Le Grand <>
Subject Re: [PATCH] Fix for #118485#, #108221#, #67705#
Date Thu, 27 Oct 2011 14:28:24 GMT
	Hi Regina,

On 25.10.2011 18:33, Regina Henschel wrote:
> Hi Armin,
> Armin Le Grand schrieb:
> [..]
>> I checked all changes again and added the patch to #118485#. Now I'm
>> looking for someone volunteering to add the patch, build AOOo and play
>> around with OLEs a little bit, reading the patch will also help in this
>> case, it's not too big to do so.
> I did some further tests.

Good, go ahead :-)

Have You checked the converters? It's even possible to convert charts 
directly to Sdr-3D-Objects (but not nice) :-) You can directly substract 
e.g. an ellipse from a chart, too.

In activated mode there should be no rot/shear and no green handles 
anymore (was an error anyways, modifying these while the OLE was 
activated leaded to unpredictable errors). Changing dimensions of the 
activated OLE will adapt to the centered OLE after deactivation as needed.

> I have taken some older documents, where the transformations are done
> via matrix (you know them). Chart and Math-Formulas behave now the same
> way as simple drawing objects. So that is OK.

Good, thanks for checking.

> OOo sxd-documents are converted fine, the fill style and the line style
> is corrected to NONE.

Yes, all OOo < 3.4 are corrected at load time. In ODF, no attributes for 
fill and line are set, so the default blue8/hairline is what is defined 
in the ODF, just because it was not set to none in the OLE constructors. 
I added that for OOo 3.3 but it failed since ODF export goes over UNO 
API and fill/line was not allowed for OLEs (which I also changed now).

>> The change looks big, but it touches no too critical parts. It is also
>> necessary to bring it in AOOo3.4, this change relies on a version change
>> (here: 3.3 to 3.4) to be able to correct files written by OOo up to 3.3
>> (and only those).
>> Some background: The root problem here was that older versions straight
>> ignored attributes set at OLE objects by just not painting them. This
>> means that in files generated the attributes are written and in plain
>> ODF OLEs are filled default (blue8) and have line on default (black
>> hairline).
> Documents made with LibreOffice are not converted. The background is
> blue and the line black. Is a solution possible inside AOOo? Should it
> be done?

Source of this is that LO already has 3.4 version and the correction 
would have to be done for LO <= 3.4, plus writing OLEs with LINE_NONE 
and FILL_NONE if set (activating LineProperties/FillProperties for OLEs 
in LO, too). I'm already in contact with Thorsten and we are working on 
a solution for both together. I need to check if LO files can be 
detected and it looks like being possible. ODF exchange is very 
important for all of us, so there should be a correction in AOO at 
LO-created-file load time and mentioned corrections in LO, too.

As described above, seen from ODF, OLEs are actually blue8 and hairline, 
so technically it's correctly displayed. Some other product using ODF 
FileFormat may have written such files where the OLEs are actually blue8 
and hairline, so correction can only be done for known cases, e.g. OOo < 
3.4 and LO <= 3.4 where we know for sure that the error was that the old 
paints just ignored LineStyle/FillStyle.

I'm working on it with Thorsten, it's solvable...

> I have written a Basic macro to set the background and line style to
> NONE. Developing it I have noticed, that the Math-objects do not support
> the services LineProperties and FillProperties. But I can set the single
> properties 'LineStyle' and 'FillStyle' and Xray lists all the other
> properties. So shouldn't they support these services?

Not sure. StarMath is a regular OLE, so it should support LineProperties 
and FillProperties. But not inside StarMath itself, it's supported in 
the SdrObject containing the StarMath. There may be exceptions in the 
old code for StarMath. It's also possible that You used it in Writer 
which has it's own OLE implementation and does not (yet) support those 
new features...?

>> Questions/Comments are welcome,
>> Armin
> Kind regards
> Regina


View raw message