app: don't emit GimpImage::linked-items-changed for non-attached items

In gimp_item_set_linked(), don't emit the
GimpImage::linked-items-changed signal if the item is not attached.
This commit is contained in:
Ell
2020-01-19 20:48:41 +02:00
parent 1cee6521b4
commit 1e26ce8a60

View File

@ -2328,16 +2328,17 @@ gimp_item_set_linked (GimpItem *item,
if (gimp_item_get_linked (item) != linked) if (gimp_item_get_linked (item) != linked)
{ {
GimpImage *image = gimp_item_get_image (item); GimpImage *image = gimp_item_get_image (item);
gboolean is_attached = gimp_item_is_attached (item);
if (push_undo && image && gimp_item_is_attached (item)) if (push_undo && is_attached && image)
gimp_image_undo_push_item_linked (image, NULL, item); gimp_image_undo_push_item_linked (image, NULL, item);
GET_PRIVATE (item)->linked = linked; GET_PRIVATE (item)->linked = linked;
g_signal_emit (item, gimp_item_signals[LINKED_CHANGED], 0); g_signal_emit (item, gimp_item_signals[LINKED_CHANGED], 0);
if (image) if (is_attached && image)
gimp_image_linked_items_changed (image); gimp_image_linked_items_changed (image);
g_object_notify (G_OBJECT (item), "linked"); g_object_notify (G_OBJECT (item), "linked");