diff --git a/app/core/gimplineart.c b/app/core/gimplineart.c index b82ebaa5f7..efe5efaa60 100644 --- a/app/core/gimplineart.c +++ b/app/core/gimplineart.c @@ -538,6 +538,12 @@ gimp_line_art_thaw (GimpLineArt *line_art) } } +gboolean +gimp_line_art_is_frozen (GimpLineArt *line_art) +{ + return line_art->priv->frozen; +} + GeglBuffer * gimp_line_art_get (GimpLineArt *line_art, gfloat **distmap) diff --git a/app/core/gimplineart.h b/app/core/gimplineart.h index 67376734f6..cdec1eebc2 100644 --- a/app/core/gimplineart.h +++ b/app/core/gimplineart.h @@ -65,6 +65,7 @@ void gimp_line_art_set_input (GimpLineArt *line_art, GimpPickable * gimp_line_art_get_input (GimpLineArt *line_art); void gimp_line_art_freeze (GimpLineArt *line_art); void gimp_line_art_thaw (GimpLineArt *line_art); +gboolean gimp_line_art_is_frozen (GimpLineArt *line_art); GeglBuffer * gimp_line_art_get (GimpLineArt *line_art, gfloat **distmap); diff --git a/app/tools/gimpbucketfilltool.c b/app/tools/gimpbucketfilltool.c index 803ad20f7c..6a57ce1f65 100644 --- a/app/tools/gimpbucketfilltool.c +++ b/app/tools/gimpbucketfilltool.c @@ -420,7 +420,8 @@ gimp_bucket_fill_tool_halt (GimpBucketFillTool *tool) g_clear_object (&tool->priv->fill_mask); - gimp_line_art_thaw (tool->priv->line_art); + if (gimp_line_art_is_frozen (tool->priv->line_art)) + gimp_line_art_thaw (tool->priv->line_art); GIMP_TOOL (tool)->display = NULL; GIMP_TOOL (tool)->drawable = NULL;