diff options
-rw-r--r-- | shell/ev-sidebar-thumbnails.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c index 72c365ec..adf2cf8f 100644 --- a/shell/ev-sidebar-thumbnails.c +++ b/shell/ev-sidebar-thumbnails.c @@ -925,10 +925,14 @@ ev_sidebar_thumbnails_document_changed_cb (EvDocumentModel *model, priv->n_pages = ev_document_get_n_pages (document); priv->rotation = ev_document_model_get_rotation (model); priv->inverted_colors = ev_document_model_get_inverted_colors (model); - priv->loading_icons = g_hash_table_new_full (g_str_hash, - g_str_equal, - (GDestroyNotify)g_free, - (GDestroyNotify)g_object_unref); + if (priv->loading_icons) { + g_hash_table_remove_all (priv->loading_icons); + } else { + priv->loading_icons = g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify)g_free, + (GDestroyNotify)cairo_surface_destroy); + } ev_sidebar_thumbnails_clear_model (sidebar_thumbnails); ev_sidebar_thumbnails_fill_model (sidebar_thumbnails); |