Closed Bug 51660 Opened 24 years ago Closed 24 years ago

New Embedding API crashes on Destroy

Categories

(Core :: DOM: Navigation, defect, P3)

x86
Linux
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: rblinne, Assigned: blizzard)

References

()

Details

(Keywords: embed)

Since the web browser object no longer exports a docshell and
GtkMozEmbedPrivate::Destroy expects it to the docshell it uses is invalid.
Enclosed is a diff which fixes the problem in gtkmozembed.cpp:

553,554c553
<   //  nsCOMPtr <nsIDocShell> docShell = do_GetInterface(mWebBrowser);
< 
---
>   nsCOMPtr <nsIDocShell> docShell = do_GetInterface(mWebBrowser);
555a555,562
>   webProgress = do_GetInterface(docShell);
>   webProgress->RemoveProgressListener(mChromeProgress);
> 
>   // remove our key press listener
>   RemoveEventListener();
> 
>   // get the content item
>   // get the browser as an item
566,574d572
<   nsCOMPtr<nsIDocShell> docShell = do_QueryInterface(contentItem);
<   webProgress = do_GetInterface(docShell);
<   webProgress->RemoveProgressListener(mChromeProgress);
< 
<   // remove our key press listener
<   RemoveEventListener();
< 
<   // get the content item
<   // get the browser as an item
Reassigning to Chris.
Assignee: adamlock → blizzard
I am not sure that my "fix" completely solves the problem.  There may be some
timing issues with respect to the destruction of windows.  What created this bug
was hitting the window manager destruction button on a second window in galeon
(in my case my test version linked with the CVS version of mozilla).  I should
have some more detailed information later in the week.
Ok, this code works just fine from where I'm standing.
I am a little confused here.  Were you referring to the code as originally
written or my patch?  nsCOMPtr <nsIDocShell> docShell =
do_GetInterface(mWebBrowser); returns failure as a docshell is no longer part of
the interface.  The other issues appear to be galeon related.  I think we are
both trying to kill the widgets and that galeon is trying to update a status bar
(not controlled by the embedding) after the window is deleted.
confirming bug, since blizzard seems to have this well in hand
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: embed
This was checked in a long time ago.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.