diff options
Diffstat (limited to 'libcaja-private')
-rw-r--r-- | libcaja-private/caja-icon-canvas-item.c | 2 | ||||
-rw-r--r-- | libcaja-private/caja-icon-info.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/libcaja-private/caja-icon-canvas-item.c b/libcaja-private/caja-icon-canvas-item.c index 162fb338..7763811d 100644 --- a/libcaja-private/caja-icon-canvas-item.c +++ b/libcaja-private/caja-icon-canvas-item.c @@ -280,7 +280,7 @@ caja_icon_canvas_item_finalize (GObject *object) if (details->rendered_surface != NULL) { - g_object_unref (details->rendered_surface); + cairo_surface_destroy (details->rendered_surface); } if (details->editable_text_layout != NULL) diff --git a/libcaja-private/caja-icon-info.c b/libcaja-private/caja-icon-info.c index 75c3330c..66ff7483 100644 --- a/libcaja-private/caja-icon-info.c +++ b/libcaja-private/caja-icon-info.c @@ -643,6 +643,9 @@ caja_icon_info_get_surface_nodefault_at_size (CajaIconInfo *icon, cairo_surface_t *surface; pixbuf = caja_icon_info_get_pixbuf_nodefault_at_size (icon, forced_size); + /*catch the case of caja_icon_info_get_pixbuf_nodefault_at_size returning NULL */ + if (!pixbuf) + return NULL; surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, icon->orig_scale, NULL); g_object_unref (pixbuf); |