<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<b>tl;dr:</b> by moving the location of the FindToolbar DOM node in
Thunderbird, I managed to make the entire program crash in
nsTypeAheadFind.cpp:990<br>
<br>
I'm trying to make Ctrl-F work with Thunderbird Conversations. I
need to move the FindBar to make it visible even when the
Conversation View is shown. Here's the DOM hierarchy:<br>
<br>
<tt><vbox><br>
<browser id="multimessage" /><!-- this is where the
conversation view lives --><br>
<b> <vbox></b><br>
<hbox /><br>
<hbox /><br>
<deck /><br>
<hbox><br>
<browser /><!-- this is where messages are usually
displayed --><br>
</hbox><br>
<splitter /><br>
<vbox /><br>
<b> <findbar /></b><br>
</vbox><br>
</vbox></tt><br>
<br>
When the conversation view is shown, the vbox in bold is hidden.
Thus, the findbar is hidden too. I decided to move the find bar as
so, using the DOM inspector.<br>
<br>
<tt><vbox><br>
<browser id="multimessage" /><!-- this is where the
conversation view lives --><br>
<b> <vbox></b><br>
<hbox /><br>
<hbox /><br>
<deck /><br>
<hbox><br>
<browser /><!-- this is where messages are usually
displayed --><br>
</hbox><br>
<splitter /><br>
<vbox /><br>
</vbox></tt><tt><br>
<b> <findbar /></b></tt><br>
<tt></vbox><br>
</tt><br>
I then change the findbar's browserid attribute to "multimessage",
summon the error console and run:<br>
<br>
<tt>top.opener.document.getElementById("FindToolbar").onFindCommand()</tt><br>
<br>
As soon as I start typing something into the find bar, Thunderbird
segfaults brutally. I tried to read the code, and I think I should
call nsITypeAheadFind::SetDocShell somehow, but I can't seem to find
the nsITypeAheadFind instance associated to the <findbar>.
Moreover, I thought that changing the browserid attribute would do
the trick since it's what Thunderbird is doing already.<br>
<br>
Even <b>without</b> changing the browserid attribute, it still
segfaults.<br>
<br>
I'm a little bit puzzled as to why changing the mere location of a
DOM node should make Thunderbird crash so badly. I'm really puzzled
to any help would be highly appreciated!<br>
<br>
Thanks :),<br>
<br>
jonathan<br>
<br>
</body>
</html>