Make sure we don't PDB-modify locked text layers

* app/pdb/gimppdb-utils.[ch]: add "gboolean writable" to
  gimp_pdb_layer_is_text_layer() because that's called on
  all text layers anyway.

* tools/pdbgen/pdb/text_layer.pdb
* tools/pdbgen/pdb/vectors.pdb: pass TRUE if we want to modify the layer.

* app/pdb/text-layer-cmds.c
* app/pdb/vectors-cmds.c: regenerated.
This commit is contained in:
Michael Natterer 2009-08-21 14:33:12 +02:00
parent 256ac5e62e
commit 345f88ab04
6 changed files with 63 additions and 61 deletions

View File

@ -377,6 +377,7 @@ gimp_pdb_item_is_writable (GimpItem *item,
gboolean
gimp_pdb_layer_is_text_layer (GimpLayer *layer,
gboolean writable,
GError **error)
{
g_return_val_if_fail (GIMP_IS_LAYER (layer), FALSE);
@ -393,7 +394,7 @@ gimp_pdb_layer_is_text_layer (GimpLayer *layer,
return FALSE;
}
return gimp_pdb_item_is_attached (GIMP_ITEM (layer), FALSE, error);
return gimp_pdb_item_is_attached (GIMP_ITEM (layer), writable, error);
}
static const gchar *

View File

@ -58,6 +58,7 @@ gboolean gimp_pdb_item_is_writable (GimpItem *item,
GError **error);
gboolean gimp_pdb_layer_is_text_layer (GimpLayer *layer,
gboolean writable,
GError **error);
gboolean gimp_pdb_image_is_base_type (GimpImage *image,

View File

@ -118,7 +118,7 @@ text_layer_get_text_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"text", &text,
@ -156,7 +156,7 @@ text_layer_set_text_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -190,7 +190,7 @@ text_layer_get_font_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"font", &font,
@ -228,7 +228,7 @@ text_layer_set_font_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -263,7 +263,7 @@ text_layer_get_font_size_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"font-size", &font_size,
@ -307,7 +307,7 @@ text_layer_set_font_size_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -342,7 +342,7 @@ text_layer_get_antialias_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"antialias", &antialias,
@ -380,7 +380,7 @@ text_layer_set_antialias_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -414,7 +414,7 @@ text_layer_get_hint_style_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"hint-style", &style,
@ -452,7 +452,7 @@ text_layer_set_hint_style_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -486,7 +486,7 @@ text_layer_get_kerning_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"kerning", &kerning,
@ -524,7 +524,7 @@ text_layer_set_kerning_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -558,7 +558,7 @@ text_layer_get_language_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"language", &language,
@ -596,7 +596,7 @@ text_layer_set_language_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -630,7 +630,7 @@ text_layer_get_base_direction_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"base-direction", &direction,
@ -668,7 +668,7 @@ text_layer_set_base_direction_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -702,7 +702,7 @@ text_layer_get_justification_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"justify", &justify,
@ -740,7 +740,7 @@ text_layer_set_justification_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -774,7 +774,7 @@ text_layer_get_color_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
color = gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer))->color;
}
@ -810,7 +810,7 @@ text_layer_set_color_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -844,7 +844,7 @@ text_layer_get_indent_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"indent", &indent,
@ -882,7 +882,7 @@ text_layer_set_indent_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -916,7 +916,7 @@ text_layer_get_line_spacing_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"line-spacing", &line_spacing,
@ -954,7 +954,7 @@ text_layer_set_line_spacing_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -988,7 +988,7 @@ text_layer_get_letter_spacing_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"letter-spacing", &letter_spacing,
@ -1026,7 +1026,7 @@ text_layer_set_letter_spacing_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -1062,7 +1062,7 @@ text_layer_resize_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -1098,7 +1098,7 @@ text_layer_get_hinting_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"hinting", &hinting,
@ -1141,7 +1141,7 @@ text_layer_set_hinting_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),

View File

@ -120,7 +120,7 @@ vectors_new_from_text_layer_invoker (GimpProcedure *procedure,
if (success)
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
gint x, y;

View File

@ -102,7 +102,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"text", &text,
@ -136,7 +136,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -174,7 +174,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"font", &font,
@ -208,7 +208,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -250,7 +250,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"font-size", &font_size,
@ -288,7 +288,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -323,7 +323,7 @@ sub text_layer_get_hinting {
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"hinting", &hinting,
@ -363,7 +363,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -401,7 +401,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"antialias", &antialias,
@ -435,7 +435,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -475,7 +475,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"hint-style", &style,
@ -511,7 +511,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -549,7 +549,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"kerning", &kerning,
@ -583,7 +583,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -622,7 +622,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"language", &language,
@ -657,7 +657,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -696,7 +696,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"base-direction", &direction,
@ -731,7 +731,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -770,7 +770,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"justify", &justify,
@ -805,7 +805,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -843,7 +843,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
color = gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer))->color;
}
@ -875,7 +875,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -913,7 +913,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"indent", &indent,
@ -947,7 +947,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -985,7 +985,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"line-spacing", &line_spacing,
@ -1019,7 +1019,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -1058,7 +1058,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
g_object_get (gimp_text_layer_get_text (GIMP_TEXT_LAYER (layer)),
"letter-spacing", &letter_spacing,
@ -1093,7 +1093,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),
@ -1135,7 +1135,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, TRUE, error))
{
gimp_text_layer_set (GIMP_TEXT_LAYER (layer),
_("Set text layer attribute"),

View File

@ -102,7 +102,7 @@ HELP
%invoke = (
code => <<'CODE'
{
if (gimp_pdb_layer_is_text_layer (layer, error))
if (gimp_pdb_layer_is_text_layer (layer, FALSE, error))
{
gint x, y;