Inside a <prefwindow type="prefwindow">, calling getRowCount() on a listbox returns 0, even when the row count is not 0. Inside a <prefwindow type="child">, getRowCount() returns the correct result. (Bug 298632 also refers to a listbox inside a prefwindow, but it is not obvious that it is the same problem.)
Fails in Firefox 1.5 and in Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060105 Firefox/1.6a1
Would it be possible for you to narrow down a regression range using the builds at ftp.mozilla.org/archive.mozilla.org ?
I don't have a build in which it worked. I don't have any evidence that it ever worked since the preference rework. So that sounds like a rather large task.
GetListBoxBody is returning null here: http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsListBoxObject.cpp&rev=1.1&mark=106#103 because GetFrame returns null at: http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsListBoxObject.cpp&rev=1.1&mark=224#210 because mPresShell is null at: http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsBoxObject.cpp&rev=1.52&mark=167#164 I don't know enough about this to know why this is happening.
Hmm... so how do I test? If I just load the file as -chrome (with a file:// URI) nothing useful happens. mPresShell can be null for a boxObject generally if the node got removed from the DOM or something...
> Hmm... so how do I test? I included it into an XPI, installed and loaded from chrome.
Created attachment 207813 [details] test extension Steps to reproduce: 1) Install this extension in Firefox (click the link, or download the file and drag it to the Firefox Extension Manager, Tools->Extensions). 2) Restart Firefox. 3) Go to chrome://test/content/txul.xul . 4) Click the "Count items" button. See an alert of "0" (bug). 5) Go to chrome://test/content/wxul.xul . 6) Click the "Count items" button. See an alert of "2" (as expected). Both XUL files are essentially the same as attachment 207652 [details], except that the one from step 5 is a <prefwindow type="child"> whereas the one from step 3 is a <prefwindow type="prefwindow">. <prefwindow type="foo"> behaves the same way as <prefwindow type="prefwindow">, so I think "child" is the only value of the "type" attribute that makes it work. I don't see anything at http://landfill.mozilla.org/mxr-test/seamonkey/search?string=prefwindow&find=css&filter=child that would have an effect on this.
Ah, I see. This is basically bug 282105. I think I outlined the right way to fix this in that bug...
Fixed on trunk by bug 282105
Fixed on branches too, by bug 282105
I was trying to verify this on 1.0.8, but when I try to load the test extension it gives me a chrome registration error. I could use some help with another strategy to verify.
(In reply to comment #12) > I was trying to verify this on 1.0.8, but when I try to load the test extension > it gives me a chrome registration error. I could use some help with another > strategy to verify. None of the testcases in this bug will run in 1.0.8, because prefwindow didn't exist then. I'm not sure what Boris meant by adding the fixed-aviary/fixed1.7.13 keywords here. At least as summarized, this bug didn't exist on those branches, so I don't think the fact that bug 282105 was checked in on the branches is relevant to this bug.
v.fixed on 1.8.0 branch with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:188.8.131.52) Gecko/20060224 Firefox/184.108.40.206, installed extension and both xul files show correct row count of 2 (based on steps in comment #8).
Since I can't access bug #282105, can someone tell me if this will carry over to TB. I'm seeing oddities with prefpanes src'd from a prefwindow not generating menupopups from RDF (most of the time).
Removing aviary/moz17 fixed keywords per comment 13.