2009/2/10 Victor Vladimir Chavez Gallardo <[email protected]> > Hi, guys > > i have the next code > ==================================================================== > mainIcon = gtk_status_icon_new_from_file(icon_filename); > > GtkWidget *menu_popup; > menu_popup = glade_xml_get_widget(xml, "main_menu"); > gtk_menu_popup(GTK_MENU(menu_popup) , NULL, NULL, NULL, NULL, 0,0); > ==================================================================== > > my GtkMenu is showed, but, if i send the widget via data in > g_signal_connect i get an segfault, with gdb i see a problem with > g_type_check_instance_cast () > > wrong code via g_signal_connect() > ===================================================================== > void tray_icon_button_press (GtkWidget *widget, GtkWidget *menu) > { > gtk_menu_popup( GTK_MENU (menu) , NULL, NULL, NULL, NULL, 0, 0); > } > > mainIcon = gtk_status_icon_new_from_file(icon_filename); > > GtkWidget *menu_popup; > menu_popup = glade_xml_get_widget(xml, "main_menu"); > g_signal_connect(G_OBJECT(mainIcon), "popup-menu", > G_CALLBACK(tray_icon_button_press), menu_popup ); > > ==================================================================================================== >
The documentation for GtkStatusIcon[1] says that the signature of the callback for "popup-menu" is: void user_function (GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data) So it looks like you are casting a guint to a GtkMenu right there. In the future questions like this are better off on the gtk-app-devel-list[2]. [1]: http://library.gnome.org/devel/gtk/2.14/GtkStatusIcon.html#GtkStatusIcon-popup-menu [2]: http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list Good luck with your application! Cheers, Mikkel
_______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
