From 9afa690a741332646328800ac0379261a347b21c Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Thu, 21 May 2009 13:37:17 +0200 Subject: [PATCH] app: fixed version checks for babl and GEGL The version checks for babl and GEGL did not cope correctly with the minor version upgrade. This change fixes this by introducing a generic version check. --- app/sanity.c | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/app/sanity.c b/app/sanity.c index c0ae257570..2bde12a391 100644 --- a/app/sanity.c +++ b/app/sanity.c @@ -73,6 +73,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) { @@ -264,9 +287,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" @@ -302,9 +325,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"