[email protected] 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 _______________________________________________ Ros-dev mailing list [email protected] http://www.reactos.org/mailman/listinfo/ros-dev
