@Fabian: I've produced the attached patch against upstream's CVS; could
 you take care of forwarding it?

-- 
Loïc Minier
? prefix
? plugins/audiocodec/.libs
? plugins/audiocodec/ima4.lo
? plugins/audiocodec/lqt_audiocodec.la
? plugins/audiocodec/lqt_audiocodec.lo
? plugins/audiocodec/pcm.lo
? plugins/dv/.libs
? plugins/dv/dv.lo
? plugins/dv/lqt_dv.la
? plugins/dv/lqt_dv.lo
? plugins/ffmpeg/.libs
? plugins/ffmpeg/audio.lo
? plugins/ffmpeg/lqt_ffmpeg.la
? plugins/ffmpeg/lqt_ffmpeg.lo
? plugins/ffmpeg/params.lo
? plugins/ffmpeg/video.lo
? plugins/mjpeg/.libs
? plugins/mjpeg/jpeg.lo
? plugins/mjpeg/libmjpeg.lo
? plugins/mjpeg/lqt_mjpeg.la
? plugins/mjpeg/lqt_mjpeg.lo
? plugins/png/.libs
? plugins/png/lqt_png.la
? plugins/png/lqt_png.lo
? plugins/png/qtpng.lo
? plugins/rtjpeg/.libs
? plugins/rtjpeg/RTjpeg.lo
? plugins/rtjpeg/lqt_rtjpeg.la
? plugins/rtjpeg/lqt_rtjpeg.lo
? plugins/rtjpeg/rtjpeg_codec.lo
? plugins/videocodec/.libs
? plugins/videocodec/lqt_videocodec.la
? plugins/videocodec/lqt_videocodec.lo
? plugins/videocodec/raw.lo
? plugins/videocodec/v210.lo
? plugins/videocodec/v308.lo
? plugins/videocodec/v408.lo
? plugins/videocodec/v410.lo
? plugins/videocodec/videocodec.lo
? plugins/videocodec/yuv2.lo
? plugins/videocodec/yuv4.lo
? plugins/videocodec/yv12.lo
? plugins/vorbis/.libs
? plugins/vorbis/lqt_vorbis.la
? plugins/vorbis/lqt_vorbis.lo
? plugins/vorbis/vorbis.lo
? src/.libs
? src/atom.lo
? src/audio.lo
? src/avi_avih.lo
? src/avi_guid.lo
? src/avi_hdrl.lo
? src/avi_idx1.lo
? src/avi_indx.lo
? src/avi_info.lo
? src/avi_ix.lo
? src/avi_movi.lo
? src/avi_odml.lo
? src/avi_riff.lo
? src/avi_strf.lo
? src/avi_strh.lo
? src/avi_strl.lo
? src/chan.lo
? src/charset.lo
? src/clap.lo
? src/cmodel_default.lo
? src/cmodel_yuv420p.lo
? src/cmodel_yuv422.lo
? src/colormodels.lo
? src/colr.lo
? src/ctab.lo
? src/ctts.lo
? src/dinf.lo
? src/dref.lo
? src/edts.lo
? src/elst.lo
? src/enda.lo
? src/esds.lo
? src/fiel.lo
? src/frma.lo
? src/ftab.lo
? src/ftyp.lo
? src/gama.lo
? src/gmhd.lo
? src/gmhd_text.lo
? src/gmin.lo
? src/hdlr.lo
? src/imgp.lo
? src/impn.lo
? src/iods.lo
? src/language.lo
? src/libquicktime.la
? src/log.lo
? src/lqt_bufalloc.lo
? src/lqt_codecfile.lo
? src/lqt_codecinfo.lo
? src/lqt_codecs.lo
? src/lqt_color.lo
? src/lqt_divx.lo
? src/lqt_qtvr.lo
? src/lqt_quicktime.lo
? src/matrix.lo
? src/mdat.lo
? src/mdhd.lo
? src/mdia.lo
? src/minf.lo
? src/moov.lo
? src/multichannel.lo
? src/mvhd.lo
? src/navg.lo
? src/ndhd.lo
? src/nloc.lo
? src/nmhd.lo
? src/obji.lo
? src/pHdr.lo
? src/pano.lo
? src/pasp.lo
? src/pdat.lo
? src/qtatom.lo
? src/qtvr.lo
? src/smhd.lo
? src/stbl.lo
? src/stco.lo
? src/stsc.lo
? src/stsd.lo
? src/stsdtable.lo
? src/stss.lo
? src/stsz.lo
? src/stts.lo
? src/texttrack.lo
? src/tkhd.lo
? src/trak.lo
? src/translation.lo
? src/tref.lo
? src/udta.lo
? src/useratoms.lo
? src/util.lo
? src/vmhd.lo
? src/vrni.lo
? src/vrnp.lo
? src/vrsc.lo
? src/wave.lo
? src/workarounds.lo
? utils/.libs
? utils/dump_codecs
? utils/gen_colorspace_tables
? utils/lqt_transcode
? utils/lqtplay
? utils/qt2text
? utils/qtdechunk
? utils/qtdump
? utils/qtinfo
? utils/qtrechunk
? utils/qtstreamize
? utils/qtyuv4toyuv
? utils/test_codec
? utils/testqt
? utils/gtk/.libs
? utils/gtk/libquicktime_config
Index: ChangeLog
===================================================================
RCS file: /cvsroot/libquicktime/libquicktime/ChangeLog,v
retrieving revision 1.3
diff -u -p -r1.3 ChangeLog
--- ChangeLog	26 Mar 2007 21:26:48 -0000	1.3
+++ ChangeLog	29 Sep 2007 14:08:12 -0000
@@ -1,3 +1,15 @@
+2007-09-29  Loïc Minier <[EMAIL PROTECTED]>
+
+	* configure.ac, utils/gtk/lqt_gtk.c, utils/gtk/lqt_gtk.h: Port to new
+	  GtkTooltip API.
+	  - Require Gtk+ 2.12.0 for the new GtkTooltip API.
+	  - Use PKG_CHECK_MODULES instead of AM_PATH_GTK_2_0 to check the
+	    required Gtk+ version.
+	  - Fix Gtk version in build option output.
+	  - Drop tooltips member in struct and parameter.
+	  - Use gtk_widget_set_tooltip_text() instead of
+	    gtk_tooltips_set_tooltip()
+
 2007-03-25  gettextize  <[EMAIL PROTECTED]>
 
 	* Makefile.am (EXTRA_DIST): Add config.rpath.
Index: configure.ac
===================================================================
RCS file: /cvsroot/libquicktime/libquicktime/configure.ac,v
retrieving revision 1.129
diff -u -p -r1.129 configure.ac
--- configure.ac	9 Sep 2007 17:50:22 -0000	1.129
+++ configure.ac	29 Sep 2007 14:08:12 -0000
@@ -356,11 +356,11 @@ dnl
 dnl Check for gtk
 dnl This is neccesary for the utils/gtk subdirectory
 dnl
-GTK_REQUIRED="2.4.0"
+GTK_REQUIRED="2.12.0"
 AC_ARG_WITH([gtk], AS_HELP_STRING([--without-gtk], [Build without gtk library (default: test)]))
 
 if test "x$with_gtk" != "xno"; then
-AM_PATH_GTK_2_0($GTK_REQUIRED, have_gtk=true, have_gtk=false)
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED, have_gtk="true", have_gtk="false")
 fi
 
 AM_CONDITIONAL(HAVE_GTK, test x$have_gtk = xtrue)
@@ -895,7 +895,7 @@ else
 echo "Missing (Go to http://www.ffmpeg.org/)"
 fi
 
-echo -n "gtk >= 2.4.0: "
+echo -n "gtk >= $GTK_REQUIRED: "
 if test x$have_gtk = "xtrue"; then
 echo "Yes"
 else
Index: utils/gtk/lqt_gtk.c
===================================================================
RCS file: /cvsroot/libquicktime/libquicktime/utils/gtk/lqt_gtk.c,v
retrieving revision 1.16
diff -u -p -r1.16 lqt_gtk.c
--- utils/gtk/lqt_gtk.c	23 Apr 2007 20:53:44 -0000	1.16
+++ utils/gtk/lqt_gtk.c	29 Sep 2007 14:08:14 -0000
@@ -152,7 +152,7 @@ static void parameter_widget_update(LqtG
   }
 
 /*
- *  Really dirty trick to get tooltips for a GtkComboBox working:
+ *  Really dirty trick to get tooltip for a GtkComboBox working:
  *  loop through all container children and set the tooltip for
  *  the child, which is a button
  */
@@ -161,12 +161,9 @@ static void
 set_combo_tooltip(GtkWidget *widget, gpointer   data)
   {
   LqtGtkParameterWidget * w = (LqtGtkParameterWidget *)data;
-  //  GtkTooltips *tooltips = (GtkTooltips *)data;
 
   if(GTK_IS_BUTTON (widget))
-    gtk_tooltips_set_tip(w->tooltips, widget,
-                         w->parameter_info->help_string,
-                         NULL);
+    gtk_widget_set_tooltip_text(widget, w->parameter_info->help_string);
   }
 
 static void
@@ -181,11 +178,10 @@ realize_combo(GtkWidget *combo, gpointer
 
 
 LqtGtkParameterWidget *
-lqtgtk_create_parameter_widget(lqt_parameter_info_t * info, GtkTooltips * tooltips)
+lqtgtk_create_parameter_widget(lqt_parameter_info_t * info)
   {
   int i;
   LqtGtkParameterWidget * ret = calloc(1, sizeof(LqtGtkParameterWidget));
-  ret->tooltips = tooltips;
   ret->parameter_info = info;
   
   switch(info->type)
@@ -197,7 +193,7 @@ lqtgtk_create_parameter_widget(lqt_param
         {
         ret->widget = gtk_check_button_new_with_label(info->real_name);
         if(info->help_string)
-          gtk_tooltips_set_tip(ret->tooltips, ret->widget, info->help_string, info->help_string);
+          gtk_widget_set_tooltip_text(ret->widget, info->help_string);
         }
       /* Integer with limits -> slider */
       else if(info->val_min.val_int < info->val_max.val_int)
@@ -216,7 +212,7 @@ lqtgtk_create_parameter_widget(lqt_param
         
         gtk_scale_set_digits(GTK_SCALE(ret->widget), 0);
         if(info->help_string)
-          gtk_tooltips_set_tip(ret->tooltips, ret->widget, info->help_string, info->help_string);
+          gtk_widget_set_tooltip_text(ret->widget, info->help_string);
         }
       /* Spinbutton */
       else
@@ -233,7 +229,7 @@ lqtgtk_create_parameter_widget(lqt_param
                                           0.0,
                                           0);
         if(info->help_string)
-          gtk_tooltips_set_tip(ret->tooltips, ret->widget, info->help_string, info->help_string);
+          gtk_widget_set_tooltip_text(ret->widget, info->help_string);
         }
       break;
     case LQT_PARAMETER_FLOAT:
@@ -260,7 +256,7 @@ lqtgtk_create_parameter_widget(lqt_param
                                 GTK_POS_LEFT);
         
         if(info->help_string)
-          gtk_tooltips_set_tip(ret->tooltips, ret->widget, info->help_string, info->help_string);
+          gtk_widget_set_tooltip_text(ret->widget, info->help_string);
         }
       /* Spinbutton */
       else
@@ -281,7 +277,7 @@ lqtgtk_create_parameter_widget(lqt_param
                                    info->num_digits);
 
         if(info->help_string)
-          gtk_tooltips_set_tip(ret->tooltips, ret->widget, info->help_string, info->help_string);
+          gtk_widget_set_tooltip_text(ret->widget, info->help_string);
         }
       break;
     case LQT_PARAMETER_STRING:
@@ -289,7 +285,7 @@ lqtgtk_create_parameter_widget(lqt_param
       gtk_misc_set_alignment(GTK_MISC(ret->label), 0.0, 0.5);
       ret->widget = gtk_entry_new();
       if(info->help_string)
-        gtk_tooltips_set_tip(ret->tooltips, ret->widget, info->help_string, info->help_string);
+        gtk_widget_set_tooltip_text(ret->widget, info->help_string);
       break;
     case LQT_PARAMETER_STRINGLIST:    /* String with options */
       ret->selected = 0;
@@ -343,7 +339,7 @@ lqtgtk_destroy_parameter_widget(LqtGtkPa
 
 static GtkWidget * create_table(lqt_parameter_info_t * parameter_info,
                                 LqtGtkParameterWidget ** widgets,
-                                int num_parameters, GtkTooltips * tooltips)
+                                int num_parameters)
   {
   int i;
   GtkWidget * ret;
@@ -358,7 +354,7 @@ static GtkWidget * create_table(lqt_para
   for(i = 0; i < num_parameters; i++)
     {
     widgets[i] =
-      lqtgtk_create_parameter_widget(&parameter_info[i], tooltips);
+      lqtgtk_create_parameter_widget(&parameter_info[i]);
 
     /* Bool parameters have no labels */
 
@@ -391,15 +387,6 @@ lqtgtk_create_codec_config_widget(lqt_pa
   int parameters_in_section;
   LqtGtkCodecConfigWidget * ret = calloc(1, sizeof(LqtGtkCodecConfigWidget));
 
-  ret->tooltips = gtk_tooltips_new();
-  g_object_ref (G_OBJECT (ret->tooltips));
-
-#if GTK_MINOR_VERSION < 10
-  gtk_object_sink (GTK_OBJECT (ret->tooltips));
-#else
-  g_object_ref_sink(G_OBJECT(ret->tooltips));
-#endif
-  
   if(parameter_info[0].type == LQT_PARAMETER_SECTION)
     {
     for(i = 0; i < num_parameters; i++)
@@ -435,7 +422,7 @@ lqtgtk_create_codec_config_widget(lqt_pa
       /* Create table */
       table = create_table(&(parameter_info[parameter_index]),
                            &(ret->parameter_widgets[parameter_index - i - 1]),
-                           parameters_in_section, ret->tooltips);
+                           parameters_in_section);
       
       /* Append table */
 
@@ -453,7 +440,7 @@ lqtgtk_create_codec_config_widget(lqt_pa
   else
     ret->widget = create_table(parameter_info,
                                ret->parameter_widgets,
-                               num_parameters, ret->tooltips);
+                               num_parameters);
   
   return ret;
   }
Index: utils/gtk/lqt_gtk.h
===================================================================
RCS file: /cvsroot/libquicktime/libquicktime/utils/gtk/lqt_gtk.h,v
retrieving revision 1.9
diff -u -p -r1.9 lqt_gtk.h
--- utils/gtk/lqt_gtk.h	12 Feb 2007 12:37:10 -0000	1.9
+++ utils/gtk/lqt_gtk.h	29 Sep 2007 14:08:14 -0000
@@ -21,11 +21,10 @@ typedef struct
   lqt_parameter_info_t * parameter_info;
 
   int selected;
-  GtkTooltips * tooltips;
   } LqtGtkParameterWidget;
 
 LqtGtkParameterWidget *
-lqtgtk_create_parameter_widget(lqt_parameter_info_t * info, GtkTooltips * tooltips);
+lqtgtk_create_parameter_widget(lqt_parameter_info_t * info);
 
 void lqtgtk_destroy_parameter_widget(LqtGtkParameterWidget*);
 
@@ -47,7 +46,6 @@ typedef struct
 
   lqt_parameter_info_t * parameter_info;
   int num_parameters;
-  GtkTooltips * tooltips;
   } LqtGtkCodecConfigWidget;
 
 LqtGtkCodecConfigWidget *

Reply via email to