Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
Date: 2009-08-03
Initial Package Version: 2.6.6
Upstream Status: unknown
Origin: from fedora
Description: Fixes failure to run if babl is version 0.1.0 (configure
runs correctly, the error is that a dialog box is produced at run time
complaining that babl-0.1.0 is older than the minimum babl-0.0.22).

diff -up gimp-2.6.6/app/sanity.c.gegl-babl-versions-check gimp-2.6.6/app/sanity.c
--- gimp-2.6.6/app/sanity.c.gegl-babl-versions-check	2008-11-20 23:43:08.000000000 +0100
+++ gimp-2.6.6/app/sanity.c	2009-06-05 10:26:03.043506642 +0200
@@ -75,6 +75,29 @@ sanity_check (void)
 
 /*  private functions  */
 
+static gboolean
+sanity_check_version (guint major_version, guint required_major,
+                      guint minor_version, guint required_minor,
+                      guint micro_version, guint required_micro)
+{
+  if (major_version > required_major)
+    return TRUE;
+
+  if (major_version < required_major)
+    return FALSE;
+
+  if (minor_version > required_minor)
+    return TRUE;
+
+  if (minor_version < required_minor)
+    return FALSE;
+
+  if (micro_version >= required_micro)
+    return TRUE;
+
+  return FALSE;
+}
+
 static gchar *
 sanity_check_gimp (void)
 {
@@ -266,9 +289,9 @@ sanity_check_babl (void)
                     &babl_minor_version,
                     &babl_micro_version);
 
-  if (babl_major_version < BABL_REQUIRED_MAJOR ||
-      babl_minor_version < BABL_REQUIRED_MINOR ||
-      babl_micro_version < BABL_REQUIRED_MICRO)
+  if (! sanity_check_version (babl_major_version, BABL_REQUIRED_MAJOR,
+                              babl_minor_version, BABL_REQUIRED_MINOR,
+                              babl_micro_version, BABL_REQUIRED_MICRO))
     {
       return g_strdup_printf
         ("BABL version too old!\n\n"
@@ -304,9 +327,9 @@ sanity_check_gegl (void)
                     &gegl_minor_version,
                     &gegl_micro_version);
 
-  if (gegl_major_version < GEGL_REQUIRED_MAJOR ||
-      gegl_minor_version < GEGL_REQUIRED_MINOR ||
-      gegl_micro_version < GEGL_REQUIRED_MICRO)
+  if (! sanity_check_version (gegl_major_version, GEGL_REQUIRED_MAJOR,
+                              gegl_minor_version, GEGL_REQUIRED_MINOR,
+                              gegl_micro_version, GEGL_REQUIRED_MICRO))
     {
       return g_strdup_printf
         ("GEGL version too old!\n\n"
