jimtabor@svn.reactos.org schrieb:
Author: jimtabor Date: Sun Jul 5 06:21:35 2009 New Revision: 41776
URL: http://svn.reactos.org/svn/reactos?rev=41776&view=rev Log:
- Implement the client shutdown procedure. Tested with wine user32 msg undocumented 0x3B tests. Wine tests: msg: 6175 tests executed (0 marked as todo, 937 failures), 5 skipped.
- Add missing end session types.
- Reference: winproc.c WM_CLIENTSHUTDOWN http://wiki.winprog.org/wiki/Windows_messages
[...]
- List = IntWinListChildren(pWindow);
Oh, how I loathe this function. It walks through the chain of windows to count them, allocates a buffer from paged pool. Walks through the chain again, fills the buffer with the windows' handles and returns the buffer so that the calling function can walk through the buffer and use the handles to query the pointers to the windows again. And this all happens while holding the global user lock.
Hint: you can remove 11 lines of code and change 2 lines and get the same result, only faster.
Regards, Timo