tFallback from GTK+2 dialog box to "old" code if parent is NULL, since a NULL parent pointer drives GTK+2 nuts. - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 12cf5219c5558ea4f2c42e8ca41c1e90f4a52ec2
(DIR) parent 1bf0580bf885a6bef379a4b744c8f5f0c9fc3ee1
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Mon, 25 Mar 2002 16:49:54 +0000
Fallback from GTK+2 dialog box to "old" code if parent is NULL, since a
NULL parent pointer drives GTK+2 nuts.
Diffstat:
M src/gtkport/gtkport.c | 72 ++++++++++++++++---------------
1 file changed, 38 insertions(+), 34 deletions(-)
---
(DIR) diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c
t@@ -5004,38 +5004,6 @@ GtkWidget *gtk_scrolled_text_new(GtkAdjustment *hadj, GtkAdjustment *vadj,
return text;
}
-#ifdef HAVE_GLIB2
-
-gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
- const gchar *Title, gint Options)
-{
- GtkWidget *dialog;
- gboolean immreturn;
- gint retval;
- GtkButtonsType buttons = GTK_BUTTONS_NONE;
-
- immreturn = (Options & MB_IMMRETURN);
- if (Options & MB_CANCEL) buttons = GTK_BUTTONS_OK_CANCEL;
- else if (Options & MB_OK) buttons = GTK_BUTTONS_OK;
- else if (Options & MB_YESNO) buttons = GTK_BUTTONS_YES_NO;
-
- dialog = gtk_message_dialog_new(GTK_WINDOW(parent),
- immreturn ? 0 : GTK_DIALOG_MODAL,
- GTK_MESSAGE_INFO,
- buttons, Text);
- if (Title) gtk_window_set_title(GTK_WINDOW(dialog), Title);
-
- if (immreturn) {
- return GTK_RESPONSE_NONE;
- } else {
- retval = gtk_dialog_run(GTK_DIALOG(dialog));
- gtk_widget_destroy(dialog);
- return retval;
- }
-}
-
-#else
-
static void DestroyGtkMessageBox(GtkWidget *widget, gpointer data)
{
gtk_main_quit();
t@@ -5053,8 +5021,8 @@ static void GtkMessageBoxCallback(GtkWidget *widget, gpointer data)
gtk_widget_destroy(dialog);
}
-gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
- const gchar *Title, gint Options)
+gint OldGtkMessageBox(GtkWidget *parent, const gchar *Text,
+ const gchar *Title, gint Options)
{
GtkWidget *dialog, *button, *label, *vbox, *hbbox, *hsep;
GtkAccelGroup *accel_group;
t@@ -5115,6 +5083,42 @@ gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
return retval;
}
+#ifdef HAVE_GLIB2
+
+gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
+ const gchar *Title, gint Options)
+{
+ GtkWidget *dialog;
+ gint retval;
+ GtkButtonsType buttons = GTK_BUTTONS_NONE;
+
+ if (Options & MB_IMMRETURN || !parent) {
+ return OldGtkMessageBox(parent, Text, Title, Options);
+ }
+
+ if (Options & MB_CANCEL) buttons = GTK_BUTTONS_OK_CANCEL;
+ else if (Options & MB_OK) buttons = GTK_BUTTONS_OK;
+ else if (Options & MB_YESNO) buttons = GTK_BUTTONS_YES_NO;
+
+ dialog = gtk_message_dialog_new(GTK_WINDOW(parent),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_INFO,
+ buttons, Text);
+ if (Title) gtk_window_set_title(GTK_WINDOW(dialog), Title);
+
+ retval = gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ return retval;
+}
+
+#else
+
+gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
+ const gchar *Title, gint Options)
+{
+ return OldGtkMessageBox(parent, Text, Title, Options);
+}
+
#endif
static void gtk_url_set_cursor(GtkWidget *widget, GtkWidget *label)