Re: gtk_tree_store_clear segfaults
- From: Kristian Rietveld <kris gtk org>
- To: Chaoron <chaoron ludens elte hu>
- Cc: GTK Development list <gtk-devel-list gnome org>
- Subject: Re: gtk_tree_store_clear segfaults
- Date: 26 Feb 2002 01:51:08 +0100
On Tue, 2002-02-26 at 01:35, Chaoron wrote:
> Dear developers!
>
> When there an at least 3 level deep tree and any node selected under the
> second level,
> the gtk_tree_store_clear call segfaults (in other cases segfault may occure,
> may not).
> I couldn't figure out why. It looks like an internal list is corrupted.
> Here is a small program that demonstrates, just select node "Test 3" and
> press the
> "Clear" button. I tried it with GTK+ version 1.3.13 and 1.3.14.
>
It doesn't crash for me using using gtk+ from CVS head. Try upgrading to
1.3.15.
regards,
Kris
>
> #include <gtk/gtk.h>
>
> static void
> on_buttonTreeClear_clicked(GtkButton *button, gpointer user_data)
> {
> gtk_tree_store_clear(GTK_TREE_STORE(user_data));
> }
>
>
> int
> main (int argc, char *argv[])
> {
> GtkWidget *vboxMain;
> GtkWidget *windowMain;
> GtkCellRenderer *cell_rendererMainTree;
> GtkTreeViewColumn *columnMainTree;
> GtkTreeStore *storeMainTree;
> GtkWidget *treeviewMainTree; GtkWidget *buttonTreeClear;
> GtkTreeIter newiter;
> gtk_init (&argc, &argv);
> windowMain = gtk_window_new (GTK_WINDOW_TOPLEVEL);
> gtk_window_set_title (GTK_WINDOW (windowMain), "Test");
> gtk_window_set_default_size (GTK_WINDOW (windowMain), 320, 240);
> vboxMain = gtk_vbox_new (FALSE, 0);
> gtk_widget_show (vboxMain);
> gtk_container_add (GTK_CONTAINER (windowMain), vboxMain);
> storeMainTree = gtk_tree_store_new(1, G_TYPE_STRING);
> treeviewMainTree = gtk_tree_view_new_with_model (GTK_TREE_MODEL
> (storeMainTree)); cell_rendererMainTree = gtk_cell_renderer_text_new ();
> g_object_set (G_OBJECT (cell_rendererMainTree), "foreground", "black",
> NULL);
> columnMainTree = gtk_tree_view_column_new_with_attributes ("Test",
> cell_rendererMainTree,
> "text", 0,
> NULL);
> gtk_tree_view_append_column (GTK_TREE_VIEW (treeviewMainTree),
> columnMainTree);
> gtk_widget_show (treeviewMainTree);
> gtk_box_pack_start (GTK_BOX (vboxMain), treeviewMainTree, TRUE, TRUE, 0);
>
> buttonTreeClear = gtk_button_new_with_label ("Clear");
> gtk_widget_show (buttonTreeClear);
> gtk_box_pack_start (GTK_BOX (vboxMain), buttonTreeClear, FALSE, TRUE, 0);
>
> gtk_signal_connect(GTK_OBJECT (windowMain), "destroy",
> GTK_SIGNAL_FUNC (gtk_main_quit),
> NULL);
> gtk_signal_connect (GTK_OBJECT (buttonTreeClear), "clicked",
> GTK_SIGNAL_FUNC (on_buttonTreeClear_clicked),
> storeMainTree);
>
> gtk_tree_store_insert(storeMainTree, &newiter, NULL, 0);
> gtk_tree_store_set(storeMainTree, &newiter, 0, "Test 1", -1);
> gtk_tree_store_insert(storeMainTree, &newiter, &newiter, 0);
> gtk_tree_store_set(storeMainTree, &newiter, 0, "Test 2", -1);
> gtk_tree_store_insert(storeMainTree, &newiter, &newiter, 0);
> gtk_tree_store_set(storeMainTree, &newiter, 0, "Test 3", -1);
> gtk_tree_view_expand_all(GTK_TREE_VIEW(treeviewMainTree));
> gtk_widget_show (windowMain);
> gtk_main();
> return 0;
> }
>
>
> Best regards,
> Chaoron
>
>
> ------------------------------=> http://people.inf.elte.hu/chaoron <=---
>
> "Software is like sex, it's better when it's free." -- Linus
>
> -----BEGIN GEEK CODE BLOCK-----
> GCS/M/S d- s:(-:-) a-- C++(+++)$ ULS++(+++)$ P- L+++ E- W++ N+ o? K? w--
> O- M- V PS++ PE++ Y+ PGP>+ t-- 5-- X- R+ tv- b++ DI? D+
> G++ e+ h--- r+++ y+++
> ------END GEEK CODE BLOCK------
> _______________________________________________
> gtk-devel-list mailing list
> gtk-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-devel-list
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]