Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv28055

Modified Files:
        configure.ac dcraw.h dcraw_api.h dcraw_indi.c uf_glib.h 
        uf_gtk.cc uf_gtk.h ufobject.h ufraw-gimp.c ufraw.c 
        ufraw_chooser.c ufraw_exiv2.cc ufraw_lens_ui.c 
        ufraw_lensfun.cc ufraw_preview.c ufraw_ufraw.c 
Log Message:
Update version to 0.18. Update version requirements of various libraries. Clean 
up code.

Index: dcraw_api.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw_api.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- dcraw_api.h 23 Feb 2010 19:36:43 -0000      1.41
+++ dcraw_api.h 5 Apr 2010 14:30:18 -0000       1.42
@@ -16,7 +16,7 @@
 #ifndef _DCRAW_API_H
 #define _DCRAW_API_H
 
-#ifdef  __cplusplus
+#ifdef __cplusplus
 extern "C" {
 #endif
 
@@ -82,7 +82,7 @@
 
 void dcraw_message(void *dcraw, int code, char *format, ...);
 
-#ifdef  __cplusplus
+#ifdef __cplusplus
 }
 #endif
 

Index: ufraw_chooser.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_chooser.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- ufraw_chooser.c     23 Jan 2010 05:00:58 -0000      1.31
+++ ufraw_chooser.c     5 Apr 2010 14:30:18 -0000       1.32
@@ -15,13 +15,11 @@
 #include <string.h>
 #include <glib/gi18n.h>
 
-#if GTK_CHECK_VERSION(2,6,0)
 void ufraw_chooser_toggle(GtkToggleButton *button, GtkFileChooser *fileChooser)
 {
     gtk_file_chooser_set_show_hidden(fileChooser,
            gtk_toggle_button_get_active(button));
 }
-#endif
 
 /* Create a GtkFileChooser dialog for selecting raw files */
 GtkFileChooser *ufraw_raw_chooser(conf_data *conf,
@@ -45,7 +43,7 @@
                                 GDK_WINDOW_TYPE_HINT_NORMAL);
     else
        ufraw_focus(fileChooser, TRUE);
-    uf_window_set_icon_name(GTK_WINDOW(fileChooser), "ufraw");
+    gtk_window_set_icon_name(GTK_WINDOW(fileChooser), "ufraw");
     ufraw_message(UFRAW_SET_PARENT, (char *)fileChooser);
 
     if (defPath!=NULL) {
@@ -113,14 +111,12 @@
     gtk_file_filter_add_pattern(filter, "*");
     gtk_file_chooser_add_filter(fileChooser, filter);
 
-#if GTK_CHECK_VERSION(2,6,0)
     gtk_file_chooser_set_show_hidden(fileChooser, FALSE);
     GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden 
files"));
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
     g_signal_connect(G_OBJECT(button), "toggled",
            G_CALLBACK(ufraw_chooser_toggle), fileChooser);
     gtk_file_chooser_set_extra_widget(fileChooser, button);
-#endif
     if (multiple)
        gtk_file_chooser_set_select_multiple(fileChooser, TRUE);
     /* Add shortcut to folder of last opened file */

Index: ufraw_exiv2.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_exiv2.cc,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- ufraw_exiv2.cc      26 Feb 2010 03:30:10 -0000      1.56
+++ ufraw_exiv2.cc      5 Apr 2010 14:30:18 -0000       1.57
@@ -16,9 +16,7 @@
 
 #ifdef HAVE_EXIV2
 #include <exiv2/image.hpp>
-#if EXIV2_TEST_VERSION(0,18,1)
 #include <exiv2/easyaccess.hpp>
-#endif
 #include <exiv2/exif.hpp>
 #include <sstream>
 #include <cassert>
@@ -30,14 +28,7 @@
 static void uf_strlcpy_to_utf8(char *dest, size_t dest_max,
        Exiv2::ExifData::const_iterator pos, Exiv2::ExifData& exifData)
 {
-#if EXIV2_TEST_VERSION(0,18,0)
     std::string str = pos->print(&exifData);
-#else
-    (void)exifData;
-    std::stringstream strm;
-    strm << *pos;
-    std::string str = strm.str();
-#endif
 
     char *s = g_locale_to_utf8(str.c_str(), str.length(),
                                NULL, NULL, NULL);
@@ -104,55 +95,18 @@
        uf->conf->aperture = pos->toFloat ();
     }
     /* Read ISO speed */
-#if EXIV2_TEST_VERSION(0,18,1)
     if ( (pos=Exiv2::isoSpeed(exifData)) != exifData.end() ) {
        uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
     }
-#else
-    if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Photo.ISOSpeedRatings")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey(
-                       "Exif.CanonSi.ISOSpeed"))) != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon1.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon2.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(
-                   Exiv2::ExifKey("Exif.MinoltaCsNew.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(
-                   Exiv2::ExifKey("Exif.MinoltaCsOld.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(
-                   Exiv2::ExifKey("Exif.MinoltaCs5D.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey(
-                       "Exif.MinoltaCs7D.ISOSpeed")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData);
-    }
-#endif
     /* Read focal length */
     if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Photo.FocalLength")))
            != exifData.end() ) {
        uf_strlcpy_to_utf8(uf->conf->focalLenText, max_name, pos, exifData);
        uf->conf->focal_len = pos->toFloat ();
-#if EXIV2_TEST_VERSION(0,18,1)
     } else if ( (pos=exifData.findKey(Exiv2::ExifKey(
                        "Exif.Canon.FocalLength"))) != exifData.end() ) {
        uf_strlcpy_to_utf8(uf->conf->focalLenText, max_name, pos, exifData);
        uf->conf->focal_len = pos->toFloat ();
-#endif
     }
     /* Read focal length in 35mm equivalent */
     if ( (pos=exifData.findKey(Exiv2::ExifKey(
@@ -161,40 +115,9 @@
        uf_strlcpy_to_utf8(uf->conf->focalLen35Text, max_name, pos, exifData);
     }
     /* Read full lens name */
-#if EXIV2_TEST_VERSION(0,18,1)
     if ( (pos=Exiv2::lensName(exifData)) != exifData.end() ) {
        uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
     }
-#else
-    if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.LensData")))
-           != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
-       /* Read short lens name if full lens name if not defined */
-       if ( isdigit(uf->conf->lensText[0]) ) {
-           ufraw_message(UFRAW_SET_LOG,
-                   "Value of EXIF tag 'Exif.Nikon3.LensData' is not defined. "
-                   "Reading 'Exif.Nikon3.Lens'.\n");
-           if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.Lens")))
-                   != exifData.end() ) {
-               uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
-           }
-       }
-#if EXIV2_TEST_VERSION(0,18,0)
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.CanonCs.LensType")))
-               != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
-#endif
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Canon.0x0095")))
-               != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Minolta.LensID")))
-               != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
-    } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Pentax.LensType")))
-               != exifData.end() ) {
-       uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData);
-    }
-#endif
     /* Read flash mode */
     if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Photo.Flash")))
            != exifData.end() ) {
@@ -216,18 +139,11 @@
     }
 
     /* Store all EXIF data read in. */
-#if EXIV2_TEST_VERSION(0,18,0)
     Exiv2::Blob blob;
     Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData);
     uf->inputExifBufLen = blob.size();
     uf->inputExifBuf = g_new(unsigned char, uf->inputExifBufLen);
     memcpy(uf->inputExifBuf, &blob[0], blob.size());
-#else
-    Exiv2::DataBuf buf(exifData.copy());
-    uf->inputExifBufLen = buf.size_;
-    uf->inputExifBuf = g_new(unsigned char, uf->inputExifBufLen);
-    memcpy(uf->inputExifBuf, buf.pData_, buf.size_);
-#endif
     ufraw_message(UFRAW_SET_LOG, "EXIF data read using exiv2, buflen %d\n",
            uf->inputExifBufLen);
     g_strlcpy(uf->conf->exifSource, EXV_PACKAGE_STRING, max_name);
@@ -251,11 +167,7 @@
     Exiv2::ExifData exifData = Exiv2::ExifData();
 
     /* Start from the input EXIF data */
-#if EXIV2_TEST_VERSION(0,18,0)
     Exiv2::ExifParser::decode(exifData, uf->inputExifBuf, uf->inputExifBufLen);
-#else
-    exifData.load(uf->inputExifBuf, uf->inputExifBufLen);
-#endif
     Exiv2::ExifData::iterator pos;
     if ( uf->conf->rotate ) {
        /* Reset orientation tag since UFRaw already rotates the image */
@@ -317,7 +229,6 @@
     if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.Preview")))
            != exifData.end() )
        exifData.erase(pos);
-#if EXIV2_TEST_VERSION(0,18,0)
     if ( 
(pos=exifData.findKey(Exiv2::ExifKey("Exif.NikonPreview.JPEGInterchangeFormat")))
            != exifData.end() )
        exifData.erase(pos);
@@ -326,7 +237,6 @@
     if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Image.DNGPrivateData")))
            != exifData.end() )
        exifData.erase(pos);
-#endif
 
     // Pentax thumbnail data
     if ( 
(pos=exifData.findKey(Exiv2::ExifKey("Exif.Pentax.PreviewResolution")))
@@ -384,14 +294,9 @@
     Exiv2::ExifData exifData = ufraw_prepare_exifdata(uf);
 
     int size;
-#if EXIV2_TEST_VERSION(0,18,0)
     Exiv2::Blob blob;
     Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData);
     size = blob.size();
-#else
-    Exiv2::DataBuf buf(exifData.copy());
-    size = buf.size_;
-#endif
     const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00};
     /* If buffer too big for JPEG, try deleting some stuff. */
     if ( size+sizeof(ExifHeader)>65533 ) {
@@ -402,41 +307,23 @@
            ufraw_message(UFRAW_SET_LOG,
                    "buflen %d too big, erasing Exif.Photo.MakerNote\n",
                    size+sizeof(ExifHeader));
-#if EXIV2_TEST_VERSION(0,18,0)
            Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData);
            size = blob.size();
-#else
-           buf = exifData.copy();
-           size = buf.size_;
-#endif
        }
     }
     if ( size+sizeof(ExifHeader)>65533 ) {
-#if EXIV2_TEST_VERSION(0,18,0)
        Exiv2::ExifThumb thumb(exifData);
        thumb.erase();
-#else
-       exifData.eraseThumbnail();
-#endif
        ufraw_message(UFRAW_SET_LOG,
                "buflen %d too big, erasing Thumbnail\n",
                size+sizeof(ExifHeader));
-#if EXIV2_TEST_VERSION(0,18,0)
        Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData);
        size = blob.size();
-#else
-       buf = exifData.copy();
-       size = buf.size_;
-#endif
     }
     uf->outputExifBufLen = size + sizeof(ExifHeader);
     uf->outputExifBuf = g_new(unsigned char, uf->outputExifBufLen);
     memcpy(uf->outputExifBuf, ExifHeader, sizeof(ExifHeader));
-#if EXIV2_TEST_VERSION(0,18,0)
     memcpy(uf->outputExifBuf+sizeof(ExifHeader), &blob[0], blob.size());
-#else
-    memcpy(uf->outputExifBuf+sizeof(ExifHeader), buf.pData_, buf.size_);
-#endif
     std::cerr.rdbuf(savecerr);
     ufraw_message(UFRAW_SET_LOG, "%s\n", stderror.str().c_str());
 
@@ -453,7 +340,6 @@
 
 extern "C" int ufraw_exif_write(ufraw_data *uf)
 {
-#if EXIV2_TEST_VERSION(0,18,0)
     /* Redirect exiv2 errors to a string buffer */
     std::ostringstream stderror;
     std::streambuf *savecerr = std::cerr.rdbuf();
@@ -489,10 +375,6 @@
     ufraw_message(UFRAW_SET_WARNING, "%s\n", s.c_str());
     return UFRAW_ERROR;
 }
-#else
-    (void)uf;
-    return UFRAW_SUCCESS;
-#endif
 }
 
 #else

Index: dcraw_indi.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw_indi.c,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- dcraw_indi.c        23 Feb 2010 19:36:43 -0000      1.81
+++ dcraw_indi.c        5 Apr 2010 14:30:18 -0000       1.82
@@ -127,18 +127,8 @@
 //  dcraw_message (dcraw, DCRAW_VERBOSE,_("Wavelet denoising...\n")); /*UF*/
 
 /* Scaling is done somewhere else - NKBJ*/
-#if 0
-  while (maximum << scale < 0x10000) scale++;
-  maximum <<= --scale;
-  black <<= scale;
-  if ((size = iheight*iwidth) < 0x15550000)
-    fimg = (float *) malloc ((size*3 + iheight + iwidth) * sizeof *fimg);
-  merror (fimg, "wavelet_denoise()");
-  temp = fimg + size*3;
-#else
   size = iheight*iwidth;
   float temp[iheight + iwidth];
-#endif
   if ((nc = colors) == 3 && filters) nc++;
   progress(PROGRESS_WAVELET_DENOISE, -nc*5);
 #ifdef _OPENMP
@@ -205,9 +195,6 @@
       }
     }
   }
-#if 0
-  free (fimg);
-#endif
 }
 
 void CLASS scale_colors_INDI(int maximum, const int black,
@@ -219,38 +206,7 @@
   int val, dark, sat;
   double /*dsum[8],*/ dmin, dmax;
   float scale_mul[4]/*, fr, fc*/;
-#if 0
-  ushort *img=0, *pix;
 
-  if (user_mul[0])
-    memcpy (pre_mul, user_mul, sizeof pre_mul);
-  if (use_auto_wb || (use_camera_wb && cam_mul[0] == -1)) {
-    memset (dsum, 0, sizeof dsum);
-    bottom = MIN (greybox[1]+greybox[3], height);
-    right  = MIN (greybox[0]+greybox[2], width);
-    for (row=greybox[1]; row < bottom; row += 8)
-      for (col=greybox[0]; col < right; col += 8) {
-       memset (sum, 0, sizeof sum);
-       for (y=row; y < row+8 /*&& y < bottom*/; y++)
-         for (x=col; x < col+8 /*&& x < right*/; x++)
-           FORC4 {
-             if (filters) {
-               c = FC(y,x);
-               val = BAYER(y,x);
-             } else
-               val = image[y*iwidth+x][c];
-             if (val > maximum-25) goto skip_block;
-             if ((val -= black) < 0) val = 0;
-             sum[c] += val;
-             sum[c+4]++;
-             if (filters) break;
-           }
-       FORC(8) dsum[c] += sum[c];
-skip_block: ;
-      }
-    FORC4 if (dsum[c]) pre_mul[c] = dsum[c+4] / dsum[c];
-  }
-#endif
   if (use_camera_wb && cam_mul[0] != -1) {
     memset (sum, 0, sizeof sum);
     for (row=0; row < 8; row++)
@@ -275,9 +231,6 @@
   if (pre_mul[3] == 0) pre_mul[3] = colors < 4 ? pre_mul[1] : 1;
   dark = black;
   sat = maximum;
-#if 0
-  if (threshold) wavelet_denoise();
-#endif
   maximum -= black;
   for (dmin=DBL_MAX, dmax=c=0; c < 4; c++) {
     if (dmin > pre_mul[c])
@@ -285,9 +238,6 @@
     if (dmax < pre_mul[c])
        dmax = pre_mul[c];
   }
-#if 0
-  if (!highlight) dmax = dmin;
-#endif
   FORC4 scale_mul[c] = (pre_mul[c] /= dmax) * 65535.0 / maximum;
   dcraw_message(dcraw, DCRAW_VERBOSE,
       _("Scaling with darkness %d, saturation %d, and\nmultipliers"),
@@ -296,41 +246,6 @@
   dcraw_message(dcraw, DCRAW_VERBOSE, "\n");
 
 /* The rest of the scaling is done somewhere else UF*/
-#if 0
-  size = iheight*iwidth;
-  for (i=0; i < size*4; i++) {
-    val = image[0][i];
-    if (!val) continue;
-    val -= black;
-    val = (int)(val*scale_mul[i & 3]);
-    image[0][i] = CLIP(val);
-  }
-  if ((aber[0] != 1 || aber[2] != 1) && colors == 3) {
-    dcraw_message (DCRAW_VERBOSE,_("Correcting chromatic aberration...\n"));
-    for (c=0; c < 4; c+=2) {
-      if (aber[c] == 1) continue;
-      img = (ushort *) malloc (size * sizeof *img);
-      merror (img, "scale_colors()");
-      for (i=0; i < size; i++)
-       img[i] = image[i][c];
-      for (row=0; row < iheight; row++) {
-       ur = fr = (row - iheight*0.5) * aber[c] + iheight*0.5;
-       if (ur > (unsigned)(iheight-2)) continue;
-       fr -= ur;
-       for (col=0; col < iwidth; col++) {
-         uc = fc = (col - iwidth*0.5) * aber[c] + iwidth*0.5;
-         if (uc > (unsigned)(iwidth-2)) continue;
-         fc -= uc;
-         pix = img + ur*iwidth + uc;
-         image[row*iwidth+col][c] =
-           (pix[     0]*(1-fc) + pix[       1]*fc) * (1-fr) +
-           (pix[iwidth]*(1-fc) + pix[iwidth+1]*fc) * fr;
-       }
-      }
-      free(img);
-    }
-  }
-#endif
 }
 
 void CLASS border_interpolate_INDI (const int height, const int width,

Index: ufraw_lens_ui.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_lens_ui.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- ufraw_lens_ui.c     1 Apr 2010 05:00:31 -0000       1.40
+++ ufraw_lens_ui.c     5 Apr 2010 14:30:18 -0000       1.41
@@ -46,7 +46,7 @@
                        "Crop factor:\t%.1f"),
                        maker, model, _variant,
                        camera->Mount, camera->CropFactor);
-    uf_widget_set_tooltip(data->CameraModel, fm);
+    gtk_widget_set_tooltip_text(data->CameraModel, fm);
     g_free(fm);
 }
 
@@ -174,7 +174,7 @@
     gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 2);
     GtkWidget *combo = ufarray_combo_box_entry_new(object);
     gtk_box_pack_start(GTK_BOX(box), combo, TRUE, TRUE, 2);
-    uf_widget_set_tooltip(label, tooltip);
+    gtk_widget_set_tooltip_text(label, tooltip);
 }
 
 static void lens_set(GtkWidget *lensModel, preview_data *data)
@@ -218,7 +218,7 @@
                            maker ? maker : "?", model ? model : "?",
                            focal, aperture, lens->CropFactor,
                            lf_get_lens_type_desc(lens->Type, NULL), mounts);
-    uf_widget_set_tooltip(lensModel, fm);
+    gtk_widget_set_tooltip_text(lensModel, fm);
     g_free(fm);
 
     /* Create the focal/aperture/distance combo boxes */
@@ -347,9 +347,11 @@
         return;
     GtkButton *button = ufobject_user_data(object);
     if (ufstring_is_equal(object, "yes"))
-        uf_button_set_stock_image(button, "object-automatic");
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               "object-automatic", GTK_ICON_SIZE_BUTTON));
     else
-        uf_button_set_stock_image(button, "object-manual");
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               "object-manual", GTK_ICON_SIZE_BUTTON));
 }
 
 /* --- TCA correction page --- */
@@ -397,7 +399,8 @@
     UFObject *tca = ufgroup_element(lensfun, ufTCA);
     GtkWidget *combo = ufarray_combo_box_new(tca);
     gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0);
-    uf_widget_set_tooltip(combo, _("Chromatic Aberrations mathematical 
model"));
+    gtk_widget_set_tooltip_text(combo,
+            _("Chromatic Aberrations mathematical model"));
     g_signal_connect_after(G_OBJECT(combo), "changed",
             G_CALLBACK(tca_model_changed), data);
     ufobject_reset_button_add(reset, tca);
@@ -462,7 +465,8 @@
     UFObject *vignetting = ufgroup_element(lensfun, ufVignetting);
     GtkWidget *combo = ufarray_combo_box_new(vignetting);
     gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0);
-    uf_widget_set_tooltip(combo, _("Optical vignetting mathematical model"));
+    gtk_widget_set_tooltip_text(combo,
+            _("Optical vignetting mathematical model"));
     g_signal_connect_after(G_OBJECT(combo), "changed",
             G_CALLBACK(vignetting_model_changed), data);
     ufobject_reset_button_add(reset, vignetting);
@@ -529,7 +533,7 @@
     UFObject *distortion = ufgroup_element(lensfun, ufDistortion);
     GtkWidget *combo = ufarray_combo_box_new(distortion);
     gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0);
-    uf_widget_set_tooltip(combo, _("Lens distortion mathematical model"));
+    gtk_widget_set_tooltip_text(combo, _("Lens distortion mathematical 
model"));
     g_signal_connect_after(G_OBJECT(combo), "changed",
            G_CALLBACK(distortion_model_changed), data);
     ufobject_reset_button_add(reset, distortion);
@@ -572,7 +576,7 @@
     gtk_table_attach(geometryTable, label, 0, 1, 0, 1, GTK_FILL, 0, 5, 0);
     UFObject *lensGeometry = ufgroup_element(lensfun, ufLensGeometry);
     GtkWidget *combo = ufarray_combo_box_new(lensGeometry);
-    uf_widget_set_tooltip(combo,
+    gtk_widget_set_tooltip_text(combo,
            _("The geometry of the lens used to make the shot"));
     gtk_table_attach(geometryTable, combo, 1, 2, 0, 1,
            GTK_EXPAND | GTK_FILL, 0, 0, 0);
@@ -595,7 +599,8 @@
     UFObject *targetLensGeometry =
            ufgroup_element(lensfun, ufTargetLensGeometry);
     combo = ufarray_combo_box_new(targetLensGeometry);
-    uf_widget_set_tooltip(combo, _("The target geometry for output image"));
+    gtk_widget_set_tooltip_text(combo,
+           _("The target geometry for output image"));
     gtk_table_attach(geometryTable, combo, 1, 2, 2, 3,
            GTK_EXPAND | GTK_FILL, 0, 0, 0);
     ufobject_reset_button_add(reset, targetLensGeometry);
@@ -676,7 +681,7 @@
 
     GtkWidget *autoLens = gtk_toggle_button_new();
     gtk_table_attach(table, autoLens, 4, 5, 1, 2, 0, 0, 0, 0);
-    uf_widget_set_tooltip(autoLens,
+    gtk_widget_set_tooltip_text(autoLens,
             _("Automatically find lens and set lens corrections"));
     UFObject *lensfunAuto = ufgroup_element(CFG->ufobject, ufLensfunAuto);
     g_signal_connect(G_OBJECT(autoLens), "toggled",

Index: ufraw_preview.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v
retrieving revision 1.350
retrieving revision 1.351
diff -u -d -r1.350 -r1.351
--- ufraw_preview.c     30 Mar 2010 04:49:08 -0000      1.350
+++ ufraw_preview.c     5 Apr 2010 14:30:18 -0000       1.351
@@ -37,9 +37,7 @@
 #define uf_omp_get_max_threads() 1
 #endif
 
-#if GTK_CHECK_VERSION(2,6,0)
 void ufraw_chooser_toggle(GtkToggleButton *button, GtkFileChooser 
*filechooser);
-#endif
 
 static void update_crop_ranges(preview_data *data, gboolean render);
 static void adjustment_update(GtkAdjustment *adj, double *valuep);
@@ -148,14 +146,12 @@
            GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL));
     ufraw_focus(fileChooser, TRUE);
     gtk_file_chooser_set_select_multiple(fileChooser, TRUE);
-#if GTK_CHECK_VERSION(2,6,0)
     gtk_file_chooser_set_show_hidden(fileChooser, FALSE);
     GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden 
files"));
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
     g_signal_connect(G_OBJECT(button), "toggled",
            G_CALLBACK(ufraw_chooser_toggle), fileChooser);
     gtk_file_chooser_set_extra_widget(fileChooser, button);
-#endif
     filter = GTK_FILE_FILTER(gtk_file_filter_new());
     gtk_file_filter_set_name(filter, _("All curve formats"));
     gtk_file_filter_add_pattern(filter, "*.ntc");
@@ -250,14 +246,12 @@
            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
            GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL));
     ufraw_focus(fileChooser, TRUE);
-#if GTK_CHECK_VERSION(2,6,0)
     gtk_file_chooser_set_show_hidden(fileChooser, FALSE);
     GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden 
files"));
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
     g_signal_connect(G_OBJECT(button), "toggled",
            G_CALLBACK(ufraw_chooser_toggle), fileChooser);
     gtk_file_chooser_set_extra_widget(fileChooser, button);
-#endif
     filter = GTK_FILE_FILTER(gtk_file_filter_new());
     gtk_file_filter_set_name(filter, _("All curve formats"));
     gtk_file_filter_add_pattern(filter, "*.ntc");
@@ -333,14 +327,12 @@
            GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL));
     ufraw_focus(fileChooser, TRUE);
     gtk_file_chooser_set_select_multiple(fileChooser, TRUE);
-#if GTK_CHECK_VERSION(2,6,0)
     gtk_file_chooser_set_show_hidden(fileChooser, FALSE);
     GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden 
files"));
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
     g_signal_connect(G_OBJECT(button), "toggled",
            G_CALLBACK(ufraw_chooser_toggle), fileChooser);
     gtk_file_chooser_set_extra_widget(fileChooser, button);
-#endif
     if (strlen(CFG->profilePath)>0)
        gtk_file_chooser_set_current_folder(fileChooser, CFG->profilePath);
     filter = GTK_FILE_FILTER(gtk_file_filter_new());
@@ -431,15 +423,15 @@
        switch (c)
        {
        case 0: case 1: case 2:
-           uf_label_set_width_chars(l->labels[c], 3);
+           gtk_label_set_width_chars(l->labels[c], 3);
            break;
        case 3:
-           uf_label_set_width_chars(l->labels[c], 5);
-           uf_widget_set_tooltip(event_box, _("Luminosity (Y value)"));
+           gtk_label_set_width_chars(l->labels[c], 5);
+           gtk_widget_set_tooltip_text(event_box, _("Luminosity (Y value)"));
            break;
        case 4:
-           uf_label_set_width_chars(l->labels[c], 4);
-           uf_widget_set_tooltip(event_box, _("Adams' zone"));
+           gtk_label_set_width_chars(l->labels[c], 4);
+           gtk_widget_set_tooltip_text(event_box, _("Adams' zone"));
        }
     }
     return l;
@@ -1554,7 +1546,7 @@
        gtk_widget_set_sensitive(data->ResetLightnessAdjustmentButton[i],
            fabs(CFG->lightnessAdjustment[i].adjustment - 1.0) >= 0.01);
     }
-    
gtk_widget_set_sensitive(GTK_WIDGET(data->ResetGrayscaleChannelMixerButton),
+    gtk_widget_set_sensitive(data->ResetGrayscaleChannelMixerButton,
        (CFG->grayscaleMixer[0] != conf_default.grayscaleMixer[0])
        || (CFG->grayscaleMixer[1] != conf_default.grayscaleMixer[1])
        || (CFG->grayscaleMixer[2] != conf_default.grayscaleMixer[2]));
@@ -1583,9 +1575,11 @@
        gtk_toggle_button_set_active(button, FALSE);
     }
     if (*valuep)
-       uf_button_set_stock_image(GTK_BUTTON(button), "object-automatic");
+       gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(
+               "object-automatic", GTK_ICON_SIZE_BUTTON));
     else
-       uf_button_set_stock_image(GTK_BUTTON(button), "object-manual");
+       gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(
+               "object-manual", GTK_ICON_SIZE_BUTTON));
 }
 
 static void curve_update(GtkWidget *widget, long curveType)
@@ -2434,12 +2428,14 @@
        gtk_toggle_button_set_active(button, FALSE);
     }
     if (*valuep) {
-       uf_button_set_stock_image(GTK_BUTTON(button), "object-lock");
-       uf_widget_set_tooltip(GTK_WIDGET(button),
+       gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(
+               "object-lock", GTK_ICON_SIZE_BUTTON));
+       gtk_widget_set_tooltip_text(GTK_WIDGET(button),
                _("Aspect ratio locked, click to unlock"));
     } else {
-       uf_button_set_stock_image(GTK_BUTTON(button), "object-unlock");
-       uf_widget_set_tooltip(GTK_WIDGET(button),
+       gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(
+               "object-unlock", GTK_ICON_SIZE_BUTTON));
+       gtk_widget_set_tooltip_text(GTK_WIDGET(button),
                _("Aspect ratio unlocked, click to lock"));
     }
 }
@@ -2546,7 +2542,7 @@
        gtk_container_add(GTK_CONTAINER(event_box), image);
        gtk_widget_show_all(event_box);
        gtk_notebook_append_page(notebook, GTK_WIDGET(page), event_box);
-       uf_widget_set_tooltip(event_box, text);
+       gtk_widget_set_tooltip_text(event_box, text);
     }
     return page;
 }
@@ -2711,15 +2707,18 @@
     const char *state;
     switch (CFG->restoreDetails) {
     case clip_details:
-       uf_button_set_stock_image(button, GTK_STOCK_CUT);
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               GTK_STOCK_CUT, GTK_ICON_SIZE_BUTTON));
        state = _("clip");
        break;
     case restore_lch_details:
-       uf_button_set_stock_image(button, "restore-highlights-lch");
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               "restore-highlights-lch", GTK_ICON_SIZE_BUTTON));
        state = _("restore in LCH space for soft details");
        break;
     case restore_hsv_details:
-       uf_button_set_stock_image(button, "restore-highlights-hsv");
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               "restore-highlights-hsv", GTK_ICON_SIZE_BUTTON));
        state = _("restore in HSV space for sharp details");
        break;
     default:
@@ -2727,7 +2726,7 @@
     }
     char *text = g_strdup_printf(_("Restore details for negative EV\n"
            "Current state: %s"), state);
-    uf_widget_set_tooltip(GTK_WIDGET(button), text);
+    gtk_widget_set_tooltip_text(GTK_WIDGET(button), text);
     g_free(text);
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
 }
@@ -2737,11 +2736,13 @@
     const char *state;
     switch (CFG->clipHighlights) {
     case digital_highlights:
-       uf_button_set_stock_image(button, "clip-highlights-digital");
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               "clip-highlights-digital", GTK_ICON_SIZE_BUTTON));
        state = _("digital linear");
        break;
     case film_highlights:
-       uf_button_set_stock_image(button, "clip-highlights-film");
+       gtk_button_set_image(button, gtk_image_new_from_stock(
+               "clip-highlights-film", GTK_ICON_SIZE_BUTTON));
        state = _("soft film like");
        break;
     default:
@@ -2749,7 +2750,7 @@
     }
     char *text = g_strdup_printf(_("Clip highlights for positive EV\n"
            "Current state: %s"), state);
-    uf_widget_set_tooltip(GTK_WIDGET(button), text);
+    gtk_widget_set_tooltip_text(GTK_WIDGET(button), text);
     g_free(text);
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
 }
@@ -2869,7 +2870,7 @@
        b |= fabs(c->despeckleDecay[i] - conf_default.despeckleDecay[i]) > 
0.001;
        b |= fabs(c->despecklePasses[i] - conf_default.despecklePasses[i]) > 
0.1;
     }
-    gtk_widget_set_sensitive(GTK_WIDGET(data->ResetDespeckleButton), b);
+    gtk_widget_set_sensitive(data->ResetDespeckleButton, b);
     b = FALSE;
     for (i = 1; i < data->UF->colors; ++i) {
        b |= c->despeckleWindow[0] != c->despeckleWindow[i];
@@ -3025,7 +3026,7 @@
     gtk_container_add(GTK_CONTAINER(button),
        gtk_image_new_from_stock(stock_id, size));
     if (tip != NULL)
-       uf_widget_set_tooltip(button, tip);
+       gtk_widget_set_tooltip_text(button, tip);
     g_signal_connect(G_OBJECT(button), "clicked", callback, data);
     return button;
 }
@@ -3189,15 +3190,15 @@
        }
        gtk_table_attach(table, w, x, x+1, y, y+1,
                GTK_SHRINK|GTK_FILL, 0, 0, 0);
-       uf_widget_set_tooltip(w, tip);
+       gtk_widget_set_tooltip_text(w, tip);
     }
     w = ufnumber_hscale_new(obj);
     gtk_table_attach(table, w, x+1, x+5, y, y+1, GTK_EXPAND|GTK_FILL, 0, 0, 0);
-    uf_widget_set_tooltip(w, tip);
+    gtk_widget_set_tooltip_text(w, tip);
 
     w = ufnumber_spin_button_new(obj);
     gtk_table_attach(table, w, x+5, x+7, y, y+1, GTK_SHRINK|GTK_FILL, 0, 0, 0);
-    uf_widget_set_tooltip(w, tip);
+    gtk_widget_set_tooltip_text(w, tip);
 }
 
 
@@ -3223,7 +3224,7 @@
        }
        gtk_table_attach(table, w, x, x+1, y, y+1,
                GTK_SHRINK|GTK_FILL, 0, 0, 0);
-       uf_widget_set_tooltip(w, tip);
+       gtk_widget_set_tooltip_text(w, tip);
     }
     adj = GTK_ADJUSTMENT(gtk_adjustment_new(value, min, max, step, jump, 0));
     g_object_set_data(G_OBJECT(adj), "Adjustment-Accuracy", 
(gpointer)accuracy);
@@ -3232,7 +3233,7 @@
     g_object_set_data(G_OBJECT(adj), "Parent-Widget", w);
     gtk_scale_set_draw_value(GTK_SCALE(w), FALSE);
     gtk_table_attach(table, w, x+1, x+5, y, y+1, GTK_EXPAND|GTK_FILL, 0, 0, 0);
-    uf_widget_set_tooltip(w, tip);
+    gtk_widget_set_tooltip_text(w, tip);
     g_signal_connect(G_OBJECT(adj), "value-changed", callback, valuep);
 
     w = gtk_spin_button_new(adj, step, accuracy);
@@ -3240,7 +3241,7 @@
     gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(w), GTK_UPDATE_IF_VALID);
     gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(w), wrap_spinner);
     gtk_table_attach(table, w, x+5, x+7, y, y+1, GTK_SHRINK|GTK_FILL, 0, 0, 0);
-    uf_widget_set_tooltip(w, tip);
+    gtk_widget_set_tooltip_text(w, tip);
 
     if (resetButton != NULL) {
        *resetButton = reset_button(resetTip, resetCallback, NULL);
@@ -3259,7 +3260,7 @@
            CFG->createID==only_id ? _("\nCreate only ID file") : "");
     g_free(utf8);
     g_free(absFilename);
-    uf_widget_set_tooltip(data->SaveButton, text);
+    gtk_widget_set_tooltip_text(data->SaveButton, text);
     g_free(text);
 }
 
@@ -3563,7 +3564,7 @@
     gtk_box_pack_start(GTK_BOX(box), hBox, FALSE, FALSE, 0);
     button = gtk_button_new_with_label(_("Save configuration"));
     gtk_box_pack_start(GTK_BOX(hBox), button, FALSE, FALSE, 0);
-    uf_widget_set_tooltip(button,
+    gtk_widget_set_tooltip_text(button,
            _("Save configuration to resource file ($HOME/.ufrawrc)"));
     g_signal_connect(G_OBJECT(button), "clicked",
            G_CALLBACK(configuration_save), NULL);
@@ -3997,13 +3998,14 @@
     ControlButtons buttonEnum, preview_data *data)
 {
     GtkWidget *button = gtk_button_new();
-    uf_button_set_stock_image(GTK_BUTTON(button), stockImage);
+    gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(
+           stockImage, GTK_ICON_SIZE_BUTTON));
     g_signal_connect(G_OBJECT(button), "clicked",
            G_CALLBACK(control_button_event), (gpointer)buttonEnum);
     char **tipParts = g_strsplit(tip, "_", 2);
     if ( tipParts[0]==NULL || tipParts[1]==NULL ) {
        // No mnemonic
-       uf_widget_set_tooltip(button, tip);
+       gtk_widget_set_tooltip_text(button, tip);
        return button;
     }
 
@@ -4014,7 +4016,7 @@
 
     char *tooltip = g_strdup_printf(_("%s%s (Alt-%s)"),
            tipParts[0], tipParts[1], hot_char);
-    uf_widget_set_tooltip(button, tooltip);
+    gtk_widget_set_tooltip_text(button, tooltip);
     g_free(tooltip);
     data->ButtonMnemonic[buttonEnum] = gdk_keyval_to_lower(
            gdk_unicode_to_keyval(g_utf8_get_char(tipParts[1])));
@@ -4148,7 +4150,7 @@
            "Parent-Widget", button);
     g_signal_connect(G_OBJECT(data->HotpixelAdjustment), "value-changed",
            G_CALLBACK(adjustment_update), &CFG->hotpixel);
-    uf_widget_set_tooltip(button, _("Hot pixel sensitivity"));
+    gtk_widget_set_tooltip_text(button, _("Hot pixel sensitivity"));
     gtk_box_pack_start(box, button, FALSE, FALSE, 0);
 
     button = reset_button(
@@ -4317,7 +4319,7 @@
     UFObject *wb = ufgroup_element(image, ufWB);
     combo = GTK_COMBO_BOX(ufarray_combo_box_new(wb));
     gtk_box_pack_start(box, GTK_WIDGET(combo), TRUE, TRUE, 0);
-    uf_widget_set_tooltip(GTK_WIDGET(combo), _("White Balance"));
+    gtk_widget_set_tooltip_text(GTK_WIDGET(combo), _("White Balance"));
 
     button = ufnumber_spin_button_new(
            ufgroup_element(image, ufWBFineTuning));
@@ -4328,14 +4330,15 @@
                GTK_ICON_SIZE_BUTTON);
        gtk_container_add(GTK_CONTAINER(event_box), label);
        gtk_box_pack_start(box, event_box, FALSE, FALSE, 0);
-       uf_widget_set_tooltip(event_box, _("Cannot use camera white balance."));
+       gtk_widget_set_tooltip_text(event_box,
+               _("Cannot use camera white balance."));
     } else if (!uf->wb_presets_make_model_match) {
        event_box = gtk_event_box_new();
        label = gtk_image_new_from_stock(GTK_STOCK_DIALOG_WARNING,
                GTK_ICON_SIZE_BUTTON);
        gtk_container_add(GTK_CONTAINER(event_box), label);
        gtk_box_pack_start(box, event_box, FALSE, FALSE, 0);
-       uf_widget_set_tooltip(event_box,
+       gtk_widget_set_tooltip_text(event_box,
            _("There are no white balance presets for your camera model.\n"
              "Check UFRaw's webpage for information on how to get your\n"
              "camera supported."));
@@ -4384,7 +4387,7 @@
            GTK_ICON_SIZE_LARGE_TOOLBAR);
     gtk_container_add(GTK_CONTAINER(event_box), icon);
     gtk_table_attach(table, event_box, 0, 1, 0, 1, 0, 0, 0, 0);
-    uf_widget_set_tooltip(event_box, _("Bayer pattern interpolation"));
+    gtk_widget_set_tooltip_text(event_box, _("Bayer pattern interpolation"));
     combo = GTK_COMBO_BOX(uf_combo_box_new_text());
     if ( data->UF->HaveFilters ) {
        if ( data->UF->colors==4 ) {
@@ -4423,7 +4426,7 @@
     gtk_container_add(GTK_CONTAINER(button),
            gtk_image_new_from_stock(GTK_STOCK_CLEAR, GTK_ICON_SIZE_BUTTON));
     gtk_table_attach(table, button, 2, 3, 0, 1, 0, 0, 0, 0);
-    uf_widget_set_tooltip(button, _("Apply color smoothing"));
+    gtk_widget_set_tooltip_text(button, _("Apply color smoothing"));
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
            CFG->smoothing);
     g_signal_connect(G_OBJECT(button), "toggled",
@@ -4578,7 +4581,7 @@
     int right = 6 + data->UF->colors; // Right column location
     icon = gtk_image_new_from_stock("gtk-help", GTK_ICON_SIZE_BUTTON);
     gtk_table_attach(table, icon, right, right+1, 0, 1, 0, 0, 0, 0);
-    uf_widget_set_tooltip(icon, _(
+    gtk_widget_set_tooltip_text(icon, _(
            "Despeckling is mainly useful when combining a high ISO number "
            "with a high channel multiplier: when one channel has a very bad "
            "signal to noise ratio. Try setting window size, color decay and "
@@ -4596,7 +4599,8 @@
     gtk_box_pack_start(box, button, FALSE, FALSE, 0);
     gtk_table_attach(table, GTK_WIDGET(box), right, right+1, 1, 4,
            GTK_FILL, 0, 0, 0);
-    uf_widget_set_tooltip(button, _("Update channel parameters together"));
+    gtk_widget_set_tooltip_text(button,
+           _("Update channel parameters together"));
     data->ResetDespeckleButton = reset_button(_("Reset despeckle parameters"),
            G_CALLBACK(button_update), NULL);
     gtk_box_pack_start(box, data->ResetDespeckleButton, FALSE, FALSE, 0);
@@ -4755,7 +4759,7 @@
                GTK_ICON_SIZE_LARGE_TOOLBAR);
        gtk_container_add(GTK_CONTAINER(event_box), icon);
        gtk_table_attach(table, event_box, 0, 1, 4*j+1, 4*j+2, 0, 0, 0, 0);
-       uf_widget_set_tooltip(event_box,
+       gtk_widget_set_tooltip_text(event_box,
                j==in_profile ? _("Input ICC profile") :
                j==out_profile ? _("Output ICC profile") :
                j==display_profile ? _("Display ICC profile") : "Error");
@@ -4905,18 +4909,10 @@
     gtk_table_attach(subTable, data->ResetCurveButton, 8, 9, 7, 8, 0, 0, 0, 0);
 
     data->BlackLabel = gtk_label_new(NULL);
-#if GTK_CHECK_VERSION(2,6,0)
     gtk_misc_set_alignment(GTK_MISC(data->BlackLabel), 0.5, 1.0);
     gtk_label_set_angle(GTK_LABEL(data->BlackLabel), 90);
     gtk_table_attach(subTable, data->BlackLabel, 0, 1, 5, 6,
            0, GTK_FILL|GTK_EXPAND, 0, 0);
-#else
-    button = gtk_alignment_new(0, 0, 0, 0);
-    gtk_table_attach(subTable, button, 0, 1, 5, 6,
-           0, GTK_FILL|GTK_EXPAND, 0, 0);
-    gtk_misc_set_alignment(GTK_MISC(data->BlackLabel), 0.0, 0.5);
-    gtk_table_attach(subTable, data->BlackLabel, 1, 8, 8, 9, GTK_FILL, 0, 0, 
0);
-#endif
     data->ResetBlackButton = reset_button(
        _("Reset black-point to default"), G_CALLBACK(button_update), NULL);
     gtk_table_attach(subTable, GTK_WIDGET(data->ResetBlackButton), 0, 1, 7, 8,
@@ -4925,7 +4921,7 @@
     data->AutoBlackButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
     gtk_table_attach(subTable, GTK_WIDGET(data->AutoBlackButton), 0, 1, 6, 7,
            0, GTK_SHRINK, 0, 0);
-    uf_widget_set_tooltip(GTK_WIDGET(data->AutoBlackButton),
+    gtk_widget_set_tooltip_text(GTK_WIDGET(data->AutoBlackButton),
            _("Auto adjust black-point"));
     auto_button_toggle(data->AutoBlackButton, &CFG->autoBlack);
     g_signal_connect(G_OBJECT(data->AutoBlackButton), "toggled",
@@ -5003,7 +4999,7 @@
     data->AutoCropButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
     gtk_table_attach(table, GTK_WIDGET(data->AutoCropButton), 4, 5, 1, 2,
            0, 0, 0, 0);
-    uf_widget_set_tooltip(GTK_WIDGET(data->AutoCropButton),
+    gtk_widget_set_tooltip_text(GTK_WIDGET(data->AutoCropButton),
            _("Auto fit crop area"));
     auto_button_toggle(data->AutoCropButton, &CFG->autoCrop);
     gtk_toggle_button_set_active(data->AutoCropButton, CFG->autoCrop);
@@ -5026,7 +5022,7 @@
     gtk_entry_set_width_chars(data->AspectEntry, 6);
     gtk_entry_set_alignment(data->AspectEntry, 0.5);
     gtk_table_attach(table, GTK_WIDGET(entry), 1, 2, 0, 1, 0, 0, 5, 0);
-    uf_widget_set_tooltip(GTK_WIDGET(data->AspectEntry),
+    gtk_widget_set_tooltip_text(GTK_WIDGET(data->AspectEntry),
            _("Crop area aspect ratio.\n"
              "Can be entered in decimal notation (1.273)\n"
              "or as a ratio of two numbers (14:11)"));
@@ -5311,7 +5307,7 @@
        gtk_box_pack_start(GTK_BOX(hBox), event_box, FALSE, FALSE, 0);
        label = gtk_label_new(_("Save image defaults "));
        gtk_container_add(GTK_CONTAINER(event_box), label);
-       uf_widget_set_tooltip(event_box,
+       gtk_widget_set_tooltip_text(event_box,
                _("Save current image manipulation parameters as defaults.\n"
                  "The output parameters in this window are always saved."));
        GtkComboBox *confCombo = GTK_COMBO_BOX(gtk_combo_box_new_text());
@@ -5453,7 +5449,7 @@
     g_free(utf8_filename);
 
     ufraw_icons_init();
-    uf_window_set_icon_name(GTK_WINDOW(previewWindow), "ufraw");
+    gtk_window_set_icon_name(GTK_WINDOW(previewWindow), "ufraw");
     g_signal_connect(G_OBJECT(previewWindow), "delete-event",
            G_CALLBACK(window_delete_event), NULL);
     g_signal_connect(G_OBJECT(previewWindow), "map-event",
@@ -5530,7 +5526,7 @@
     data->AutoExposureButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
     gtk_table_attach(table, GTK_WIDGET(data->AutoExposureButton), 9, 10, 0, 1,
            0, 0, 0, 0);
-    uf_widget_set_tooltip(GTK_WIDGET(data->AutoExposureButton),
+    gtk_widget_set_tooltip_text(GTK_WIDGET(data->AutoExposureButton),
            _("Auto adjust exposure"));
     auto_button_toggle(data->AutoExposureButton, &CFG->autoExposure);
     g_signal_connect(G_OBJECT(data->AutoExposureButton), "toggled",
@@ -5677,7 +5673,7 @@
     g_signal_connect(G_OBJECT(data->ZoomAdjustment), "value-changed",
                G_CALLBACK(zoom_update), NULL);
     gtk_box_pack_start(ZoomBox, button, FALSE, FALSE, 0);
-    uf_widget_set_tooltip(button, _("Zoom percentage"));
+    gtk_widget_set_tooltip_text(button, _("Zoom percentage"));
 
     // Zoom in button:
     button = stock_icon_button(GTK_STOCK_ZOOM_IN, NULL,
@@ -5758,12 +5754,6 @@
        gtk_widget_hide(GTK_WIDGET(data->LightnessAdjustmentTable[i]));
     gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), data->PageNumSpot);
 
-#if !GTK_CHECK_VERSION(2,8,0)
-    /* There is a bug that causes the mouse location to be misplaced
-     * in the event-box. The following voodoo seems to fix the mapping. */
-    gtk_widget_set_size_request(scroll, preview_width+1, preview_height+1);
-    while (gtk_events_pending()) gtk_main_iteration();
-#endif
     if ( CFG->WindowMaximized ) {
        gtk_widget_set_size_request(scroll, -1, -1);
        preview_progress_disable(data);

Index: configure.ac
===================================================================
RCS file: /cvsroot/ufraw/ufraw/configure.ac,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -d -r1.156 -r1.157
--- configure.ac        30 Mar 2010 04:49:08 -0000      1.156
+++ configure.ac        5 Apr 2010 14:30:18 -0000       1.157
@@ -1,5 +1,5 @@
 dnl $Id$
-AC_INIT(UFRaw, 0.17)
+AC_INIT(UFRaw, 0.18)
 AC_PREREQ(2.57)
 
 # Create host_os, host_cpu variables
@@ -105,7 +105,7 @@
   [ with_dosprefix=$withval],
   [ with_dosprefix=NONE ] )
 
-PKG_CHECK_MODULES(GLIB, glib-2.0 gthread-2.0)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.12 gthread-2.0)
 PKG_CHECK_MODULES(LCMS, lcms >= 1.14)
 
 AC_ARG_WITH([gtk],
@@ -116,7 +116,7 @@
 
 have_gtk=no
 AS_IF([test "x$with_gtk" != xno],
-  [PKG_CHECK_MODULES(GTKBASE, gtk+-2.0 >= 2.6,
+  [PKG_CHECK_MODULES(GTKBASE, gtk+-2.0 >= 2.12,
     [ have_gtk=yes ],
     [ have_gtk=no
       if test "x$with_gtk" != xcheck; then
@@ -146,7 +146,7 @@
     [with_gimp=check])
 
   AS_IF([test "x$with_gimp" != xno],
-    [PKG_CHECK_MODULES(GIMP, gimpui-2.0,
+    [PKG_CHECK_MODULES(GIMP, gimpui-2.0 >= 2.2.0,
       [ have_gimp=yes
         GIMP_LIBDIR=`$pkg_prefix --variable=gimplibdir gimp-2.0` ],
       [ have_gimp=no
@@ -252,7 +252,7 @@
   [ have_cfitsio=no
     AC_MSG_RESULT($CFITSIO_PKG_ERRORS) ] )
 
-PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.16,
+PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.18.1,
   [ have_exiv2=yes
     AC_DEFINE(HAVE_EXIV2, 1, have the exiv2 library) ],
   [ have_exiv2=no
@@ -346,6 +346,13 @@
   enable_interp_none=no)
 AC_MSG_RESULT($enable_interp_none)
 
+AC_MSG_CHECKING(whether to enable debugging with valgrind)
+AC_ARG_ENABLE(valgrind,
+  [  --enable-valgrind       enable debugging with valgrind],
+  AC_DEFINE(UFRAW_VALGRIND, 1, Debugging with valgrind enabled),
+  enable_valgrind=no)
+AC_MSG_RESULT($enable_valgrind)
+
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES(icons/Makefile)
 AC_CONFIG_FILES(po/Makefile.in)

Index: uf_glib.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/uf_glib.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- uf_glib.h   23 Jan 2010 05:00:58 -0000      1.6
+++ uf_glib.h   5 Apr 2010 14:30:18 -0000       1.7
@@ -13,50 +13,23 @@
 #ifndef _UF_GLIB_H
 #define _UF_GLIB_H
 
-#ifdef  __cplusplus
+#ifdef __cplusplus
 extern "C" {
 #endif
 
-// glib is required for the GLIB_CHECK_VERSION macro
-#include <glib.h>
-
-// gstdio exists only since glib-2.6
-#if GLIB_CHECK_VERSION(2,6,0)
 #include <glib/gstdio.h>
-#else
-// Otherwise we define the gstdio functions as macros
-#include <stdio.h>
-#define g_fopen fopen
-#define g_unlink unlink
-#define g_rename rename
-#endif
-
-// Before glib-2.10 g_unlink was a macro, requiring some more headers
-#if !GLIB_CHECK_VERSION(2,10,0)
-#include <unistd.h> // for unlink
-#endif
 
 // g_win32_locale_filename_from_utf8 is needed only on win32
-#if GLIB_CHECK_VERSION(2,8,0) && defined(WIN32)
+#ifdef WIN32
 #define uf_win32_locale_filename_from_utf8(__some_string__) \
     g_win32_locale_filename_from_utf8(__some_string__)
 #define uf_win32_locale_filename_free(__some_string__) g_free(__some_string__)
-
-// g_win32_locale_filename_from_utf8 exists since glib-2.8
-// with glib-2.6, g_locale_from_utf8 is the cheap replacement
-#elif GLIB_CHECK_VERSION(2,6,0) && defined(WIN32)
-#define uf_win32_locale_filename_from_utf8(__some_string__) \
-    g_locale_from_utf8(__some_string__, -1, NULL, NULL, NULL)
-#define uf_win32_locale_filename_free(__some_string__) g_free(__some_string__)
-
-// On other platforms nothing is needed
 #else
 #define uf_win32_locale_filename_from_utf8(__some_string__) (__some_string__)
 #define uf_win32_locale_filename_free(__some_string__) (void)(__some_string__)
-
 #endif
 
-// One win32 command-line arguments need to be translated to UTF-8
+// On win32 command-line arguments need to be translated to UTF-8
 #ifdef WIN32
 #define uf_win32_locale_to_utf8(__some_string__) \
     g_locale_to_utf8(__some_string__, -1, NULL, NULL, NULL)
@@ -66,7 +39,7 @@
 #define uf_win32_locale_free(__some_string__) (void)(__some_string__)
 #endif
 
-#ifdef  __cplusplus
+#ifdef __cplusplus
 }
 #endif
 

Index: ufraw-gimp.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw-gimp.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- ufraw-gimp.c        24 Feb 2010 17:44:27 -0000      1.63
+++ ufraw-gimp.c        5 Apr 2010 14:30:18 -0000       1.64
@@ -23,7 +23,6 @@
 #include <plugin_main.h>
 #define GIMP_CONST
 /* Fix some compatibility issues between CinePaint and GIMP */
-#define GIMP_CHECK_VERSION(a,b,c) 0
 typedef GimpRunModeType GimpRunMode;
 #define PLUGIN_MODE 2
 #else
@@ -66,7 +65,7 @@
     static GIMP_CONST GimpParamDef load_return_vals[] = {
        { GIMP_PDB_IMAGE, "image", "Output image" },
     };
-#if GIMP_CHECK_VERSION(2,2,0)
+#ifndef UFRAW_CINEPAINT
     static GIMP_CONST GimpParamDef thumb_args[] = {
        { GIMP_PDB_STRING, "filename",     "The name of the file to load" },
        { GIMP_PDB_INT32,  "thumb_size",   "Preferred thumbnail size" }
@@ -85,7 +84,7 @@
            "Copyright 2004 by Pawel Jochym\n"
            "Copyright 2004-2010 by Udi Fuchs",
            "ufraw-" VERSION,
-#if GIMP_CHECK_VERSION(2,2,0)
+#ifndef UFRAW_CINEPAINT
            "raw image",
 #else
            "<Load>/UFRaw",
@@ -99,7 +98,7 @@
 
     gimp_register_load_handler("file_ufraw_load", (char *)raw_ext, "");
 
-#if GIMP_CHECK_VERSION(2,2,0)
+#ifndef UFRAW_CINEPAINT
     gimp_install_procedure ("file_ufraw_load_thumb",
            "Loads thumbnails from digital camera raw files.",
            "Loads thumbnails from digital camera raw files.",
@@ -219,7 +218,7 @@
            }
            ufraw_icons_init();
            GtkWidget *dummyWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-           uf_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw");
+           gtk_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw");
            ufraw_message(UFRAW_SET_PARENT, (char *)dummyWindow);
 
            ufraw_message(UFRAW_REPORT, NULL);
@@ -237,7 +236,7 @@
 
     ufraw_config(uf, &rc, NULL, NULL);
     sendToGimpMode = (uf->conf->createID==send_id);
-#if GIMP_CHECK_VERSION(2,2,0)
+#ifndef UFRAW_CINEPAINT
     if ( loadThumbnail ) {
        uf->conf->size = size;
        uf->conf->embeddedImage = TRUE;

Index: ufraw_ufraw.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_ufraw.c,v
retrieving revision 1.252
retrieving revision 1.253
diff -u -d -r1.252 -r1.253
--- ufraw_ufraw.c       30 Mar 2010 22:51:02 -0000      1.252
+++ ufraw_ufraw.c       5 Apr 2010 14:30:18 -0000       1.253
@@ -855,22 +855,12 @@
            }
            ufraw_image_type *src = (ufraw_image_type *)(img->buffer +
                    yy * img->rowstride + xx * img->depth);
-#if 1
-           /* Do it in integer arithmetic, it's a bit faster */
            guint64 dx = (gint32)(srcX * 4096.0) - (xx << 12);
            guint64 dy = (gint32)(srcY * 4096.0) - (yy << 12);
            for (c = 0; c < uf->colors; c++)
                cur[c] = ( (4096-dy)*((4096-dx)*src[0][c] + dx*src[1][c])
                        + dy*((4096-dx)*src[img->width][c]
                                + (dx)*src[img->width+1][c]) ) >> 24;
-#else
-           float dx = srcX - xx;
-           float dy = srcY - yy;
-           for (c = 0; c < uf->colors; c++)
-               cur[c] = (1-dy)*((1-dx)*src[0][c] + dx*src[1][c])
-                           + dy*((1-dx)*src[img->width][c]
-                               + (dx)*src[img->width+1][c]);
-#endif
        }
     }
 }

Index: uf_gtk.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/uf_gtk.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- uf_gtk.h    4 Mar 2010 04:52:32 -0000       1.12
+++ uf_gtk.h    5 Apr 2010 14:30:18 -0000       1.13
@@ -16,23 +16,11 @@
 #include <gtk/gtk.h>
 #include <ufobject.h>
 
-#ifdef  __cplusplus
+#ifdef __cplusplus
 extern "C" {
 #endif
 
-// Interface to gtk_widget_set_tooltip_text() introduced in 2.12
-// Should be called after widget has a toplevel to minimize number
-// of calls to gtk_tooltips_new()
-void uf_widget_set_tooltip(GtkWidget *widget, const gchar *text);
-
-void uf_button_set_stock_image(GtkButton *button, const gchar *stock_image);
-
-void uf_label_set_width_chars(GtkLabel *label, gint n_chars);
-
-// Interface to gtk_window_set_icon_name() introduced in 2.6
-void uf_window_set_icon_name(GtkWindow *window, const gchar *name);
-
-// Create a GtkCheckButton with a label an a value that gets updated
+// Create a GtkCheckButton with a label and a value that gets updated
 GtkWidget *uf_check_button_new(const char *label, gboolean *valuep);
 
 // Create a new ComboBox text with small width.
@@ -70,7 +58,7 @@
 GtkWidget *ufarray_combo_box_new(UFObject *object);
 GtkWidget *ufarray_combo_box_entry_new(UFObject *object);
 
-#ifdef  __cplusplus
+#ifdef __cplusplus
 }
 #endif
 

Index: ufobject.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufobject.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ufobject.h  4 Mar 2010 04:52:32 -0000       1.6
+++ ufobject.h  5 Apr 2010 14:30:18 -0000       1.7
@@ -396,7 +396,7 @@
     explicit UFException(std::string &Message);
 };
 
-#endif /*__cplusplus*/
+#endif // __cplusplus
 
 /*************************\
  * UFObject C interface *

Index: ufraw_lensfun.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_lensfun.cc,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- ufraw_lensfun.cc    31 Mar 2010 17:15:09 -0000      1.16
+++ ufraw_lensfun.cc    5 Apr 2010 14:30:18 -0000       1.17
@@ -39,7 +39,7 @@
     double ApertureValue;
     double DistanceValue;
     Lensfun();
-#if 0 // Can be useful for valgrind --leak-check=full
+#ifdef UFRAW_VALGRIND // Can be useful for valgrind --leak-check=full
     ~Lensfun() {
        if (_LensDB != NULL)
            lf_db_destroy(_LensDB);

Index: dcraw.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw.h,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- dcraw.h     28 Mar 2010 17:45:14 -0000      1.61
+++ dcraw.h     5 Apr 2010 14:30:18 -0000       1.62
@@ -26,13 +26,11 @@
  */
 #if !defined(DCRAW_NOMAIN) && defined(WIN32)
 #include <glib.h>
-#if GLIB_CHECK_VERSION(2,6,0)
 extern "C" {
 #include <glib/gstdio.h>
 }
 #define fopen g_fopen
 #endif
-#endif
 
 class DCRaw { public:
 /* All dcraw's global variables are members of this class. */

Index: ufraw.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- ufraw.c     24 Feb 2010 17:44:27 -0000      1.58
+++ ufraw.c     5 Apr 2010 14:30:18 -0000       1.59
@@ -43,7 +43,7 @@
     ufraw_icons_init();
 #ifdef WIN32
     dummyWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-    uf_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw");
+    gtk_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw");
     ufraw_message(UFRAW_SET_PARENT, (char *)dummyWindow);
 #endif
     /* Load $HOME/.ufrawrc */
@@ -84,7 +84,7 @@
     /* Create a dummyWindow for the GUI error messenger */
     if (dummyWindow==NULL) {
        dummyWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-       uf_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw");
+       gtk_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw");
        ufraw_message(UFRAW_SET_PARENT, (char *)dummyWindow);
     }
     conf_file_load(&conf, cmd.inputFilename);

Index: uf_gtk.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/uf_gtk.cc,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- uf_gtk.cc   4 Mar 2010 04:52:32 -0000       1.21
+++ uf_gtk.cc   5 Apr 2010 14:30:18 -0000       1.22
@@ -28,86 +28,6 @@
 
 extern "C" {
 
-#if !GTK_CHECK_VERSION(2,12,0)
-static void _uf_widget_set_tooltip_destroy_event(GObject *object,
-    gpointer user_data)
-{
-    (void)user_data;
-    GObject *Tooltips = static_cast<GObject *>(
-       g_object_get_data(object, "UF-Tooltips"));
-    if ( Tooltips!=NULL )
-       g_object_unref(Tooltips);
-}
-#endif
-
-// Interface to gtk_widget_set_tooltip_text() introduced in 2.12
-// Should be called after widget has a toplevel to minimize number
-// of calls to gtk_tooltips_new()
-void uf_widget_set_tooltip(GtkWidget *widget, const gchar *text)
-{
-#if GTK_CHECK_VERSION(2,12,0)
-    gtk_widget_set_tooltip_text(widget, text);
-#else
-    GObject *parentWindow = G_OBJECT(gtk_widget_get_toplevel(widget));
-    GtkTooltips *Tooltips = static_cast<GtkTooltips *>(
-       g_object_get_data(parentWindow, "UF-Tooltips"));
-    if ( Tooltips==NULL ) {
-       // On first call create the tooltips
-       Tooltips = gtk_tooltips_new();
-#if GTK_CHECK_VERSION(2,10,0)
-       g_object_ref_sink(Tooltips);
-#else
-       g_object_ref(Tooltips);
-       gtk_object_sink(GTK_OBJECT(Tooltips));
-#endif
-       g_object_set_data(parentWindow, "UF-Tooltips", Tooltips);
-       g_signal_connect(parentWindow, "destroy",
-           G_CALLBACK(_uf_widget_set_tooltip_destroy_event), NULL);
-    }
-    gtk_tooltips_set_tip(Tooltips, widget, text, NULL);
-#endif
-}
-
-void uf_button_set_stock_image(GtkButton *button, const gchar *stock_image)
-{
-#if GTK_CHECK_VERSION(2,8,0)
-    gtk_button_set_image(button, gtk_image_new_from_stock(
-           stock_image, GTK_ICON_SIZE_BUTTON));
-#else
-    GtkWidget *lastImage = gtk_bin_get_child(GTK_BIN(button));
-    if ( lastImage!=NULL )
-       gtk_container_remove(GTK_CONTAINER(button), lastImage);
-
-    GtkWidget *image = gtk_image_new_from_stock(stock_image,
-           GTK_ICON_SIZE_BUTTON);
-    gtk_container_add(GTK_CONTAINER(button), image);
-    gtk_widget_show(image);
-#endif
-}
-
-// Interface to gtk_window_set_icon_name() introduced in 2.6
-// but was buggy until 2.8
-void uf_window_set_icon_name(GtkWindow *window, const gchar *name)
-{
-#if GTK_CHECK_VERSION(2,8,0)
-    gtk_window_set_icon_name(window, name);
-#else
-    gtk_window_set_icon(window,
-           gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
-                   name, 48, GTK_ICON_LOOKUP_USE_BUILTIN, NULL));
-#endif
-}
-
-void uf_label_set_width_chars(GtkLabel *label, gint n_chars)
-{
-#if GTK_CHECK_VERSION(2,6,0)
-    gtk_label_set_width_chars(label, n_chars);
-#else
-    (void)label;
-    (void)n_chars;
-#endif
-}
-
 static void _uf_toggle_button_toggled(GtkToggleButton *button, gboolean 
*valuep)
 {
     *valuep = gtk_toggle_button_get_active(button);
@@ -569,7 +489,7 @@
     gtk_container_add(GTK_CONTAINER(button), 
            gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_BUTTON));
     if (tip != NULL)
-       uf_widget_set_tooltip(button, tip);
+       gtk_widget_set_tooltip_text(button, tip);
     _UFObjectList *objectList = new _UFObjectList;
     g_object_set_data(G_OBJECT(button), "UFObjectList", objectList);
     


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to