User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4 Build Identifier: If one refresh of the icon view did not finish before a new F5 press some other warnings are fired ** (xfdesktop:23115): CRITICAL **: xfdesktop_file_icon_manager_listdir_infos_ready_cb: assertion `job == fmanager->priv->list_job' failed (xfdesktop:23115): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `XfdesktopSpecialFileIcon' (xfdesktop:23115): GLib-GObject-WARNING **: invalid uninstantiatable type `void' in cast to `GObject' (xfdesktop:23115): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed (xfdesktop:23115): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `XfdesktopIcon' ** (xfdesktop:23115): CRITICAL **: xfdesktop_icon_pixbuf_changed: assertion `XFDESKTOP_IS_ICON(icon)' failed Reproducible: Always Steps to Reproduce: Keep F5 depressed :)
Created attachment 824 fix for one warning disconnect from vfs listdir signals not just cancel the vfs job so the infos-ready signal does not run and assert after the job is cancelled.
oh, forgot to specify xfdesktop
The other warnings are caused by xfdesktop_special_file_icon_trash_changed_cb being called, apparently multiple F5 persses cause the trash dbus signals to be racy or something.
Good catch...
(In reply to comment #3) > The other warnings are caused by > xfdesktop_special_file_icon_trash_changed_cb > being called, apparently multiple F5 persses cause the trash dbus signals to be > racy or something. They're just done in the glib mainloop, I think. So it's possible to: 1. Create the trash icon, fire off the async dbus call 2. Destroy the trash icon. 3. Async dbus call returns. Just need to cancel the dbus call if the icon is destroyed. (Kinda the same idea as with the thunar_vfs_listdir() call.) Anyway, I think I got all this fixed. Held down F5 for a good 10 seconds; no warnings ^_^.