/*********************************************************************************3456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 ** 10 20 30 40 50 60 70 80**** project : GtkFileChooserButton-test**** file : main.cpp**** created : 08.12.2005**** last change: 08.12.2005**** author(s) : macslow@bangang.de**** remarks : here's the backtrace from running it with gtk+-2.8.8**** Program received signal SIGSEGV, Segmentation fault.** 0x00276c37 in IA__gtk_tree_model_filter_convert_iter_to_child_iter (filter=0x95bd760, child_iter=0xbfbcc59c, filter_iter=0xbfbcc734) at gtktreemodelfilter.c:2635** 2635 *child_iter = FILTER_ELT (filter_iter->user_data2)->iter;** (gdb) bt** #0 0x00276c37 in IA__gtk_tree_model_filter_convert_iter_to_child_iter (filter=0x95bd760, child_iter=0xbfbcc59c, filter_iter=0xbfbcc734) at gtktreemodelfilter.c:2635** #1 0x0027821d in gtk_tree_model_filter_get_value (model=0x95bd760, iter=0xbfbcc734, column=2, value=0xbfbcc668) at gtktreemodelfilter.c:1965** #2 0x002759e5 in IA__gtk_tree_model_get_value (tree_model=0x95bd760, iter=0xbfbcc734, column=2, value=0xbfbcc668) at gtktreemodel.c:1077** #3 0x00275dec in IA__gtk_tree_model_get_valist (tree_model=0x95bd760, iter=0xbfbcc734, var_args=0xbfbcc6cc "K\u01fc\uffff\003") at gtktreemodel.c:1374** #4 0x00275f30 in IA__gtk_tree_model_get (tree_model=0x95bd760, iter=0xbfbcc734) at gtktreemodel.c:1338** #5 0x001ab85b in update_combo_box (button=0x94b6410) at gtkfilechooserbutton.c:1754** #6 0x001aca8a in gtk_file_chooser_button_set_property (object=0x94b6410, param_id=4096, value=0xbfbcc874, pspec=0x949c480) at gtkfilechooserbutton.c:753** #7 0x00a1b34c in IA__g_object_set_valist (object=0x94b6410, first_property_name=0x32b50f "action", var_args=0xbfbcc8ec "") at gobject.c:691** #8 0x00a1b5b4 in IA__g_object_set (_object=0x94b6410, first_property_name=0x32b50f "action") at gobject.c:1177** #9 0x001ab44c in gtk_file_chooser_button_constructor (type=155922048, n_params=2, params=0x94b63c8) at gtkfilechooserbutton.c:698** #10 0x00a1a438 in IA__g_object_newv (object_type=155922048, n_parameters=2, parameters=0x94b6210) at gobject.c:908** #11 0x00a1adf1 in IA__g_object_new_valist (object_type=155922048, first_property_name=0x32b50f "action", var_args=Variable "var_args" is not available.** ) at gobject.c:992** #12 0x00a1af30 in IA__g_object_new (object_type=155922048, first_property_name=0x32b50f "action") at gobject.c:789** #13 0x001ac856 in IA__gtk_file_chooser_button_new (title=0x8048bc2 "Such' Dir was aus", action=GTK_FILE_CHOOSER_ACTION_OPEN) at gtkfilechooserbutton.c:2285** #14 0x08048a30 in main (argc=1, argv=0xbfbccc24) at main.c:72**** if I remove the use of GtkFileChooserButton it does not crash, so something** from "inside" GtkFileChooserButton causes this crash. If I run this _with_** the GtkFileChooserButton against gtk+-2.6.10 all is well and it doesn't crash** I hope someone with a better knowledge of the code of GtkFileChooserButton** has an idea what might be causing this.*********************************************************************************/#include <gtk/gtk.h>#include <gdk/gdkkeysyms.h>gboolean keyPressHandler (GtkWidget* pWidget, GdkEventKey* pKey, GtkWidget* pDummy){ if (pKey->type == GDK_KEY_PRESS) { switch (pKey->keyval) { case GDK_Escape : gtk_main_quit (); break; default : printf ("keyPressHandler(): Wat, wie, wo, haeh?\n"); break; } } else { printf ("keyPressHandler(): Dat is doch unmoeglich?\n"); } return FALSE;}int main( int argc, char* argv[] ){ GtkWidget* pWindow; GtkWidget* pFileChooserButton; /* init gtk+ */ gtk_init (&argc, &argv); /* top-level window */ pWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (pWindow), "GtkFileChooserButton Test"); gtk_widget_set_size_request (pWindow, 250, -1); /* get automatically redrawn if any of their children changed allocation. */ gtk_container_set_reallocate_redraws (GTK_CONTAINER (pWindow), TRUE); g_signal_connect (G_OBJECT (pWindow), "delete_event", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect (G_OBJECT (pWindow), "key_press_event", G_CALLBACK (keyPressHandler), pWindow); /* file-chooser button */ pFileChooserButton = gtk_file_chooser_button_new ("Such' Dir was aus", GTK_FILE_CHOOSER_ACTION_OPEN); gtk_container_add (GTK_CONTAINER (pWindow), pFileChooserButton); gtk_widget_show (pFileChooserButton); /* show window */ gtk_widget_show (pWindow); /* main loop */ gtk_main (); return 0;}