[gimp] app: pass the right undo buffer and extents to gimp_drawable_push_undo()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: pass the right undo buffer and extents to gimp_drawable_push_undo()
- Date: Wed, 2 May 2012 16:15:43 +0000 (UTC)
commit 3bb973f24bb9fb47042b2ff1f66b47543efc00e7
Author: Michael Natterer <mitch gimp org>
Date: Fri Mar 23 03:04:14 2012 +0100
app: pass the right undo buffer and extents to gimp_drawable_push_undo()
the coords need to be in drawable bounds now that we got rid of the
weird sparse logic.
app/paint/gimppaintcore.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/app/paint/gimppaintcore.c b/app/paint/gimppaintcore.c
index e35c583..da6f1c1 100644
--- a/app/paint/gimppaintcore.c
+++ b/app/paint/gimppaintcore.c
@@ -457,28 +457,30 @@ gimp_paint_core_finish (GimpPaintCore *core,
if (push_undo)
{
GeglBuffer *buffer;
+ gint x, y, width, height;
+
+ gimp_rectangle_intersect (core->x1, core->y1,
+ core->x2 - core->x1, core->y2 - core->y1,
+ 0, 0,
+ gimp_item_get_width (GIMP_ITEM (drawable)),
+ gimp_item_get_height (GIMP_ITEM (drawable)),
+ &x, &y, &width, &height);
gimp_image_undo_group_start (image, GIMP_UNDO_GROUP_PAINT,
core->undo_desc);
GIMP_PAINT_CORE_GET_CLASS (core)->push_undo (core, image, NULL);
- buffer = gimp_gegl_buffer_new (GIMP_GEGL_RECT (0, 0,
- core->x2 - core->x1,
- core->y2 - core->y1),
+ buffer = gimp_gegl_buffer_new (GIMP_GEGL_RECT (0, 0, width, height),
gimp_drawable_get_format (drawable));
gegl_buffer_copy (core->undo_buffer,
- GIMP_GEGL_RECT (core->x1, core->y1,
- core->x2 - core->x1,
- core->y2 - core->y1),
+ GIMP_GEGL_RECT (x, y, width, height),
buffer,
GIMP_GEGL_RECT (0, 0, 0, 0));
gimp_drawable_push_undo (drawable, NULL,
- buffer,
- core->x1, core->y1,
- core->x2 - core->x1, core->y2 - core->y1);
+ buffer, x, y, width, height);
g_object_unref (buffer);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]