Invalid image causes two rows of invalid thumbnails to appear

Bug #1447308 reported by Levi Voorintholt
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Switchboard Desktop Plug
New
Undecided
Unassigned

Bug Description

If there is an invalid or broken image in a folder used as custom in the wallpaper section, two rows of invalid thumbnail are displayed.
Clicking one of these thumbnails does switch the wallpaper to the image, but as it is just blank it is impossible to see which one there is until clicked.

Steps to reproduce:
1. Have a folder of valid images
2. Create an empty file with the image extension .png
3. Open switchboard, go to desktop plug
4. Select Custom option from dropdown and browse to said folder
5. At bottom of windows see invisible / corrupt thumbnails of wallpapers
5B. Click One of the invisible wallpapers, notice that it does still function

If doing above steps while running switchboard from console you will also notice a lot of errors when mouse moves over the invalid thumbnails.

Console output:

levi@ubanix ~> switchboard
[_LOG_LEVEL_INFO 20:43:46.238346] Application.vala:155: System Settings version: 2.0
[_LOG_LEVEL_INFO 20:43:46.238430] Application.vala:157: Kernel version: 3.16.0-34-generic
[_LOG_LEVEL_FATAL 20:43:47.759017] gee_abstract_map_clear: assertion 'self != NULL' failed
[_LOG_LEVEL_FATAL 20:43:47.759122] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.864902] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.865014] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.865212] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.865304] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.865457] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.865550] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.865707] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.865797] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.866104] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.866199] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.866386] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.866481] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.866666] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.866758] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:47.866956] [GLib] g_variant_get_int32: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)' failed
[_LOG_LEVEL_FATAL 20:43:47.867053] System Settings will not function properly.
[_LOG_LEVEL_INFO 20:43:51.186586] [Gtk] GtkDialog mapped without a transient parent. This is discouraged.
[_LOG_LEVEL_WARN 20:43:56.346757] WallpaperContainer.vala:40: Failed to load wallpaper thumbnail: Failed to load image '/home/levi/Pictures/wallpapers/35mm.png': reason not known, probably a corrupt image file
[_LOG_LEVEL_FATAL 20:43:56.346892] [GdkPixbuf] gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:56.346923] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:56.346960] [GdkPixbuf] gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:56.346993] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.629825] [GdkPixbuf] gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.629882] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.629920] [GdkPixbuf] gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.629954] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.629996] [GdkPixbuf] gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.630027] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.630068] [GdkPixbuf] gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.630100] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.630140] [GdkPixbuf] gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.630173] System Settings will not function properly.
[_LOG_LEVEL_WARN 20:43:57.630218] [Gtk] drawing failure for widget `WallpaperContainer': invalid value (typically too big) for the size of the input (surface, pattern, etc.)
[_LOG_LEVEL_WARN 20:43:57.630262] [Gtk] drawing failure for widget `GtkFlowBox': invalid value (typically too big) for the size of the input (surface, pattern, etc.)
[_LOG_LEVEL_FATAL 20:43:57.640175] [GdkPixbuf] gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.640216] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.640251] [GdkPixbuf] gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.640279] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.640313] [GdkPixbuf] gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.640339] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.640370] [GdkPixbuf] gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.640396] System Settings will not function properly.
[_LOG_LEVEL_FATAL 20:43:57.640430] [GdkPixbuf] gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
[_LOG_LEVEL_FATAL 20:43:57.640460] System Settings will not function properly.
[_LOG_LEVEL_WARN 20:43:57.640501] [Gtk] drawing failure for widget `WallpaperContainer': invalid value (typically too big) for the size of the input (surface, pattern, etc.)
[_LOG_LEVEL_WARN 20:43:57.640545] [Gtk] drawing failure for widget `GtkFlowBox': invalid value (typically too big) for the size of the input (surface, pattern, etc.)

Switchboard version: 2.0.0~r556+pkg42~ubunt amd64
Desktop plug version: 0.2.0.1+r341~ubuntu0.3 amd64

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.