From 0d9cd8617dfdabb10720fed2b6ebfbc6175c8e91 Mon Sep 17 00:00:00 2001 From: "blizzard%redhat.com" Date: Wed, 1 Nov 2000 20:56:35 +0000 Subject: [PATCH] Fix bug #58343. Make the signal connection while the superwin is still alive and don't explicitly remove the reference from the toplevel window. r=pavlov sr=brendan git-svn-id: svn://10.0.0.236/trunk@82159 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/widget/src/gtk/nsWindow.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/mozilla/widget/src/gtk/nsWindow.cpp b/mozilla/widget/src/gtk/nsWindow.cpp index d6c60584e5b..2400e11fc55 100644 --- a/mozilla/widget/src/gtk/nsWindow.cpp +++ b/mozilla/widget/src/gtk/nsWindow.cpp @@ -304,12 +304,6 @@ nsWindow::DestroyNative(void) IMEDestroyIC(); #endif // USE_XIM - GtkWidget *top_mozarea = GetMozArea(); - if (top_mozarea) { - GtkWidget *top_window = gtk_widget_get_toplevel(top_mozarea); - gtk_signal_disconnect_by_data(GTK_OBJECT(top_window), this); - } - // destroy all of the children that are nsWindow() classes // preempting the gdk destroy system. DestroyNativeChildren(); @@ -1881,10 +1875,11 @@ NS_METHOD nsWindow::CreateNative(GtkObject *parentWidget) GtkWidget *top_mozarea = GetMozArea(); if (top_mozarea) { GtkWidget *top_window = gtk_widget_get_toplevel(top_mozarea); - gtk_signal_connect_after(GTK_OBJECT(top_window), - "configure_event", - GTK_SIGNAL_FUNC(handle_invalidate_pos), - this); + gtk_signal_connect_while_alive(GTK_OBJECT(top_window), + "configure_event", + GTK_SIGNAL_FUNC(handle_invalidate_pos), + this, + GTK_OBJECT(mSuperWin)); } return NS_OK; }