mirror of https://github.com/GNOME/gimp.git
Add gimp_pdb_item_is_not_group()
New function returns FALSE and sets an appropriate error if invoked on a group item. Use it from gimp_pdb_get_vectors_stroke() because if we ever get vectors groups, they will have no strokes.
This commit is contained in:
parent
e979c08133
commit
074257bd37
|
@ -375,6 +375,26 @@ gimp_pdb_item_is_writable (GimpItem *item,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gimp_pdb_item_is_not_group (GimpItem *item,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_ITEM (item), FALSE);
|
||||
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
|
||||
|
||||
if (gimp_viewable_get_children (GIMP_VIEWABLE (item)))
|
||||
{
|
||||
g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_INVALID_ARGUMENT,
|
||||
_("Item '%s' (%d) cannot be modified because it "
|
||||
"is a group item"),
|
||||
gimp_object_get_name (GIMP_OBJECT (item)),
|
||||
gimp_item_get_ID (item));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gimp_pdb_layer_is_text_layer (GimpLayer *layer,
|
||||
gboolean writable,
|
||||
|
@ -469,6 +489,9 @@ gimp_pdb_get_vectors_stroke (GimpVectors *vectors,
|
|||
g_return_val_if_fail (GIMP_IS_VECTORS (vectors), NULL);
|
||||
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
|
||||
|
||||
if (! gimp_pdb_item_is_not_group (GIMP_ITEM (vectors), error))
|
||||
return NULL;
|
||||
|
||||
if (! writable || gimp_pdb_item_is_writable (GIMP_ITEM (vectors), error))
|
||||
{
|
||||
stroke = gimp_vectors_stroke_get_by_ID (vectors, stroke_ID);
|
||||
|
|
|
@ -56,6 +56,8 @@ gboolean gimp_pdb_item_is_floating (GimpItem *item,
|
|||
GError **error);
|
||||
gboolean gimp_pdb_item_is_writable (GimpItem *item,
|
||||
GError **error);
|
||||
gboolean gimp_pdb_item_is_not_group (GimpItem *item,
|
||||
GError **error);
|
||||
|
||||
gboolean gimp_pdb_layer_is_text_layer (GimpLayer *layer,
|
||||
gboolean writable,
|
||||
|
|
Loading…
Reference in New Issue