summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2022-03-14 19:47:08 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2022-11-28 20:12:45 +0200
commit9fe7cf3058019c8e1e8f7c6b32895254f583be7f (patch)
tree1566cff8793e39edc9c5268ee7ddc47acbc81142
parentce8b0ac0bd1b3e9afce0616db6977bae2469216c (diff)
downloadlibwnck-9fe7cf3058019c8e1e8f7c6b32895254f583be7f.tar.gz
icon-cache: read icons in getters
-rw-r--r--libwnck/wnck-icon-cache.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libwnck/wnck-icon-cache.c b/libwnck/wnck-icon-cache.c
index 79b4db5..770d7ce 100644
--- a/libwnck/wnck-icon-cache.c
+++ b/libwnck/wnck-icon-cache.c
@@ -719,12 +719,40 @@ _wnck_read_icons (WnckIconCache *icon_cache,
GdkPixbuf *
_wnck_icon_cache_get_icon (WnckIconCache *self)
{
+ GdkPixbuf *icon;
+ GdkPixbuf *mini_icon;
+
+ if (self->icon != NULL)
+ return self->icon;
+
+ icon = NULL;
+ mini_icon = NULL;
+
+ _wnck_read_icons (self, &icon, &mini_icon);
+
+ g_clear_object (&icon);
+ g_clear_object (&mini_icon);
+
return self->icon;
}
GdkPixbuf *
_wnck_icon_cache_get_mini_icon (WnckIconCache *self)
{
+ GdkPixbuf *icon;
+ GdkPixbuf *mini_icon;
+
+ if (self->mini_icon != NULL)
+ return self->mini_icon;
+
+ icon = NULL;
+ mini_icon = NULL;
+
+ _wnck_read_icons (self, &icon, &mini_icon);
+
+ g_clear_object (&icon);
+ g_clear_object (&mini_icon);
+
return self->mini_icon;
}