If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Java applets's stop method is not called during page switch

VERIFIED DUPLICATE of bug 27486

Status

()

Core
Plug-ins
P3
blocker
VERIFIED DUPLICATE of bug 27486
18 years ago
18 years ago

People

(Reporter: stanley.ho, Assigned: av (gone))

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [PDT-])

(Reporter)

Description

18 years ago
When you switch between a page in Mozilla, NPL_EmbedDelete in 
modules\plugin\src\npglue.cpp is never called anywhere from the browser. Thus, 
it doesn't stop the applet during page switch. As a result, the applet keep 
running, but the parent window is already destroyed by the browser. AWT will 
access a non-exist parent window in the native code, and that's will result in 
NULL pData exception in Java. The fix is definitely to hook up the browser with 
NPL_EmbedDelete during page switch. Otherwise, Java applets will run very 
unstable in Mozilla.

This bug also exists for all generic plug-in support, so the plug-in is never 
being called to clean up itself during page switch.
(Reporter)

Updated

18 years ago
Blocks: 23672

Comment 1

18 years ago
Hmm..i wonder if this is the same reason for the browser to crash after I run an 
embedded plugin on a page and then try to go to another page.
(Assignee)

Comment 2

18 years ago
modules\plugin\src\npglue.cpp is not part of Mozilla build. All relevent stuff 
sits in modules\plugin\nglsrc
(Reporter)

Comment 3

18 years ago
In modules\plugin\nglsrc\nsPluginHostImpl.cpp, plug-in is never called to stop 
either.
Marking beta1 as 23672, which is approved PDT+ for beta1, depends on this.
Keywords: beta1

Comment 5

18 years ago
Putting on PDT- radar for beta1.  Won't hold beta for this.
Whiteboard: [PDT-]
(Assignee)

Comment 6

18 years ago
Stanley, mInstance->Stop() is called during destruction of the object frame.
(Reporter)

Comment 7

18 years ago
Java Plug-in doesn't seem to get called through. Would you please point me to 
the exact file that mInstance->Stop is called?
(Assignee)

Comment 8

18 years ago
Look at nsPluginInstanceOwner::~nsPluginInstanceOwner() in
layout/html/base/src/nsObjectFrame.cpp

Comment 9

18 years ago
These are the same bug.

*** This bug has been marked as a duplicate of 27486 ***
Status: NEW → RESOLVED
Last Resolved: 18 years ago
Resolution: --- → DUPLICATE

Updated

18 years ago
No longer blocks: 23672

Comment 10

18 years ago
Marking verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.