gnome-terminal r2372 - in trunk: . src



Author: chpe
Date: Tue Feb  5 18:01:45 2008
New Revision: 2372
URL: http://svn.gnome.org/viewvc/gnome-terminal?rev=2372&view=rev

Log:
2008-02-05  Christian Persch  <chpe gnome org>

	* src/terminal-screen.c: (terminal_screen_class_init),
	(terminal_screen_dispose), (terminal_screen_finalize): Disconnect from
	the settings notify on dispose instead of finalise. Possibly fixes the
	crash in bug #514318.

Modified:
   trunk/ChangeLog
   trunk/src/terminal-screen.c

Modified: trunk/src/terminal-screen.c
==============================================================================
--- trunk/src/terminal-screen.c	(original)
+++ trunk/src/terminal-screen.c	Tue Feb  5 18:01:45 2008
@@ -90,6 +90,7 @@
 
 static void terminal_screen_init        (TerminalScreen      *screen);
 static void terminal_screen_class_init  (TerminalScreenClass *klass);
+static void terminal_screen_dispose     (GObject             *object);
 static void terminal_screen_finalize    (GObject             *object);
 static void terminal_screen_unrealize   (GtkWidget *widget);
 static void terminal_screen_size_allocate (GtkWidget *widget,
@@ -407,6 +408,7 @@
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
 
+  object_class->dispose = terminal_screen_dispose;
   object_class->finalize = terminal_screen_finalize;
 
   widget_class->unrealize = terminal_screen_unrealize;
@@ -481,11 +483,10 @@
 }
 
 static void
-terminal_screen_finalize (GObject *object)
+terminal_screen_dispose (GObject *object)
 {
   TerminalScreen *screen;
   GtkSettings *settings;
-  GConfClient *conf;
 
   screen = TERMINAL_SCREEN (object);
 
@@ -494,6 +495,15 @@
                                         0, 0, NULL, NULL,
                                         screen);
 
+  G_OBJECT_CLASS (terminal_screen_parent_class)->dispose (object);
+}
+
+static void
+terminal_screen_finalize (GObject *object)
+{
+  TerminalScreen *screen;
+  GConfClient *conf;
+
   conf = gconf_client_get_default ();
   
   if (screen->priv->gconf_connection_id)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]