Closed
Bug 5420
Opened 25 years ago
Closed 25 years ago
Wallet is busted!
Categories
(Toolkit :: Form Manager, defect, P3)
Tracking
()
VERIFIED
FIXED
People
(Reporter: morse, Assigned: karnaze)
Details
As of this mornings build, wallet is busted in apprunner. In particular, the
code in nsBrowserAppCore.cpp which gets the shell to pass on to the wallet code
is crashing. Here is the code:
shell = nsnull;
nsIPresShell* shell;
nsCOMPtr<nsIWebShell> webcontent;
mWebShell->FindChildWithName(nsAutoString("content").GetUnicode(),
*getter_AddRefs(webcontent));
nsCOMPtr<nsIWebShell> webcontent2;
webcontent->ChildAt(1, (nsIWebShell*&)webcontent2);
and the crash is occurring on the last line. It says I'm dereferencing a NULL
nsCOMPtr.
Reporter | ||
Comment 1•25 years ago
|
||
As a result of my reporting this, rickg found a problem and made a change to
nsFrameFrame.cpp and checked it in this evening. With that change it no longer
crashes but it doesn't work either. The value of shell that is being computed
on the very next line is coming out to be null which is incorrect. Here is the
code again (the line marked with the @ is where it crashed before rickg's
change):
shell = nsnull;
nsIPresShell* shell;
nsCOMPtr<nsIWebShell> webcontent;
mWebShell->FindChildWithName(nsAutoString("content").GetUnicode(),
*getter_AddRefs(webcontent));
nsCOMPtr<nsIWebShell> webcontent2;
@ webcontent->ChildAt(1, (nsIWebShell*&)webcontent2);
shell = GetPresShellFor(webcontent2);
Reporter | ||
Updated•25 years ago
|
Severity: normal → critical
Reporter | ||
Comment 2•25 years ago
|
||
And I forgot to mention -- this bug is critical because it is completely
blocking any further work on wallet implementation.
Updated•25 years ago
|
Assignee: chofmann → rickg
Comment 3•25 years ago
|
||
it rickg the right assignee for this?
Updated•25 years ago
|
Assignee: rickg → karnaze
Comment 4•25 years ago
|
||
Rick Gessner wrote:
>
> So I can't tell you why it's broken, but I can tell you what's wrong
> (in fact I fixed it and checked it in).
> The problem is that the webshell whose type is webShellContent did not
> get it's mName field set.
> When Steve Morse's code tried to find a webshell by name, it failed of
> course.
>
> In the nsFrameFrame.cpp file, I added a call to the webshell that is
> being constructed to properly set it's name.
> I'm puzzled as to why SetNewWebShellInfo() was not being called on
> this webshell. Perhaps Chris Karnaze or Nisheeth can respond.
>
> file: mozilla/layout/html/src/nsFrameFrame.cpp
>
> Rick
Reporter | ||
Updated•25 years ago
|
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 5•25 years ago
|
||
OK, this is fixed now, thanks to hyatt. Problem was the removal of names from
the windows in navigator.xul. The fix was to pass the window itself as an
argument from the xul to the wallet code, thereby making the wallet code
independent of future changes to the xul (this is the second time that a xul
change busted wallet). With hyatt's help I was able to make the necessary fixes
and checked them in.
Updated•25 years ago
|
Status: RESOLVED → VERIFIED
Comment 6•25 years ago
|
||
verified in 4/26 builds, wallet no longer busted.
You need to log in
before you can comment on or make changes to this bug.
Description
•