Closed Bug 233191 Opened 21 years ago Closed 20 years ago

to/cc/bcc menulist in addressing widget in compose window is too wide

Categories

(Core :: XBL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mscott, Assigned: bzbarsky)

References

Details

Attachments

(3 files, 1 obsolete file)

to/cc/bcc menulist in addressing widget in compose window is too wide

let me screen shot.

this is with this mornings build, classic skin.

from the console:

WARNING: empty damage rect: update caller to avoid fcn call overhead, file d:/tr
ees/vcard/mozilla/layout/html/base/src/nsFrame.cpp, line 2506
###!!! ASSERTION: Row index out of range!: 'aRowIndex >=0 && aRowIndex < GetRowC
ount(aIsHorizontal)', file d:/trees/vcard/mozilla/layout/xul/base/src/grid/nsGri
d.cpp, line 584
###!!! ASSERTION: Row index out of range!: 'aRowIndex >=0 && aRowIndex < GetRowC
ount(aIsHorizontal)', file d:/trees/vcard/mozilla/layout/xul/base/src/grid/nsGri
d.cpp, line 598
###!!! ASSERTION: Row index out of range!: 'aRowIndex >=0 && aRowIndex < GetRowC
ount(aIsHorizontal)', file d:/trees/vcard/mozilla/layout/xul/base/src/grid/nsGri
d.cpp, line 613
###!!! ASSERTION: The recipient list is not supposed to be null -Fix the caller!
: 'recipients', file d:/trees/vcard/mozilla/mailnews/compose/src/nsMsgCompFields
.cpp, line 589
Attached image screen shot
Does reverting the last change to nsXULElement.cpp help?
modern has it too.  

(but you have to use View | Apply theme from the browser to switch, due to bug 
#231769)
This problem exists on Solaris/SPARC as well, it's not restricted to
PC/Windows2k    
yes, backing out the change to nsXULElement.cpp (from bug #197427) fixes this 
problem.

thanks bz.  I'll re-assign to jst, since it was his change.
*** Bug 233192 has been marked as a duplicate of this bug. ***
Actually, jst's change just fixed a number of DOM-compliance bugs in the XUL
element (by making it use the same code as HTML elements do, which is far better
tested and more correct).  So chances are, anything that broke was relying on a
bug...
This fixes the problem, thanks to bz for figuring out most of this. The actual
problem appears to be in the XBL binding manage's notification handling, and
bz's looking into that problem.
Based on info from bc, this shoul fix bug 233137 too.
Blocks: 233137
Attachment #140701 - Flags: superreview?(bzbarsky)
Attachment #140701 - Flags: review?(mscott)
Attachment #140701 - Flags: review?(mscott) → review+
Comment on attachment 140701 [details] [diff] [review]
Make us fire correct insert/append notifications when inserting/appending elements to the DOM

>Index: content/base/src/nsGenericElement.cpp
>+  PRBool isAppend = aIndex == GetChildCount();

Do we care that this runs even if aNotify is false?

In any case, put parens about the equality test to make this more clear.

>@@ -2776,19 +2783,23 @@ nsGenericElement::doInsertBefore(nsICont
>-    res = aElement->InsertChildAt(newContent, refPos, PR_TRUE, PR_TRUE);
>+    if (!aRefChild) {
>+      res = aElement->AppendChildTo(newContent, PR_TRUE, PR_TRUE);
>+    } else {
>+      res = aElement->InsertChildAt(newContent, refPos, PR_TRUE, PR_TRUE);
>+    }

Why do we need this change now that we fixed up InsertChildAt to fire the other
notification?

>Index: content/xul/content/src/nsXULElement.cpp

>+    PRBool isAppend = aIndex == GetChildCount();

As above.

>+    if (mDocument) {
>+        aKid->SetDocument(mDocument, aDeepSetDocument, PR_TRUE);

Why only do this if mDocument?	Are we guaranteed that the kids have a null
mDocument coming in here?  If so, we should probably assert that....
Fix checked in. Leaving bug open to figure out the nsBindingManager issue...
I should just take this.
Assignee: sspitzer → bzbarsky
Component: Composition → XBL
OS: Windows 2000 → All
Product: MailNews → Browser
Hardware: PC → All
Comment on attachment 140701 [details] [diff] [review]
Make us fire correct insert/append notifications when inserting/appending elements to the DOM

sr=bzbarsky with the comments I made and the irc discussion.
Attachment #140701 - Flags: superreview?(bzbarsky) → superreview+
This have introduced a new "may be used uninitialized" warning on brad TBox:

+content/base/src/nsGenericElement.cpp:2412
+ `PRBool isAppend' might be used uninitialized in this function
That's a bogus warning, it won't be used w/o being initialized. Silly compiler :-)
Appears fixed in 2004021109 win32.  Can anyone else confirm?
Perhaps a change to the summary description since it's no longer relevant to the
open issue?
Please stop spamming this bug, ok?  The summary is relevant, because that's how
I can find this bug...
Well, works as well as any of the rest of the code at least...
Attachment #140704 - Attachment is obsolete: true
Comment on attachment 142299 [details] [diff] [review]
Patch to binding manager that sorta works

The algorithm was suggested by hyatt, by the way.  So r=me on the general
approach if that helps with the review.  ;)
Attachment #142299 - Flags: superreview?(jst)
Attachment #142299 - Flags: review?(jst)
Comment on attachment 142299 [details] [diff] [review]
Patch to binding manager that sorta works

Looks good. r+sr=jst
Attachment #142299 - Flags: superreview?(jst)
Attachment #142299 - Flags: superreview+
Attachment #142299 - Flags: review?(jst)
Attachment #142299 - Flags: review+
Checked in.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
This checkin (tracked by Neil) has broken the behavior of the hierarchical
status bar in Composer and Nvu... 
Daniel, if you can file a bug on that, preferably with as small a testcase as
possible that shows the problem, I'll look into it....
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: