包装菜单栏时出现分段错误

时间:2019-01-26 13:51:03

标签: gtk gtk2

我有一个程序,当调用gtk_box_pack_start()打包菜单栏时,它神秘地崩溃了。我在这里http://zetcode.com/gui/gtk2/menusandtoolbars/遵循了一个教程。

Github:https://github.com/Taisho/c-gstreamer-audio-player

文件:client / client.c

这里只有相关代码:

void init_menus(vbox) {
    GtkWidget *daemon_menu = gtk_menu_new ();    /* Don't need to show menus */
    GtkWidget *connect_item = gtk_menu_item_new_with_label ("Connect");
    GtkWidget *preferences_item = gtk_menu_item_new_with_label ("Preferences");
    gtk_menu_append (GTK_MENU (daemon_menu), connect_item);
    gtk_menu_append (GTK_MENU (daemon_menu), preferences_item);
    gtk_widget_show (connect_item);
    gtk_widget_show (preferences_item);

    GtkWidget *menu_bar = gtk_menu_bar_new ();

    gtk_box_pack_start(GTK_BOX(vbox), menu_bar, FALSE,FALSE,0); //<-- segmentation fault here

    gtk_widget_show (menu_bar);

    GtkWidget *file_item = gtk_menu_item_new_with_label ("File");
    gtk_widget_show (file_item);
}
正在通过常规vbox从main()中调用

init_menus()

int main (int argc, char **argv) {
   ...
   gtk_init(&argc, &argv);
   ...
   vbox = gtk_vbox_new (FALSE, 0);
   ...
   init_menus(vbox);
}

0 个答案:

没有答案