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:
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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,
|
||||||
|
@ -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])
|
||||||
|
Reference in New Issue
Block a user