Я пишу простое приложение, чтобы показать диалоговое окно да / нет. Вот моя программа:
static gint confirmation_dialog()
{
GtkWidget *label;
GtkWidget *box;
GtkWidget *dialog;
gint response;
gtk_init(NULL,NULL);
/* If we use convenience API function gtk_dialog_new_with_buttons,
* last six function calls can be written as: */
dialog = gtk_dialog_new_with_buttons( "Confirmation",
NULL,
GTK_DIALOG_MODAL,
GTK_STOCK_YES, GTK_RESPONSE_YES,
GTK_STOCK_NO, GTK_RESPONSE_NO,
NULL );
/* Create label */
label = gtk_label_new( "There is new update, do you want to proceed?" );
/* Pack label, taking API change in account. */
#if GTK_MINOR_VERSION < 14
box = GTK_DIALOG(dialog)->vbox;
#else
box = gtk_dialog_get_content_area( GTK_DIALOG( dialog ) );
#endif
gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 0);
/* Show dialog */
gtk_widget_show_all( dialog );
/* Run dialog */
response = gtk_dialog_run(GTK_DIALOG(dialog));
//gtk_widget_hide( dialog );
gtk_widget_destroy(dialog);
return response;
}
Когда я нажимаю кнопку «Да» или «Нет», возвращается значение ответа. Но программа не может выйти из диалогового окна. Может ли кто-нибудь помочь мне выяснить проблему?
Большое спасибо.