summaryrefslogtreecommitdiff
path: root/libwnck/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'libwnck/window.c')
-rw-r--r--libwnck/window.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/libwnck/window.c b/libwnck/window.c
index 048b78e..510bfc0 100644
--- a/libwnck/window.c
+++ b/libwnck/window.c
@@ -223,7 +223,6 @@ wnck_window_init (WnckWindow *window)
{
window->priv = wnck_window_get_instance_private (window);
- window->priv->icon_cache = _wnck_icon_cache_new ();
window->priv->icon_geometry.width = -1; /* invalid cached value */
window->priv->workspace = -1;
window->priv->sort_order = G_MAXINT;
@@ -420,8 +419,7 @@ wnck_window_finalize (GObject *object)
g_object_unref (G_OBJECT (window->priv->mini_icon));
window->priv->mini_icon = NULL;
- _wnck_icon_cache_free (window->priv->icon_cache);
- window->priv->icon_cache = NULL;
+ g_clear_pointer (&window->priv->icon_cache, _wnck_icon_cache_free);
g_free (window->priv->startup_id);
window->priv->startup_id = NULL;
@@ -489,6 +487,8 @@ _wnck_window_create (Window xwindow,
window->priv->xwindow = xwindow;
window->priv->screen = screen;
+ window->priv->icon_cache = _wnck_icon_cache_new (xwindow);
+
_wnck_handle_insert_window (handle, &window->priv->xwindow, window);
/* Handle now owns one ref, caller gets none */
@@ -2131,7 +2131,6 @@ get_icons (WnckWindow *window)
mini_size = _wnck_handle_get_default_mini_icon_size (handle);
if (_wnck_read_icons (window->priv->screen,
- window->priv->xwindow,
window->priv->icon_cache,
&icon,
normal_size,