On 3/28/07, dragoran <[EMAIL PROTECTED]> wrote:
Hello, After trying to solve a issue with desktop-effects in fedora (compiz does not let itself to be replaced by metacity). We come to the conclusion that the compiz session management code is broken. When unmanaging the screen compiz should unregister itself from the session manager to let a new started wm to take over the screen. See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=229113
It looks like we're just missing closeSession() when we exit due to a lost selection. The attached patch should fix that as well as a similar issue with SIGHUP. I'm not a session management expert though. cheers, Kristian
--- a/src/display.c +++ b/src/display.c @@ -2022,6 +2022,13 @@ waitForVideoSync (CompScreen *s) } } +void prepareShutDown(void) +{ + while (popPlugin ()); + if (!disableSm) + closeSession (); +} + void eventLoop (void) { @@ -2053,13 +2060,13 @@ eventLoop (void) if (restartSignal) { - while (popPlugin ()); + prepareShutDown (); execvp (programName, programArgv); exit (1); } else if (shutDown) { - while (popPlugin ()); + prepareShutDown (); exit (0); } --- a/src/main.c +++ b/src/main.c @@ -259,8 +259,5 @@ main (int argc, char **argv) eventLoop (); - if (!disableSm) - closeSession (); - return 0; }
_______________________________________________ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz