Filip Navara wrote:
Hi,
here is my proposed solution for crashes in COMCTL32 observed in specific situations while calling the window procedure subclassing functions. If there were removed all subclassed window procedures during the execution of SubclassWndProc there happened a crash, because the structure that holds the subclassing stack was freed in DefSubclassProc.
Yes, that was my fault. Sorry.
Also if there were some window procedure subclassings removed during the execution of SubclassWndProc, the stack position counting could have gone wrong. My solution is to let the subclassing stack grow the opposite way, so that item 0 is the most nested one. I also removed the stacknew handling which I strongly believe is redundant now.
It looks much simpler now, but I don't understand why reversing the direction of the stack should make any difference. I don't think you submitted the required patch to comctl32.h.
Rob