[Libreoffice] [REVIEW][3-5] sequence of unfortunate writer ole object in headers problems

Fridrich Strba fridrich.strba at graduateinstitute.ch
Thu Jan 5 01:58:19 PST 2012


+1 from me too.

BTW, I discovered some problems with ole objects in draw documents when 
importing ole objects included in Visio files. I would not mind to have 
a quick brainstorming when I am back from holiday. The next libvisio 
will output those objects and projects linking with system libvisio 
might see those bugs.

Cheers

Fridrich

On 05/01/12 10:45, Caolán McNamara wrote:
> So https://bugs.freedesktop.org/show_bug.cgi?id=43867 is a most annoying
> bug with a crash on mailmerging documents that contain ole objects in
> headers. I'd like to get the following into 3-5.
>
> Immediate crash is fixed by
> http://cgit.freedesktop.org/libreoffice/core/commit/?id=7dc25878c1310a1de6d3c87c88404b151bad21fc
> where we previously acquired/released the document around the insertion
> of content into it, but not around inserting styles, but page styles can
> contain headers/footers with arbitrary content, so if we need to acquire
> before inserting content, we need to acquire before inserting page
> styles.
>
> object preview is still missing from headers though,
> http://cgit.freedesktop.org/libreoffice/core/commit/?id=ef17be8b006737c078a59635ae334a03301727ea
> fixes a series of apparent errors
>
> 1. FN_UNO_REPLACEMENT_GRAPHIC_URL and FN_UNO_GRAPHIC have the same id in
> writer, so "replacement graphic urls" fall into the same case statement
> as "replacement graphics", which they aren't. These random ids are *so*
> fragile, we need something better here in general.
> 2. The replacement graphic is set with...
> svt::EmbeddedObjectRef xObj = pOleNode->GetOLEObj().GetObject();
> xObj.SetGraphic( aGraphic, aMediaType );
> but the x of xObj and the name "EmbeddedObjectRef" are misleading, its
> not a reference class, so we're setting the replacement graphic onto a
> temporary copy of the object. EmbeddedObjectRef is a poor class name, we
> should change that.
> 3. SvXMLGraphicHelper::ImplGetStreamNames doesn't know how to
> split ./ObjectReplacements/foo in order to find the preview but
> SvXMLEmbeddedObjectHelper::ImplGetStorageNames does, so factored out
> better splitter and shared it
>
> C.
>
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice


-- 
Please avoid sending me Word, Excel or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html


More information about the LibreOffice mailing list