Apache OpenOffice (AOO) Bugzilla – Issue 18447
Combo box disappears when opening existing form
Last modified: 2006-05-31 14:29:06 UTC
The file Operative is a form I created under many versions of OOo and is mainly being used with Beta2 (although it worked fine under RC2). When opening it the 7 combo boxes to the middle right do not appear. When looking at the Form Navigator the boxes are still listed and you can still get properties for them but they are not appearing on the form, nor are their borders. The first PDF, Operatives-Beta2 shows what it should look like (ignore the fact the yellow fields don't contain any data, that has been resolved as Issue 14945). The second PDF, Operatives-RC3 is what happens when opened on my machine. Unfortunately I do not have a second machine to test it on.
Created attachment 8600 [details] Main Form
Created attachment 8601 [details] PDF of the way it should look
Created attachment 8602 [details] PDF of the way it looks under RC3 (not RC2)
Created attachment 8607 [details] stripped down bug doc
phil, thanks for reporting! (ps: no need to cc me, I'm reading issues@dba, which is were all issue submissions/changes arrive) The controls are there, but invisible somehow. The invisible_controls.sxw (attached) is a stripped down bug doc. You can still select the controls (draw a rectangle around them so they get selected), and chosing "To Foreground" in the "Arrange" context menu, or ungrouping them, makes them visible. fs->od: For me, this bug has a *big fat* "AIG" sign on it :(. Sounds like the control shapes are in the wrong layer, or something like this.
accepting
Created attachment 8608 [details] yet another bug doc, stripped even more
the "mixed_group.sxw" (attached) seems to be the minimal bug case: It contains a button, and a simple rectangular shape. Both are grouped. In RC2, both objects are visible, in RC3, both are invisible. fs->od: Seems that in case that controls are grouped with non-control shapes, they're inserted into a wrong layer in Writer. Funnily, the group shape itself seems to be "visible", since it can be selected by mouse or keyboard. This indicates that the group shape itself is in a visible layer, but it's children aren't.
fs->od: debugged a little bit: When loading mixed_group.sxw, the following happens: 1. an SdrObjGroup G1 is created, and moved to layer 3 (invisible hell) 2. Setlayer( 3 ) is called for G1 (because the Opaque property of the UNO shape is set to true, or something like this) 3. an SdrRectObj is inserted, and moved to layer 3 4. SetLayer( 3 ) is called for the same SdrRectObj (same reason) 5. an SdrUnoObj is created, and moved to layer 5 (invisible controls) 6. a SetLayer( 3 ) is called for *another* SdrObjGroup G2, called from DisconnectFromLayout, called from ~SwFrm. Don't understand this If I manually change the 5 to 3 in step 5., then there is an additional step between 5. and 6., where G1 is moved to layer 0 (visible hell). I don't know what happens in Writer, but I suppose step 6. (and G2) is irrelevant for our problem. I suppose the main problem is that some of the shapes (probably the control shape) are/is in the wrong layer. According to AMA, there always has been some special handling for controls grouped with non-controls - I suppose that in such cases, the controls normally have been moved to the layer (hell/heaven) of the group shape. If this is the case, then it broke with the migration to invisible layers.
fs->od: I suppose this came in with rev. 1.49 of unodraw.cxx - with rev. 1.48, it works
I've got another document that doesn't appear correctly. I will attach the original and the stripped doc. With all this data disappearing, and the potential link to Issue 16700 surely this has to be a blocker for a final 1.1 release... Assuming you agree, shall I inform the release team?
Created attachment 8627 [details] Second Form - Original
Created attachment 8628 [details] Second Form - Stripped Down
OD (21.08.2003): accepted.
Phill, the bug has been approved for RC4. We will most probably integrate Oliver's fix tomorrow. Thanks a lot for finding this!
set target to 1.1
OD (22.08.2003): adjusted the following files in internal cws mshapes01: /sw/inc/dcontact.hxx, 1.4.90.1 /sw/source/core/draw/dcontact.cxx, 1.19.78.1 /sw/source/core/layout/fly.cxx, 1.46.78.1 /sw/source/core/layout/frmtool.cxx, 1.50.88.1 /sw/source/core/frmedt/feshview.cxx, 1.26.88.1
OD (22.08.2003): fixed
OD->MRU (25.08.2003): Checked in installation set of SRX645m17, please verify.
Checked fix with srx645m17.
Verified. Fix will be included in OO 1.1 Final.
Fixed in RC4.
change subcomponent to 'none'