From a142376fd09a1028f22d25ab156a7bd549e7ca3e Mon Sep 17 00:00:00 2001 From: asac Date: Wed, 21 Feb 2007 03:34:15 +0100 Subject: [PATCH] =?utf-8?q?bz241535_=E2=80=93_Assertion_failure_on_destroying_XEmbed_plug-in?= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/base/src/nsPluginNativeWindowGtk2.cpp | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/modules/plugin/base/src/nsPluginNativeWindowGtk2.cpp b/modules/plugin/base/src/nsPluginNativeWindowGtk2.cpp index 5043d17..527271a 100644 --- a/modules/plugin/base/src/nsPluginNativeWindowGtk2.cpp +++ b/modules/plugin/base/src/nsPluginNativeWindowGtk2.cpp @@ -88,6 +88,9 @@ nsPluginNativeWindowGtk2::nsPluginNativeWindowGtk2() : nsPluginNativeWindow() nsPluginNativeWindowGtk2::~nsPluginNativeWindowGtk2() { if(mGtkSocket) { + GtkWidget **widget = &mGtkSocket; + g_object_remove_weak_pointer(G_OBJECT(mGtkSocket), (gpointer*)widget); + gtk_widget_destroy(mGtkSocket); mGtkSocket = 0; } @@ -147,6 +150,9 @@ nsresult nsPluginNativeWindowGtk2::CreateXEmbedWindow() { GdkWindow *win = gdk_window_lookup((XID)window); mGtkSocket = gtk_socket_new(); + GtkWidget **widget = &mGtkSocket; + g_object_add_weak_pointer(G_OBJECT(mGtkSocket), (gpointer*)widget); + //attach the socket to the container widget gtk_widget_set_parent_window(mGtkSocket, win); -- 1.4.4.4