I found that anjuta Version: 2.0.1-2 has the same bug because both
anjuta-encodings.c are basically the same.

I notice this bug when libgtk was updated to version 2.8.9-2

I think this is because in version 2.8 gtk triggers a "changed" signal
on the selection object of the treeview when setting the model
(gtk_tree_view_set_model)

So when on_stock_selection_changed() try to access
anjuta_encodings_dialog>add_button (which is not set until the end of
anjuta_encodings_init) gives the segfault.

greets

Juan Pablo
--- src/anjuta-encodings.c	2005-12-19 13:59:47.000000000 -0300
+++ src/anjuta-encodings_jp.c	2005-12-19 14:00:52.000000000 -0300
@@ -697,6 +697,15 @@
 	up_button = glade_xml_get_widget (gxml, "up_button");
 	down_button = glade_xml_get_widget (gxml, "down_button");
 	
+	anjuta_encodings_dialog = g_new0 (AnjutaEncodingsDialog, 1);
+	anjuta_encodings_dialog->pref = pref;
+	anjuta_encodings_dialog->add_button = add_button;
+	anjuta_encodings_dialog->remove_button = remove_button;
+	anjuta_encodings_dialog->up_button = up_button;
+	anjuta_encodings_dialog->down_button = down_button;
+	anjuta_encodings_dialog->supported_treeview = supported_treeview;
+	anjuta_encodings_dialog->stock_treeview = stock_treeview;
+
 	/* Add the encoding column for stock treeview*/
 	cell = gtk_cell_renderer_text_new ();
 	column = gtk_tree_view_column_new_with_attributes (_("Stock Encodings"),
@@ -757,13 +766,4 @@
 	gtk_widget_set_sensitive (remove_button, FALSE);
 	gtk_widget_set_sensitive (up_button, FALSE);
 	gtk_widget_set_sensitive (down_button, FALSE);
-	
-	anjuta_encodings_dialog = g_new0 (AnjutaEncodingsDialog, 1);
-	anjuta_encodings_dialog->pref = pref;
-	anjuta_encodings_dialog->add_button = add_button;
-	anjuta_encodings_dialog->remove_button = remove_button;
-	anjuta_encodings_dialog->up_button = up_button;
-	anjuta_encodings_dialog->down_button = down_button;
-	anjuta_encodings_dialog->supported_treeview = supported_treeview;
-	anjuta_encodings_dialog->stock_treeview = stock_treeview;
 }

Reply via email to