Created attachment 4226 workaround used Hi, At the beginning of main(), xfdesktop calls xfdesktop_check_is_running() to check that the XFDESKTOP_SELECTION_%d atom isn't set already, in an attempt to detect that another instance is already running. But this atom is set a lot of code/time later, in src/xfce-desktop.c:screen_set_selection(). This means that under some conditions (slow computer, messed up saved session file), several (some people reported several dozens on our bugtracker) xfdesktop process can run in parallel, as they manage to pass the check because the first process hasn't reached the set_selection code already... I'm not sure how to fix it properly though. A workaround I've used in Xubuntu (see attached patch) is to check again the atom right before setting it. With this hack, even when using a vm loaded like crazy and a broken session saved with 70 xfdesktops, I couldn't reproduce this issue anymore -of course, that doesn't mean it's solved...). Thanks.
If this works, fine by me.
Pushed to master: http://git.xfce.org/xfce/xfdesktop/commit/?id=6ffa409bd42a1424d22c34f382b1fc01ae115754 Thanks!