On Fri, Jul 30, 2010 at 5:53 AM, Paul "TBBle" Hampson Paul.Hampson@pobox.com wrote:
On 30 July 2010 01:30, Dmitry Timoshkov dmitry@codeweavers.com wrote:
Damjan Jovanovic damjan.jov@gmail.com wrote:
Changelog:
- explorer: implement X session management
Explorer should not have X11 as a dependency. This should be implemented inside of winex11.drv.
A (previously-discussed years ago) model for DirectInput/RawInput handling would have given explorer.exe an X11 dependency since there needs to be a single process for a given wine server that handles direct (XI2-style) input.
I assume session shutdown notification works the same way, but haven't read the above patch very hard...
Unless you're suggesting implementing it inside winex11.drv and having explorer then provide winex11.drv a non-X11-specific callback for when a session termination message arrives, to be turned into the Win32-equivalent message. (Which seems less correct to me, but not unreasonable)
[Apologies for the duplicate, I forget that Gmail is "Reply" by default]
-- Paul "TBBle" Hampson, Paul.Hampson@Pobox.com
Well the other option, which I am working on, is for each Wine process to host all the session management code inside a winex11.drv thread only - and send WM_[QUERY]ENDSESSION messages to its own in-process windows. This strikes me as a better idea than using a single Wine-global explorer thread - each process can individually name itself to the session manager, so the user knows exactly what's blocking shutdown.
Damjan Jovanovic