ui/gtk/window.c

changeset 1125
428ee5baec0e
parent 1124
6f36bf17035f
equal deleted inserted replaced
1124:6f36bf17035f 1125:428ee5baec0e
501 } 501 }
502 502
503 if(data->callback) { 503 if(data->callback) {
504 data->callback(&evt, data->userdata); 504 data->callback(&evt, data->userdata);
505 } 505 }
506
507 ui_app_unref();
506 } 508 }
507 509
508 void ui_dialog_create(UiObject *parent, UiDialogArgs *args) { 510 void ui_dialog_create(UiObject *parent, UiDialogArgs *args) {
509 AdwDialog *dialog = adw_alert_dialog_new(args->title, args->content); 511 AdwDialog *dialog = adw_alert_dialog_new(args->title, args->content);
510 UiEventData *event = malloc(sizeof(UiEventData)); 512 UiEventData *event = malloc(sizeof(UiEventData));
545 "destroy", 547 "destroy",
546 G_CALLBACK(ui_destroy_userdata), 548 G_CALLBACK(ui_destroy_userdata),
547 event); 549 event);
548 550
549 g_signal_connect(dialog, "response", G_CALLBACK(dialog_response), event); 551 g_signal_connect(dialog, "response", G_CALLBACK(dialog_response), event);
552 ui_app_ref();
550 adw_dialog_present(dialog, parent ? parent->widget : NULL); 553 adw_dialog_present(dialog, parent ? parent->widget : NULL);
551 554
552 if(entry) { 555 if(entry) {
553 gtk_entry_grab_focus_without_selecting(GTK_ENTRY(entry)); 556 gtk_entry_grab_focus_without_selecting(GTK_ENTRY(entry));
554 } 557 }

mercurial