[gimp] Keep the PDB from changing locks that can't be changed



commit aa70c13fd6c4fbca8840bdcb3372b7a3e4ee7970
Author: Michael Natterer <mitch gimp org>
Date:   Sun Aug 23 19:51:59 2009 +0200

    Keep the PDB from changing locks that can't be changed

 app/pdb/drawable-cmds.c       |    5 ++++-
 app/pdb/layer-cmds.c          |    5 ++++-
 app/pdb/vectors-cmds.c        |    5 ++++-
 tools/pdbgen/pdb/drawable.pdb |    5 ++++-
 tools/pdbgen/pdb/layer.pdb    |    5 ++++-
 tools/pdbgen/pdb/vectors.pdb  |    5 ++++-
 6 files changed, 24 insertions(+), 6 deletions(-)
---
diff --git a/app/pdb/drawable-cmds.c b/app/pdb/drawable-cmds.c
index a224910..b69289e 100644
--- a/app/pdb/drawable-cmds.c
+++ b/app/pdb/drawable-cmds.c
@@ -770,7 +770,10 @@ drawable_set_lock_content_invoker (GimpProcedure      *procedure,
 
   if (success)
     {
-      gimp_item_set_lock_content (GIMP_ITEM (drawable), lock_content, TRUE);
+      if (gimp_item_can_lock_content (GIMP_ITEM (drawable)))
+        gimp_item_set_lock_content (GIMP_ITEM (drawable), lock_content, TRUE);
+      else
+        success = FALSE;
     }
 
   return gimp_procedure_get_return_values (procedure, success,
diff --git a/app/pdb/layer-cmds.c b/app/pdb/layer-cmds.c
index 717b765..e64bf7a 100644
--- a/app/pdb/layer-cmds.c
+++ b/app/pdb/layer-cmds.c
@@ -729,7 +729,10 @@ layer_set_lock_alpha_invoker (GimpProcedure      *procedure,
 
   if (success)
     {
-      gimp_layer_set_lock_alpha (layer, lock_alpha, TRUE);
+      if (gimp_layer_can_lock_alpha (layer))
+        gimp_layer_set_lock_alpha (layer, lock_alpha, TRUE);
+      else
+        success = FALSE;
     }
 
   return gimp_procedure_get_return_values (procedure, success,
diff --git a/app/pdb/vectors-cmds.c b/app/pdb/vectors-cmds.c
index 33e51a4..1a16458 100644
--- a/app/pdb/vectors-cmds.c
+++ b/app/pdb/vectors-cmds.c
@@ -413,7 +413,10 @@ vectors_set_lock_content_invoker (GimpProcedure      *procedure,
 
   if (success)
     {
-      gimp_item_set_lock_content (GIMP_ITEM (vectors), lock_content, TRUE);
+      if (gimp_item_can_lock_content (GIMP_ITEM (vectors)))
+        gimp_item_set_lock_content (GIMP_ITEM (vectors), lock_content, TRUE);
+      else
+        success = FALSE;
     }
 
   return gimp_procedure_get_return_values (procedure, success,
diff --git a/tools/pdbgen/pdb/drawable.pdb b/tools/pdbgen/pdb/drawable.pdb
index ce18664..dc36044 100644
--- a/tools/pdbgen/pdb/drawable.pdb
+++ b/tools/pdbgen/pdb/drawable.pdb
@@ -906,7 +906,10 @@ sub drawable_set_lock_content {
     %invoke = (
 	code => <<'CODE'
 {
-  gimp_item_set_lock_content (GIMP_ITEM (drawable), lock_content, TRUE);
+  if (gimp_item_can_lock_content (GIMP_ITEM (drawable)))
+    gimp_item_set_lock_content (GIMP_ITEM (drawable), lock_content, TRUE);
+  else
+    success = FALSE;
 }
 CODE
     );
diff --git a/tools/pdbgen/pdb/layer.pdb b/tools/pdbgen/pdb/layer.pdb
index 5c898ef..6f04d60 100644
--- a/tools/pdbgen/pdb/layer.pdb
+++ b/tools/pdbgen/pdb/layer.pdb
@@ -768,7 +768,10 @@ HELP
     %invoke = (
 	code => <<'CODE'
 {
-  gimp_layer_set_lock_alpha (layer, lock_alpha, TRUE);
+  if (gimp_layer_can_lock_alpha (layer))
+    gimp_layer_set_lock_alpha (layer, lock_alpha, TRUE);
+  else
+    success = FALSE;
 }
 CODE
     );
diff --git a/tools/pdbgen/pdb/vectors.pdb b/tools/pdbgen/pdb/vectors.pdb
index 2d868f8..04ade6d 100644
--- a/tools/pdbgen/pdb/vectors.pdb
+++ b/tools/pdbgen/pdb/vectors.pdb
@@ -363,7 +363,10 @@ sub vectors_set_lock_content {
     %invoke = (
         code => <<"CODE"
 {
-  gimp_item_set_lock_content (GIMP_ITEM (vectors), lock_content, TRUE);
+  if (gimp_item_can_lock_content (GIMP_ITEM (vectors)))
+    gimp_item_set_lock_content (GIMP_ITEM (vectors), lock_content, TRUE);
+  else
+    success = FALSE;
 }
 CODE
     );



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]