Use an idle function for delayed scrolling.
Use an idle function for delayed scrolling.

It looks like modifying the bin_window GdkWindow inside the expose
event handler of ExoIconView does no longer work with client-side
windows. This was done for delaying the scrolling to a certain path
until the widget is realized and layouting is completed.

As a result of using gdk_window_move() inside of the expose event
handler, the painted icon view was not up to date or mixed up after the
event handler had finished. Icons moved up a few pixels when hovering
them and with scroll positions further down the view, the contents were
painted twice (in the old and new state), resulting in overlapping
items.

This commit implements delayed scrolling via an idle function, which is
the only way I see right now to work around this. It may cause the
automatic scrolling to the previous file to be delayed for a very short
time, but this shouldn't be critical.

A bug was filed against GDK on

  http://bugzilla.gnome.org/show_bug.cgi?id=594880

rgcjonas/exo-gtk3,rgcjonas/exo-gtk3,rgcjonas/exo-gtk3