ui/gtk/window.c

changeset 1124
6f36bf17035f
parent 1123
42ef3156ea09
child 1125
428ee5baec0e
equal deleted inserted replaced
1123:42ef3156ea09 1124:6f36bf17035f
545 "destroy", 545 "destroy",
546 G_CALLBACK(ui_destroy_userdata), 546 G_CALLBACK(ui_destroy_userdata),
547 event); 547 event);
548 548
549 g_signal_connect(dialog, "response", G_CALLBACK(dialog_response), event); 549 g_signal_connect(dialog, "response", G_CALLBACK(dialog_response), event);
550 adw_dialog_present(dialog, parent->widget); 550 adw_dialog_present(dialog, parent ? parent->widget : NULL);
551 551
552 if(entry) { 552 if(entry) {
553 gtk_entry_grab_focus_without_selecting(GTK_ENTRY(entry)); 553 gtk_entry_grab_focus_without_selecting(GTK_ENTRY(entry));
554 } 554 }
555 } 555 }
557 557
558 static void ui_dialog_response (GtkDialog* self, gint response_id, gpointer user_data) { 558 static void ui_dialog_response (GtkDialog* self, gint response_id, gpointer user_data) {
559 UiEventData *data = user_data; 559 UiEventData *data = user_data;
560 UiEvent evt; 560 UiEvent evt;
561 evt.obj = data->obj; 561 evt.obj = data->obj;
562 evt.document = evt.obj->ctx->document; 562 if(evt.obj) {
563 evt.window = evt.obj->window; 563 evt.document = evt.obj->ctx->document;
564 evt.window = evt.obj->window;
565 } else {
566 evt.document = NULL;
567 evt.window = NULL;
568 }
569
564 evt.eventdata = NULL; 570 evt.eventdata = NULL;
565 evt.intval = 0; 571 evt.intval = 0;
566 572
567 if(data->customdata) { 573 if(data->customdata) {
568 GtkWidget *entry = data->customdata; 574 GtkWidget *entry = data->customdata;

mercurial