It could be, ill look at it a bit. Thou I havent seen that bug since i made the change, though it did show rarely. Sorry but the bug that I said that patch fixed isn't fully correct.
We have other issues with hooks, being:
1. Hooks are called more times then they should be. When co_HOOK_CallHooks is called in co_IntCreateWindowEx, the application that installed the hook calls CallNextHookEx, this leads the the hook proc being called again. Havent looked at this yet.
2. A bigger problem is when two CBT hooks are installed, which im looking into now. After installing the second CBT hook, im seeing cases where co_HOOK_CallHooks is returning a non zero value though the Hook proc is returning a zero value. I beleive this is the real cause of the bug i thought the commit fixed.
Damnest of things is that its returning the hook that is returned in the call to Hook = IntGetFirstValidHook(Table, HookId) in function co_HOOK_CallHooks line 345. This value is being returned from the call KiCallUserMode. So maybe some stack trashing going on.
Michael
Date: Thu, 29 Apr 2010 18:56:36 -0500 From: jimtabor.rosdev@gmail.com To: ros-dev@reactos.org Subject: [ros-dev] [ros-diffs] [mjmartin] 47059: [win32k] - Fix a problem where application that used WH_CBT hook procedures were receiving destroy window notification on windows that were never created.
Michael!
Good work!!!!
Do you think this might be one of the reasons we are reentering co_UserDestroyWindow? The DCE is cleared and (not cached) at first then we go back a second time and hit the assert...?
http://www.reactos.org/bugzilla/show_bug.cgi?id=5320
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
_________________________________________________________________ The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with Hotmail. http://www.windowslive.com/campaign/thenewbusy?tile=multicalendar&ocid=P...