mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
b=485125 reparent plugin widgets for delayed destruction. r=jst
This commit is contained in:
parent
2d9c719860
commit
c4c942a643
@ -1866,16 +1866,13 @@ static PRBool
|
|||||||
DoDelayedStop(nsPluginInstanceOwner *aInstanceOwner, PRBool aDelayedStop)
|
DoDelayedStop(nsPluginInstanceOwner *aInstanceOwner, PRBool aDelayedStop)
|
||||||
{
|
{
|
||||||
// Don't delay stopping QuickTime (bug 425157), Flip4Mac (bug 426524),
|
// Don't delay stopping QuickTime (bug 425157), Flip4Mac (bug 426524),
|
||||||
// XStandard (bug 430219), CMISS Zinc (bug 429604). ARM Flash (454756)
|
// XStandard (bug 430219), CMISS Zinc (bug 429604).
|
||||||
if (aDelayedStop
|
if (aDelayedStop
|
||||||
#ifndef XP_WIN
|
#if !(defined XP_WIN || defined MOZ_X11)
|
||||||
&& !aInstanceOwner->MatchPluginName("QuickTime")
|
&& !aInstanceOwner->MatchPluginName("QuickTime")
|
||||||
&& !aInstanceOwner->MatchPluginName("Flip4Mac")
|
&& !aInstanceOwner->MatchPluginName("Flip4Mac")
|
||||||
&& !aInstanceOwner->MatchPluginName("XStandard plugin")
|
&& !aInstanceOwner->MatchPluginName("XStandard plugin")
|
||||||
&& !aInstanceOwner->MatchPluginName("CMISS Zinc Plugin")
|
&& !aInstanceOwner->MatchPluginName("CMISS Zinc Plugin")
|
||||||
#endif
|
|
||||||
#if defined(XP_UNIX) && defined(__arm__)
|
|
||||||
&& !aInstanceOwner->MatchPluginName("Shockwave Flash")
|
|
||||||
#endif
|
#endif
|
||||||
) {
|
) {
|
||||||
nsCOMPtr<nsIRunnable> evt = new nsStopPluginRunnable(aInstanceOwner);
|
nsCOMPtr<nsIRunnable> evt = new nsStopPluginRunnable(aInstanceOwner);
|
||||||
@ -2036,7 +2033,7 @@ nsObjectFrame::StopPluginInternal(PRBool aDelayedStop)
|
|||||||
|
|
||||||
nsWeakFrame weakFrame(this);
|
nsWeakFrame weakFrame(this);
|
||||||
|
|
||||||
#ifdef XP_WIN
|
#if defined(XP_WIN) || defined(MOZ_X11)
|
||||||
if (aDelayedStop) {
|
if (aDelayedStop) {
|
||||||
// If we're asked to do a delayed stop it means we're stopping the
|
// If we're asked to do a delayed stop it means we're stopping the
|
||||||
// plugin because we're destroying the frame. In that case, tell
|
// plugin because we're destroying the frame. In that case, tell
|
||||||
@ -4276,7 +4273,7 @@ nsPluginInstanceOwner::Destroy()
|
|||||||
void
|
void
|
||||||
nsPluginInstanceOwner::PrepareToStop(PRBool aDelayedStop)
|
nsPluginInstanceOwner::PrepareToStop(PRBool aDelayedStop)
|
||||||
{
|
{
|
||||||
#ifdef XP_WIN
|
#if defined(XP_WIN) || defined(MOZ_X11)
|
||||||
if (aDelayedStop && mWidget) {
|
if (aDelayedStop && mWidget) {
|
||||||
// To delay stopping a plugin we need to reparent the plugin
|
// To delay stopping a plugin we need to reparent the plugin
|
||||||
// so that we can safely tear down the
|
// so that we can safely tear down the
|
||||||
|
Loading…
Reference in New Issue
Block a user