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.
This commit is contained in:
Sven Neumann 2009-05-21 13:37:17 +02:00
parent e0453b44b1
commit 9afa690a74
1 changed files with 29 additions and 6 deletions

View File

@ -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"