Image—Notify when :storage-type changes from EMPTY

PROP_STORAGE_TYPE was only notified if it was changing *to* EMPTY, in
gtk_image_clear_internal(). We did not notify when it changes *from*
EMPTY to something non-empty. We should as not doing so is confusing,
e.g. if a user wants to bind :storage-type to :visible if non-empty,
which I just did! So, in functions that apply an ImageType, now notify.

Also do so in gtk_image_set_from_definition, declared in imageprivate.h,
even though none of the function there are currently used anywhere.
(Should they be removed?)
This commit is contained in:
Daniel Boles 2023-07-06 23:03:20 +01:00
parent 576e8a2090
commit 41237509ad

View File

@ -762,6 +762,7 @@ gtk_image_set_from_icon_name (GtkImage *image,
_gtk_icon_helper_set_icon_name (image->icon_helper, icon_name);
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_ICON_NAME]);
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_STORAGE_TYPE]);
g_object_thaw_notify (G_OBJECT (image));
}
@ -795,6 +796,7 @@ gtk_image_set_from_gicon (GtkImage *image,
}
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_GICON]);
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_STORAGE_TYPE]);
g_object_thaw_notify (G_OBJECT (image));
}
@ -857,6 +859,7 @@ gtk_image_set_from_paintable (GtkImage *image,
}
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_PAINTABLE]);
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_STORAGE_TYPE]);
g_object_thaw_notify (G_OBJECT (image));
}
@ -1079,6 +1082,8 @@ gtk_image_set_from_definition (GtkImage *image,
gtk_image_notify_for_storage_type (image, gtk_image_definition_get_storage_type (def));
}
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_STORAGE_TYPE]);
g_object_thaw_notify (G_OBJECT (image));
}