configure.ac, app: temporarily revert GEGL dependency to 0.4.22 for release

... and work around the missing gegl_buffer_share_storage() API in
gimp:replace.
This commit is contained in:
Ell
2020-02-22 22:23:12 +02:00
parent 696bb3fa21
commit 6bed57abe2
3 changed files with 35 additions and 26 deletions

View File

@ -23,6 +23,7 @@
#include <string.h> #include <string.h>
#include <gegl-plugin.h> #include <gegl-plugin.h>
#include <gegl-buffer-backend.h>
#include "../operations-types.h" #include "../operations-types.h"
@ -178,38 +179,46 @@ gimp_operation_replace_parent_process (GeglOperation *op,
input = gegl_operation_context_get_object (context, "input"); input = gegl_operation_context_get_object (context, "input");
aux = gegl_operation_context_get_object (context, "aux"); aux = gegl_operation_context_get_object (context, "aux");
if (input && aux && if (input && aux)
gegl_buffer_share_storage (GEGL_BUFFER (input), GEGL_BUFFER (aux)))
{ {
gint input_shift_x; GObject *buffer = aux;
gint input_shift_y;
gint aux_shift_x;
gint aux_shift_y;
g_object_get (input, while (buffer != input && GEGL_IS_BUFFER (buffer))
"shift-x", &input_shift_x, buffer = (GObject *) gegl_tile_handler_get_source (buffer);
"shift-y", &input_shift_y,
NULL);
g_object_get (aux,
"shift-x", &aux_shift_x,
"shift-y", &aux_shift_y,
NULL);
if (input_shift_x == aux_shift_x && input_shift_y == aux_shift_y) if (buffer == input)
{ {
const GeglRectangle *input_abyss; gint input_shift_x;
const GeglRectangle *aux_abyss; gint input_shift_y;
gint aux_shift_x;
gint aux_shift_y;
input_abyss = gegl_buffer_get_abyss (GEGL_BUFFER (input)); g_object_get (input,
aux_abyss = gegl_buffer_get_abyss (GEGL_BUFFER (aux)); "shift-x", &input_shift_x,
"shift-y", &input_shift_y,
NULL);
g_object_get (aux,
"shift-x", &aux_shift_x,
"shift-y", &aux_shift_y,
NULL);
if (gegl_rectangle_equal (input_abyss, aux_abyss) || if (input_shift_x == aux_shift_x && input_shift_y == aux_shift_y)
(gegl_rectangle_contains (input_abyss, result) &&
gegl_rectangle_contains (aux_abyss, result)))
{ {
gegl_operation_context_set_object (context, "output", input); const GeglRectangle *input_abyss;
const GeglRectangle *aux_abyss;
return TRUE; input_abyss = gegl_buffer_get_abyss (GEGL_BUFFER (input));
aux_abyss = gegl_buffer_get_abyss (GEGL_BUFFER (aux));
if (gegl_rectangle_equal (input_abyss, aux_abyss) ||
(gegl_rectangle_contains (input_abyss, result) &&
gegl_rectangle_contains (aux_abyss, result)))
{
gegl_operation_context_set_object (context,
"output", input);
return TRUE;
}
} }
} }
} }

View File

@ -518,7 +518,7 @@ sanity_check_gegl (void)
#define GEGL_REQUIRED_MAJOR 0 #define GEGL_REQUIRED_MAJOR 0
#define GEGL_REQUIRED_MINOR 4 #define GEGL_REQUIRED_MINOR 4
#define GEGL_REQUIRED_MICRO 23 #define GEGL_REQUIRED_MICRO 22
gegl_get_version (&gegl_major_version, gegl_get_version (&gegl_major_version,
&gegl_minor_version, &gegl_minor_version,

View File

@ -52,7 +52,7 @@ m4_define([fontconfig_required_version], [2.12.4])
m4_define([freetype2_required_version], [2.1.7]) m4_define([freetype2_required_version], [2.1.7])
m4_define([gdk_pixbuf_required_version], [2.30.8]) m4_define([gdk_pixbuf_required_version], [2.30.8])
m4_define([gegl_major_minor_version], [0.4]) m4_define([gegl_major_minor_version], [0.4])
m4_define([gegl_micro_version], [23]) m4_define([gegl_micro_version], [22])
m4_define([gegl_required_version], m4_define([gegl_required_version],
[gegl_major_minor_version.gegl_micro_version]) [gegl_major_minor_version.gegl_micro_version])
m4_define([gexiv2_required_version], [0.10.6]) m4_define([gexiv2_required_version], [0.10.6])