mirror of https://github.com/GNOME/gimp.git
app/core/gimpprojection.[ch] add code that keeps the gegl processor around
2008-11-10 Michael Natterer <mitch@gimp.org> * app/core/gimpprojection.[ch] * app/core/gimpprojection-construct.c: add code that keeps the gegl processor around across calls, but destroy it anyway until gegl_processor_set_rectangle() is fixed. svn path=/trunk/; revision=27607
This commit is contained in:
parent
bb85dbbf24
commit
19e7f9e316
|
@ -1,3 +1,10 @@
|
|||
2008-11-10 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/core/gimpprojection.[ch]
|
||||
* app/core/gimpprojection-construct.c: add code that keeps the
|
||||
gegl processor around across calls, but destroy it anyway until
|
||||
gegl_processor_set_rectangle() is fixed.
|
||||
|
||||
2008-11-10 Martin Nordholts <martinn@svn.gnome.org>
|
||||
|
||||
Bug 559716 – Changing crop size in Crop Tool Options can make UI
|
||||
|
|
|
@ -144,7 +144,6 @@ gimp_projection_construct_gegl (GimpProjection *proj,
|
|||
gint h)
|
||||
{
|
||||
GeglNode *sink;
|
||||
GeglProcessor *processor;
|
||||
GeglRectangle rect;
|
||||
|
||||
sink = gimp_projection_get_sink_node (proj);
|
||||
|
@ -154,11 +153,18 @@ gimp_projection_construct_gegl (GimpProjection *proj,
|
|||
rect.width = w;
|
||||
rect.height = h;
|
||||
|
||||
processor = gegl_node_new_processor (sink, &rect);
|
||||
if (! proj->processor)
|
||||
proj->processor = gegl_node_new_processor (sink, &rect);
|
||||
else
|
||||
gegl_processor_set_rectangle (proj->processor, &rect);
|
||||
|
||||
while (gegl_processor_work (processor, NULL));
|
||||
while (gegl_processor_work (proj->processor, NULL));
|
||||
|
||||
g_object_unref (processor);
|
||||
#ifdef __GNUC__
|
||||
#warning FIXME: keep the processor around once gegl_processor_set_rectangle() works
|
||||
#endif
|
||||
g_object_unref (proj->processor);
|
||||
proj->processor = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -203,6 +203,12 @@ gimp_projection_finalize (GObject *object)
|
|||
proj->sink_node = NULL;
|
||||
}
|
||||
|
||||
if (proj->processor)
|
||||
{
|
||||
g_object_unref (proj->processor);
|
||||
proj->processor = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@ struct _GimpProjection
|
|||
TilePyramid *pyramid;
|
||||
GeglNode *graph;
|
||||
GeglNode *sink_node;
|
||||
GeglProcessor *processor;
|
||||
|
||||
GSList *update_areas;
|
||||
GimpProjectionIdleRender idle_render;
|
||||
|
|
Loading…
Reference in New Issue