Commit e8bd745b7d6d5e436f4b7e26dd79f162d91ea478
1 parent
a2439a5b
Exists in
master
and in
1 other branch
Small adjustment in popup dialog.
Showing
1 changed file
with
17 additions
and
4 deletions
Show diff stats
src/dialogs/popups.c
| ... | ... | @@ -47,14 +47,19 @@ |
| 47 | 47 | // https://developer.gnome.org/hig/stable/dialogs.html.en |
| 48 | 48 | // https://developer.gnome.org/hig/stable/visual-layout.html.en |
| 49 | 49 | |
| 50 | + // For some reason we can't pass 'null' to gtk_message_dialog_new_with_markup!! | |
| 50 | 51 | g_return_val_if_fail(GTK_IS_WIDGET(widget),GTK_RESPONSE_NONE); |
| 51 | 52 | |
| 52 | 53 | // Check if the dialog is enabled |
| 53 | - gboolean allow_disabling = (popup->name && GTK_IS_V3270(widget)); | |
| 54 | + gboolean allow_disabling = FALSE; | |
| 55 | + | |
| 56 | + if(widget && GTK_IS_WIDGET(widget)) { | |
| 57 | + allow_disabling = (popup->name && GTK_IS_V3270(widget)); | |
| 58 | + } | |
| 54 | 59 | |
| 55 | 60 | debug("%s: name=%s allow-disabling: %s", __FUNCTION__, popup->name, allow_disabling ? "Yes" : "No"); |
| 56 | 61 | |
| 57 | - if(allow_disabling) { | |
| 62 | + if(widget && allow_disabling) { | |
| 58 | 63 | |
| 59 | 64 | GtkResponseType response = 0; |
| 60 | 65 | |
| ... | ... | @@ -109,11 +114,19 @@ |
| 109 | 114 | |
| 110 | 115 | }; |
| 111 | 116 | |
| 117 | + // Get toplevel | |
| 118 | + GtkDialogFlags flags = 0; | |
| 119 | + GtkWindow *window = NULL; | |
| 120 | + if(widget) { | |
| 121 | + flags = GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT; | |
| 122 | + window = GTK_WINDOW(gtk_widget_get_toplevel(widget)); | |
| 123 | + } | |
| 124 | + | |
| 112 | 125 | // Create dialog |
| 113 | 126 | GtkWidget * dialog = |
| 114 | 127 | gtk_message_dialog_new_with_markup( |
| 115 | - GTK_WINDOW(gtk_widget_get_toplevel(widget)), | |
| 116 | - GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, | |
| 128 | + window, | |
| 129 | + flags, | |
| 117 | 130 | settings[popup->type].type, |
| 118 | 131 | GTK_BUTTONS_NONE, |
| 119 | 132 | (popup->body ? "<b><big>%s</big></b>" : "%s"), | ... | ... |