On Tuesday 19 June 2007 20:08:50 Steven Edwards wrote:
Patch by Hans Leidekker
It's your idea so you should get the credit. I was just helping out with the implementation.
This could be expanded for other platforms that use xdg stuff by changing the #ifdef. I added the #ifdef to also deal with the MacOS case.
There will allways be Linux distributions that don't install the xdg tools by default, and it's not inconceivable that they will be supported on MacOS one day.
So I think it's better to just try to run xdg-screensaver, warn when it fails, but ignore the error. From reading MSDN this is consistent with the semantics of LockWorkStation.
I also think it's better to not lock the entire desktop when Wine runs in a virtual desktop. I remember looking for a way to know whether we are running in desktop mode and found this snippet from PaintDesktop():
HWND hwnd = GetDesktopWindow();
/* check for an owning thread; otherwise don't paint anything (non-desktop mode) */ if (GetWindowThreadProcessId( hwnd, NULL )) ...
I copied it but somehow it didn't work for me.
-Hans