--- xfdesktop4-4.8.3.orig/src/xfce-desktop.c +++ xfdesktop4-4.8.3/src/xfce-desktop.c @@ -484,6 +484,13 @@ screen_set_selection(XfceDesktop *deskto selection_atom = XInternAtom(GDK_DISPLAY(), selection_name, False); manager_atom = XInternAtom(GDK_DISPLAY(), "MANAGER", False); + /* the previous check in src/main.c occurs too early, so workaround by + * adding this one. Hopefully it should help for lp #329616 */ + if(XGetSelectionOwner(GDK_DISPLAY(), selection_atom) != None) { + g_warning("%s: already running, quitting.", PACKAGE); + exit(0); + } + XSelectInput(GDK_DISPLAY(), xwin, PropertyChangeMask | ButtonPressMask); XSetSelectionOwner(GDK_DISPLAY(), selection_atom, xwin, GDK_CURRENT_TIME);