Comment 2 for bug 246675

Revision history for this message
Benjamin Thyreau (benji2) wrote :

Hi again,
After investigation, it happens that the source of the problem is that the screensaver-shuttingdown code (which is compiled-in on the packaged mplayer) probes for the kde screensaver by calling dcop. This should work on "pure" gnome desktop, as this command doesn't exists and returns quickly, and also on kde desktop, as this command run and return quickly. Yet, on a Gnome desktop with KDE libs installed on the hard disk, the "dcop" binary exists, although no dcopserver may be running.

Checking for a running dcopserver before calling dcop should fix the problem

Suggested fix is : from upstream libvo/x11_common.c file, changing

kdescreensaver_was_running =
(system
             ("dcop kdesktop KScreensaverIface isEnabled 2>/dev/null | sed 's/1/true/g' | grep true 2>/dev/null >/dev/null")
             == 0);

to

kdescreensaver_was_running =
(system
             ("pidof dcopserver && dcop kdesktop KScreensaverIface isEnabled 2>/dev/null | sed 's/1/true/g' | grep true 2>/dev/null >/dev/null")
             == 0);