anjuta r4493 - in trunk: . plugins/sourceview



Author: jhs
Date: Sun Dec 28 09:39:35 2008
New Revision: 4493
URL: http://svn.gnome.org/viewvc/anjuta?rev=4493&view=rev

Log:
2008-12-28  Johannes  Schmid <jhs gnome org>

	* plugins/sourceview/anjuta-view.c (anjuta_view_class_init),
	(anjuta_view_dispose):
	Fixed a race conditin where an idle call happens after the object is
	already destroyed.
	
	* plugins/sourceview/sourceview.c (on_open_finish),
	(sourceview_dispose):
	Fixed 564891 â Crash when closing editor window

Modified:
   trunk/ChangeLog
   trunk/plugins/sourceview/anjuta-view.c
   trunk/plugins/sourceview/sourceview.c

Modified: trunk/plugins/sourceview/anjuta-view.c
==============================================================================
--- trunk/plugins/sourceview/anjuta-view.c	(original)
+++ trunk/plugins/sourceview/anjuta-view.c	Sun Dec 28 09:39:35 2008
@@ -66,7 +66,7 @@
   Sourceview* sv;
 };
 
-static void	anjuta_view_destroy		(GtkObject       *object);
+static void	anjuta_view_dispose		(GObject       *object);
 static void	anjuta_view_finalize		(GObject         *object);
 static void	anjuta_view_move_cursor		(GtkTextView     *text_view,
 						 GtkMovementStep  step,
@@ -168,7 +168,7 @@
 	GtkBindingSet    *binding_set;
 	GParamSpec *anjuta_view_spec_popup;
 
-	gtkobject_class->destroy = anjuta_view_destroy;
+	object_class->dispose = anjuta_view_dispose;
 	object_class->finalize = anjuta_view_finalize;
 	object_class->set_property = anjuta_view_set_property;
 	object_class->get_property = anjuta_view_get_property;	
@@ -312,13 +312,15 @@
 }
 
 static void
-anjuta_view_destroy (GtkObject *object)
+anjuta_view_dispose (GObject *object)
 {
 	AnjutaView *view;
 
 	view = ANJUTA_VIEW (object);
-	
-	(* GTK_OBJECT_CLASS (anjuta_view_parent_class)->destroy) (object);
+
+	g_source_remove (view->priv->scroll_idle);
+		
+	(* G_OBJECT_CLASS (anjuta_view_parent_class)->dispose) (object);
 }
 
 static void

Modified: trunk/plugins/sourceview/sourceview.c
==============================================================================
--- trunk/plugins/sourceview/sourceview.c	(original)
+++ trunk/plugins/sourceview/sourceview.c	Sun Dec 28 09:39:35 2008
@@ -440,7 +440,6 @@
     g_signal_emit_by_name(G_OBJECT(sv), "save_point",
 						  TRUE);
 	
-	sv->priv->loading = FALSE;
 	if (sv->priv->goto_line > 0)
 	{
 		goto_line (sv, sv->priv->goto_line);
@@ -597,6 +596,9 @@
 		gtk_widget_destroy(GTK_WIDGET(cobj->priv->assist_tip));
 	g_object_unref (cobj->priv->io);
 	
+	if (cobj->priv->tooltip_cell)
+		g_object_unref (cobj->priv->tooltip_cell);
+	
 	for (node = cobj->priv->idle_sources; node != NULL; node = g_slist_next (node))
 	{
 		g_source_remove (GPOINTER_TO_UINT (node->data));



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