From 86540dd66aa9792bd0e23b0eb532b8b0826015c3 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 --- widget/src/gtk/nsWindow.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/widget/src/gtk/nsWindow.cpp b/widget/src/gtk/nsWindow.cpp index d6c60584e5b0..2400e11fc55a 100644 --- a/widget/src/gtk/nsWindow.cpp +++ b/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; }