Commit e8bd745b7d6d5e436f4b7e26dd79f162d91ea478

Authored by Perry Werneck
1 parent a2439a5b
Exists in master and in 1 other branch develop

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"),
... ...