Fix ExitWindows()
Robert Shearman
rob at codeweavers.com
Fri Feb 24 09:18:49 CST 2006
Francois Gouget wrote:
> Robert Shearman wrote:
>
>> Francois Gouget wrote:
>>
>>>
>>> - if (SendMessageTimeoutW( *phwnd,
>>> WM_QUERYENDSESSION, 0, 0, send_flags, INFINITE, &result) && !result)
>>> break;
>>> + if (SendMessageTimeoutW( *phwnd,
>>> WM_QUERYENDSESSION, 0, 0, send_flags, 0, &result))
>>>
>>>
>>
>> Was this change deliberate to remove the check of result? If so, I
>> don't see where else the result of the message can be properly checked.
>
>
> The result is sent back to the application in the WM_ENDSESSION
> message and checked in the if branch to exit the loop, and then again
> right outside the loop to abort the Windows shutdown.
>
> if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION,
> 0, 0, send_flags, 0, &result))
> {
> DWORD_PTR dummy;
> SendMessageTimeoutW( *phwnd, WM_ENDSESSION,
> result, 0, send_flags, 0, &dummy );
> if (!result) break;
> }
> }
> HeapFree( GetProcessHeap(), 0, list );
>
> if (!result)
> return TRUE;
Yes, you are right. I obviously didn't spend enough time reading your patch.
--
Rob Shearman
More information about the wine-devel
mailing list