[gimp] app: make group layer type conversion depend on less side conditions
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: make group layer type conversion depend on less side conditions
- Date: Fri, 28 Sep 2012 19:04:00 +0000 (UTC)
commit 1725c6c86594dbf10859452331efb9aab5da1e30
Author: Michael Natterer <mitch gimp org>
Date: Fri Sep 28 20:58:40 2012 +0200
app: make group layer type conversion depend on less side conditions
gimp_group_layer_convert_type() required the image's precision to be
already set to the new value.
app/core/gimpgrouplayer.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
---
diff --git a/app/core/gimpgrouplayer.c b/app/core/gimpgrouplayer.c
index c833b05..1cfb5f3 100644
--- a/app/core/gimpgrouplayer.c
+++ b/app/core/gimpgrouplayer.c
@@ -822,7 +822,8 @@ gimp_group_layer_estimate_memsize (const GimpDrawable *drawable,
static const Babl *
get_projection_format (GimpProjectable *projectable,
- GimpImageBaseType base_type)
+ GimpImageBaseType base_type,
+ GimpPrecision precision)
{
GimpImage *image = gimp_item_get_image (GIMP_ITEM (projectable));
@@ -830,14 +831,10 @@ get_projection_format (GimpProjectable *projectable,
{
case GIMP_RGB:
case GIMP_INDEXED:
- return gimp_image_get_format (image, GIMP_RGB,
- gimp_image_get_precision (image),
- TRUE);
+ return gimp_image_get_format (image, GIMP_RGB, precision, TRUE);
case GIMP_GRAY:
- return gimp_image_get_format (image, GIMP_GRAY,
- gimp_image_get_precision (image),
- TRUE);
+ return gimp_image_get_format (image, GIMP_GRAY, precision, TRUE);
}
g_assert_not_reached ();
@@ -869,7 +866,8 @@ gimp_group_layer_convert_type (GimpDrawable *drawable,
* depth
*/
private->convert_format = get_projection_format (GIMP_PROJECTABLE (drawable),
- new_base_type);
+ new_base_type,
+ new_precision);
gimp_projectable_structure_changed (GIMP_PROJECTABLE (drawable));
buffer = gimp_pickable_get_buffer (GIMP_PICKABLE (private->projection));
@@ -891,7 +889,6 @@ gimp_group_layer_convert_type (GimpDrawable *drawable,
gimp_drawable_convert_type (GIMP_DRAWABLE (mask), dest_image,
GIMP_GRAY, new_precision, push_undo);
}
-
}
static const Babl *
@@ -899,13 +896,15 @@ gimp_group_layer_get_format (GimpProjectable *projectable)
{
GimpGroupLayerPrivate *private = GET_PRIVATE (projectable);
GimpImageBaseType base_type;
+ GimpPrecision precision;
if (private->convert_format)
return private->convert_format;
base_type = gimp_drawable_get_base_type (GIMP_DRAWABLE (projectable));
+ precision = gimp_drawable_get_precision (GIMP_DRAWABLE (projectable));
- return get_projection_format (projectable, base_type);
+ return get_projection_format (projectable, base_type, precision);
}
static GeglNode *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]