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,14 +47,19 @@ | ||
47 | // https://developer.gnome.org/hig/stable/dialogs.html.en | 47 | // https://developer.gnome.org/hig/stable/dialogs.html.en |
48 | // https://developer.gnome.org/hig/stable/visual-layout.html.en | 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 | g_return_val_if_fail(GTK_IS_WIDGET(widget),GTK_RESPONSE_NONE); | 51 | g_return_val_if_fail(GTK_IS_WIDGET(widget),GTK_RESPONSE_NONE); |
51 | 52 | ||
52 | // Check if the dialog is enabled | 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 | debug("%s: name=%s allow-disabling: %s", __FUNCTION__, popup->name, allow_disabling ? "Yes" : "No"); | 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 | GtkResponseType response = 0; | 64 | GtkResponseType response = 0; |
60 | 65 | ||
@@ -109,11 +114,19 @@ | @@ -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 | // Create dialog | 125 | // Create dialog |
113 | GtkWidget * dialog = | 126 | GtkWidget * dialog = |
114 | gtk_message_dialog_new_with_markup( | 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 | settings[popup->type].type, | 130 | settings[popup->type].type, |
118 | GTK_BUTTONS_NONE, | 131 | GTK_BUTTONS_NONE, |
119 | (popup->body ? "<b><big>%s</big></b>" : "%s"), | 132 | (popup->body ? "<b><big>%s</big></b>" : "%s"), |