From d2307c1bf62cd1f763b9eb1cdb7c891e24ae99a3 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Mon, 15 Sep 2008 21:05:01 +0000 Subject: [PATCH] add GError parameter and replace g_message() by g_set_error(). 2008-09-15 Michael Natterer * app/core/gimplayer.[ch] (gimp_layer_add_mask): add GError parameter and replace g_message() by g_set_error(). * app/core/gimplayermaskundo.c * app/xcf/xcf-load.c * app/actions/layers-commands.c: pass NULL errors since these places know what they are doing. Ha ha... * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/image.pdb: pass the error so we get more real error messages for failed PDB calls. * app/pdb/image-cmds.c * app/pdb/layer-cmds.c: regenerated. svn path=/trunk/; revision=26948 --- ChangeLog | 17 +++++++++++++++++ app/actions/layers-commands.c | 2 +- app/core/gimplayer.c | 27 ++++++++++++--------------- app/core/gimplayer.h | 3 ++- app/core/gimplayermaskundo.c | 2 +- app/pdb/image-cmds.c | 5 ++--- app/pdb/layer-cmds.c | 5 ++--- app/xcf/xcf-load.c | 2 +- tools/pdbgen/pdb/image.pdb | 5 ++--- tools/pdbgen/pdb/layer.pdb | 5 ++--- 10 files changed, 42 insertions(+), 31 deletions(-) diff --git a/ChangeLog b/ChangeLog index b95ed02689..5e1c248d59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2008-09-15 Michael Natterer + + * app/core/gimplayer.[ch] (gimp_layer_add_mask): add GError + parameter and replace g_message() by g_set_error(). + + * app/core/gimplayermaskundo.c + * app/xcf/xcf-load.c + * app/actions/layers-commands.c: pass NULL errors since these + places know what they are doing. Ha ha... + + * tools/pdbgen/pdb/layer.pdb + * tools/pdbgen/pdb/image.pdb: pass the error so we get more real + error messages for failed PDB calls. + + * app/pdb/image-cmds.c + * app/pdb/layer-cmds.c: regenerated. + 2008-09-15 Michael Natterer Bug 552413 – Script triggers Gimp-Core-CRITICAL diff --git a/app/actions/layers-commands.c b/app/actions/layers-commands.c index 92936ca3e5..2366b3c9a0 100644 --- a/app/actions/layers-commands.c +++ b/app/actions/layers-commands.c @@ -1049,7 +1049,7 @@ layers_add_mask_response (GtkWidget *widget, if (layer_mask_invert) gimp_channel_invert (GIMP_CHANNEL (mask), FALSE); - gimp_layer_add_mask (layer, mask, TRUE); + gimp_layer_add_mask (layer, mask, TRUE, NULL); gimp_image_undo_group_end (image); diff --git a/app/core/gimplayer.c b/app/core/gimplayer.c index be3f678bb8..a3f23daefe 100644 --- a/app/core/gimplayer.c +++ b/app/core/gimplayer.c @@ -538,7 +538,7 @@ gimp_layer_duplicate (GimpItem *item, mask = gimp_item_duplicate (GIMP_ITEM (layer->mask), G_TYPE_FROM_INSTANCE (layer->mask)); - gimp_layer_add_mask (new_layer, GIMP_LAYER_MASK (mask), FALSE); + gimp_layer_add_mask (new_layer, GIMP_LAYER_MASK (mask), FALSE, NULL); } } @@ -1241,31 +1241,27 @@ gimp_layer_new_from_region (PixelRegion *region, } GimpLayerMask * -gimp_layer_add_mask (GimpLayer *layer, - GimpLayerMask *mask, - gboolean push_undo) +gimp_layer_add_mask (GimpLayer *layer, + GimpLayerMask *mask, + gboolean push_undo, + GError **error) { GimpImage *image; g_return_val_if_fail (GIMP_IS_LAYER (layer), NULL); g_return_val_if_fail (GIMP_IS_LAYER_MASK (mask), NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); if (! gimp_item_is_attached (GIMP_ITEM (layer))) push_undo = FALSE; image = gimp_item_get_image (GIMP_ITEM (layer)); - if (! image) - { - g_message (_("Cannot add layer mask to layer " - "which is not part of an image.")); - return NULL; - } - if (layer->mask) { - g_message (_("Unable to add a layer mask since " - "the layer already has one.")); + g_set_error (error, 0, 0, + _("Unable to add a layer mask since " + "the layer already has one.")); return NULL; } @@ -1274,8 +1270,9 @@ gimp_layer_add_mask (GimpLayer *layer, (gimp_item_height (GIMP_ITEM (layer)) != gimp_item_height (GIMP_ITEM (mask)))) { - g_message (_("Cannot add layer mask of different " - "dimensions than specified layer.")); + g_set_error (error, 0, 0, + _("Cannot add layer mask of different " + "dimensions than specified layer.")); return NULL; } diff --git a/app/core/gimplayer.h b/app/core/gimplayer.h index b98606cadc..87ec267fac 100644 --- a/app/core/gimplayer.h +++ b/app/core/gimplayer.h @@ -103,7 +103,8 @@ GimpLayerMask * gimp_layer_create_mask (const GimpLayer *layer, GimpChannel *channel); GimpLayerMask * gimp_layer_add_mask (GimpLayer *layer, GimpLayerMask *mask, - gboolean push_undo); + gboolean push_undo, + GError **error); void gimp_layer_apply_mask (GimpLayer *layer, GimpMaskApplyMode mode, gboolean push_undo); diff --git a/app/core/gimplayermaskundo.c b/app/core/gimplayermaskundo.c index 9e2f7cca48..5a688ac94e 100644 --- a/app/core/gimplayermaskundo.c +++ b/app/core/gimplayermaskundo.c @@ -188,7 +188,7 @@ gimp_layer_mask_undo_pop (GimpUndo *undo, { /* restore layer mask */ - gimp_layer_add_mask (layer, layer_mask_undo->layer_mask, FALSE); + gimp_layer_add_mask (layer, layer_mask_undo->layer_mask, FALSE, NULL); GIMP_ITEM (layer_mask_undo->layer_mask)->removed = FALSE; } diff --git a/app/pdb/image-cmds.c b/app/pdb/image-cmds.c index 2c05a269e7..762cbdb24f 100644 --- a/app/pdb/image-cmds.c +++ b/app/pdb/image-cmds.c @@ -1490,9 +1490,8 @@ image_add_layer_mask_invoker (GimpProcedure *procedure, if (success) { - if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error) && - ! gimp_layer_get_mask (layer)) - success = (gimp_layer_add_mask (layer, mask, TRUE) == mask); + if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error)) + success = (gimp_layer_add_mask (layer, mask, TRUE, error) == mask); else success = FALSE; } diff --git a/app/pdb/layer-cmds.c b/app/pdb/layer-cmds.c index dc9c112c20..765010ab13 100644 --- a/app/pdb/layer-cmds.c +++ b/app/pdb/layer-cmds.c @@ -550,9 +550,8 @@ layer_add_mask_invoker (GimpProcedure *procedure, if (success) { - if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error) && - ! gimp_layer_get_mask (layer)) - success = (gimp_layer_add_mask (layer, mask, TRUE) == mask); + if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error)) + success = (gimp_layer_add_mask (layer, mask, TRUE, error) == mask); else success = FALSE; } diff --git a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c index 52f72cf966..2867116f31 100644 --- a/app/xcf/xcf-load.c +++ b/app/xcf/xcf-load.c @@ -1019,7 +1019,7 @@ xcf_load_layer (XcfInfo *info, gimp_layer_mask_set_edit (layer_mask, edit_mask); gimp_layer_mask_set_show (layer_mask, show_mask, FALSE); - gimp_layer_add_mask (layer, layer_mask, FALSE); + gimp_layer_add_mask (layer, layer_mask, FALSE, NULL); } /* attach the floating selection... */ diff --git a/tools/pdbgen/pdb/image.pdb b/tools/pdbgen/pdb/image.pdb index 8523f2b9c7..2b39a184d1 100644 --- a/tools/pdbgen/pdb/image.pdb +++ b/tools/pdbgen/pdb/image.pdb @@ -1015,9 +1015,8 @@ sub image_add_layer_mask { %invoke = ( code => <<'CODE' { - if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error) && - ! gimp_layer_get_mask (layer)) - success = (gimp_layer_add_mask (layer, mask, TRUE) == mask); + if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error)) + success = (gimp_layer_add_mask (layer, mask, TRUE, error) == mask); else success = FALSE; } diff --git a/tools/pdbgen/pdb/layer.pdb b/tools/pdbgen/pdb/layer.pdb index fb2a9ab544..41bd40a391 100644 --- a/tools/pdbgen/pdb/layer.pdb +++ b/tools/pdbgen/pdb/layer.pdb @@ -276,9 +276,8 @@ HELP %invoke = ( code => <<'CODE' { - if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error) && - ! gimp_layer_get_mask (layer)) - success = (gimp_layer_add_mask (layer, mask, TRUE) == mask); + if (gimp_pdb_item_is_floating (GIMP_ITEM (mask), error)) + success = (gimp_layer_add_mask (layer, mask, TRUE, error) == mask); else success = FALSE; }