Comment 14 for bug 389686

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Re-assigning back to Metacity. It seems Metacity sets SmRestartImmediately when it first runs, and normally sets SmRestartIfRunning on a clean exit, which is perfectly okay. However, the code path which is triggered on startup when Metacity can't control the display (if another WM is running), does not set SmrestartIfRunning before exiting, which can trigger this endless loop of restarting. Fixing that should stop the endless looping.

However, this was also the case in Jaunty, so there must be another underlying issue with the newer version which needs some more investigating. Either there is a code path which is triggered when you run "compiz --replace" which causes Metacity to exit before setting SmRestartIfRunning, or something calls meta_restart (), which spawns a new Metacity independently of the session manager, which then exits immediately after setting SmRestartImmediately, triggering the endless loop mentioned above.

I'll look at this more when I get home.