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)