app, libgimp, pdb: make an early check on parasite name.
Let's make sure we won't trigger CRITICALs on core from a plug-in.
This commit is contained in:
parent
95d580aa3a
commit
578aee8c62
6 changed files with 44 additions and 12 deletions
|
|
@ -141,7 +141,10 @@ detach_parasite_invoker (GimpProcedure *procedure,
|
|||
|
||||
if (success)
|
||||
{
|
||||
gimp_parasite_detach (gimp, name);
|
||||
if (name && strlen (name) > 0)
|
||||
gimp_parasite_detach (gimp, name);
|
||||
else
|
||||
success = FALSE;
|
||||
}
|
||||
|
||||
return gimp_procedure_get_return_values (procedure, success,
|
||||
|
|
@ -333,7 +336,9 @@ register_gimp_procs (GimpPDB *pdb)
|
|||
"gimp-detach-parasite");
|
||||
gimp_procedure_set_static_help (procedure,
|
||||
"Removes a global parasite.",
|
||||
"This procedure detaches a global parasite from. It has no return values.",
|
||||
"This procedure detaches a global parasite.\n"
|
||||
"\n"
|
||||
"It will return %FALSE if @name is invalid (%NULL or empty string) and %TRUE otherwise (even if there was no parasite removed, because no parasite was named like this).",
|
||||
NULL);
|
||||
gimp_procedure_set_static_attribution (procedure,
|
||||
"Jay Cox",
|
||||
|
|
|
|||
|
|
@ -2911,7 +2911,10 @@ image_detach_parasite_invoker (GimpProcedure *procedure,
|
|||
|
||||
if (success)
|
||||
{
|
||||
gimp_image_parasite_detach (image, name, TRUE);
|
||||
if (name && strlen (name) > 0)
|
||||
gimp_image_parasite_detach (image, name, TRUE);
|
||||
else
|
||||
success = FALSE;
|
||||
}
|
||||
|
||||
return gimp_procedure_get_return_values (procedure, success,
|
||||
|
|
@ -5732,7 +5735,9 @@ register_image_procs (GimpPDB *pdb)
|
|||
"gimp-image-detach-parasite");
|
||||
gimp_procedure_set_static_help (procedure,
|
||||
"Removes a parasite from an image.",
|
||||
"This procedure detaches a parasite from an image. It has no return values.",
|
||||
"This procedure detaches a parasite from an image.\n"
|
||||
"\n"
|
||||
"It will return %FALSE if @name is invalid (%NULL or empty string) and %TRUE otherwise (even if there was no parasite removed, because no parasite was named like this).",
|
||||
NULL);
|
||||
gimp_procedure_set_static_attribution (procedure,
|
||||
"Jay Cox",
|
||||
|
|
|
|||
|
|
@ -149,8 +149,11 @@ gimp_attach_parasite (const GimpParasite *parasite)
|
|||
*
|
||||
* Removes a global parasite.
|
||||
*
|
||||
* This procedure detaches a global parasite from. It has no return
|
||||
* values.
|
||||
* This procedure detaches a global parasite.
|
||||
*
|
||||
* It will return %FALSE if @name is invalid (%NULL or empty string)
|
||||
* and %TRUE otherwise (even if there was no parasite removed, because
|
||||
* no parasite was named like this).
|
||||
*
|
||||
* Returns: TRUE on success.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3427,8 +3427,11 @@ gimp_image_attach_parasite (GimpImage *image,
|
|||
*
|
||||
* Removes a parasite from an image.
|
||||
*
|
||||
* This procedure detaches a parasite from an image. It has no return
|
||||
* values.
|
||||
* This procedure detaches a parasite from an image.
|
||||
*
|
||||
* It will return %FALSE if @name is invalid (%NULL or empty string)
|
||||
* and %TRUE otherwise (even if there was no parasite removed, because
|
||||
* no parasite was named like this).
|
||||
*
|
||||
* Returns: TRUE on success.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -119,7 +119,12 @@ sub detach_parasite {
|
|||
$blurb = 'Removes a global parasite.';
|
||||
|
||||
$help = <<'HELP';
|
||||
This procedure detaches a global parasite from. It has no return values.
|
||||
This procedure detaches a global parasite.
|
||||
|
||||
|
||||
It will return %FALSE if @name is invalid (%NULL or empty string) and
|
||||
%TRUE otherwise (even if there was no parasite removed, because no
|
||||
parasite was named like this).
|
||||
HELP
|
||||
|
||||
&jay_pdb_misc('1998', '2.8');
|
||||
|
|
@ -132,7 +137,10 @@ HELP
|
|||
%invoke = (
|
||||
code => <<'CODE'
|
||||
{
|
||||
gimp_parasite_detach (gimp, name);
|
||||
if (name && strlen (name) > 0)
|
||||
gimp_parasite_detach (gimp, name);
|
||||
else
|
||||
success = FALSE;
|
||||
}
|
||||
CODE
|
||||
);
|
||||
|
|
|
|||
|
|
@ -3031,7 +3031,12 @@ sub image_detach_parasite {
|
|||
$blurb = 'Removes a parasite from an image.';
|
||||
|
||||
$help = <<'HELP';
|
||||
This procedure detaches a parasite from an image. It has no return values.
|
||||
This procedure detaches a parasite from an image.
|
||||
|
||||
|
||||
It will return %FALSE if @name is invalid (%NULL or empty string) and
|
||||
%TRUE otherwise (even if there was no parasite removed, because no
|
||||
parasite was named like this).
|
||||
HELP
|
||||
|
||||
&jay_pdb_misc('1998', '2.8');
|
||||
|
|
@ -3046,7 +3051,10 @@ HELP
|
|||
%invoke = (
|
||||
code => <<'CODE'
|
||||
{
|
||||
gimp_image_parasite_detach (image, name, TRUE);
|
||||
if (name && strlen (name) > 0)
|
||||
gimp_image_parasite_detach (image, name, TRUE);
|
||||
else
|
||||
success = FALSE;
|
||||
}
|
||||
CODE
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue