Created attachment 142698 [details] sample file Steps to reproduce: 1. Open attached document Observed behaviour: all textboxes have an incorrect height. See attached screenshot. Reproduced in Version: 6.2.0.0.alpha0+ Build ID: 4c6e11886a9d396bf7be18e9e3209a73c6e303ad CPU threads: 4; OS: Linux 4.13; UI render: default; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); Calc: group threaded [Bug found by office-interoperability-tools]
Created attachment 142699 [details] comparison MSO 2010 and LibreOffice 6.2
Regression introduced by: author Armin Le Grand <Armin.Le.Grand@cib.de> 2018-04-16 22:34:50 +0200 committer Armin Le Grand <Armin.Le.Grand@cib.de> 2018-05-25 12:31:32 +0200 commit 4b4942224b550235da228655677b5c068a053254 (patch) tree a660a04a1f7a3eee910da780ece271d68942201d parent f8edef392245c292398a80f6a858ca19f32df9c3 (diff) SOSAW080: Derive SdrObjGroup from SdrObjList Bisected with: Adding Cc: to Armin Le Grand
Created attachment 142700 [details] sample 2 another file affected by the same problem
Confirmed. Just wondering about the Shapes imported. It *seems* to be a GroupObject containing DrawObjects, but in context menu 'Group' commands are not allowed. To do anything with these I have to copy/paste them to Draw, can ungroup there. Can then select a single one and use context menu 'Text...' to get some values about text frame formatting of the draw object (seems to have to do with text formatting). When doing the same with libreoffice-6-0 (alaso no active 'group' commands, copy/pasting to draw, ungrouping, selecting one object) and looking at the values I get exactly the same settings - VERY strange. Thus it might have to do with 'internal' flags/settings which have no representation at UI and are only used for *.doc imports like here. To find that I will have to debug step-by-step the import of such a DrawObject. Thus: - How was the example created? - Is there a more simple one with e.g. a single such DrawObject? - Is there a way to create a bugdoc with minimal content (step-by-step)? That would make looking into much easier.
> To find that I will have to debug step-by-step the import of such a > DrawObject. Thus: > > - How was the example created? > - Is there a more simple one with e.g. a single such DrawObject? > - Is there a way to create a bugdoc with minimal content (step-by-step)? > > That would make looking into much easier. Hi Armin, I've tried to recreate how the document were created with MSO 2010 but I couldn't find the way to do it. The document attached were extracted from different bug-trackers by the office-interoperability-tools scripts. @Regina, I thought this issue could be of interested to you
(In reply to Xisco Faulí from comment #5) > @Regina, I thought this issue could be of interested to you But I do not really no the Word formats. Nevertheless, I have a little bit investigated. (In reply to Armin Le Grand (CIB) from comment #4) > Confirmed. > > Just wondering about the Shapes imported. It *seems* to be a GroupObject > containing DrawObjects, but in context menu 'Group' commands are not allowed. That is a bug in LibreOffice, inherited from OpenOffice.org. If the shape is anchored as character, you cannot enter the group or ungroup it. https://bz.apache.org/ooo/show_bug.cgi?id=83498 and for the special case of Word import https://bz.apache.org/ooo/show_bug.cgi?id=54325 To examine the shape, you have to change the anchor "to character" or "to paragraph" e.g. > > To find that I will have to debug step-by-step the import of such a > DrawObject. Thus: > > - How was the example created? The old Word version had a feature to insert an "AutoShape" and then add text boxes to it. That had automatically generate a group containing the AutoShape itself and the text boxes. Word had this feature, because in the beginning the AutoShapes where not able to have text themselves. This auto-grouping is no longer available in current Word versions. > - Is there a more simple one with e.g. a single such DrawObject? It makes no real difference, whether you have one or four text boxes. You have always a "canvas" (that is the group) and therein the Autoshape and the text boxes. The group has wrap and anchor properties and can have a custom name. I was only once able to name a text box, but cannot reproduce it. The AutoShape has the fill and line properties. Size and position are coupled between group and AutoShape and you can use one or the other the change it. > - Is there a way to create a bugdoc with minimal content (step-by-step)? > > That would make looking into much easier. https://www.youtube.com/watch?v=hfbXtylMlWY You need e.g. Word 2003. I have made a screenshot from Word 365, and will attach it together with the used files. Besides the wrong height, there are additional problems: The borders are missing. All shapes are named in Word, but the names are not imported and therefore the shapes are not visible in the Navigator. The import of the compatible docx has additional errors: The AutoShape is missing. The text boxes are inserted as custom shapes and have "resize to text". But as custom shapes they need "wrap", because in contrast to text boxes the custom shapes have wrap not automatically. I have no strong opinion, whether a solution with custom shape is better than a solution with a text box. It might be, that the import of docx does not consider, that the document is in "Compatability mode".
Created attachment 143312 [details] File in doc and docx, and screenshot of file in Word 365
@Regina: Thanks, will have a look!
Compared with liberoffice-6-1, except the 2nd text box being smaller (the task of this bug) looks the same. Borders are the same. Re-checked with lo-5-2 (to be on the safe side), the same. I will concentrate on the change I issued with my changes - the TextBoxes height change...
Comparing with lo-6-1 - SdrTextObj::AdjustTextFrameWidthAndHeight is *not* called there, but in current master. When suppressing, objects look as before...
Decided to suppress SetStyleSheet in BaseProperties::applyDefaultStyleSheetFromSdrModel when default StyleSheet to-be-set is equal to already set one. This includes both being nullptr and is a arguable case where setting it is not needed. Thus, the calls down the derived classes is not done and NbcAdjustTextFrameWidthAndHeight in TextProperties::SetStyleSheet is not triggered. This is a little bit strange since NbcAdjustTextFrameWidthAndHeight *should* be callable anytime since it is the central method to do the needed adjustments dependent of the set items and stuff. I am not sure if not calling this is a long-term solution. It will e.g. be called when you *edit* the TextBox involved and will then probably 'snap' to where it would be when it would be completety layouted...
Armin Le Grand committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=7d2668517b68f9a7f056a993e53b4dd80838a4f9 tdf#118139 Set Default StyleSheet only when available It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Verified in Version: 6.2.0.0.alpha0+ Build ID: dcbb65f2a4a3ee70ccd4896d7a5e975dbd9e6509 CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); Calc: group threaded @Armin, Thanks for fixing this!! Should it be backported to 6-1 branch ?
@Armin, should it be cherry-picked to 6-1 ?
@Xisco: No, the mechanism was different. Not sure if the error was in lo-6-1 at all.
(In reply to Armin Le Grand (CIB) from comment #15) > @Xisco: No, the mechanism was different. Not sure if the error was in lo-6-1 > at all. Indeed, the issue is not reproducible in Versión: 6.1.0.2 Id. de compilación: b3972dcf1284967612d5ee04fea9d15bcf0cc106 Subprocs. CPU: 1; SO: Windows 6.1; Repres. IU: predet.; Configuración regional: es-ES (es_ES); Calc: group threaded Sorry for the noise!!
Hi Armin, after https://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-6-1&id=1ebb77fd17b417d92ab48fcef56a0230c5750de2, this should be backported to 6-1. I've tried to cherry-pick it but there was a merge conflict. Would you mind backporting it?
(In reply to Xisco Faulí from comment #17) > Hi Armin, after > https://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-6- > 1&id=1ebb77fd17b417d92ab48fcef56a0230c5750de2, this should be backported to > 6-1. I've tried to cherry-pick it but there was a merge conflict. > > Would you mind backporting it? https://gerrit.libreoffice.org/#/c/61315/
Armin Le Grand committed a patch related to this issue. It has been pushed to "libreoffice-6-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ffdf0f99bd459e0f422592de373d0ec6a0d9926c&h=libreoffice-6-1 tdf#118139 Set Default StyleSheet only when available It will be available in 6.1.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.