On Sat Nov 2 19:49:00 2024 +0000, Alanas wrote:
With this change, unhandled notifications are all forwarded to
hwndNotify and I worry that it might not be the case. Yes, windows does have more handled notifications. There are notifications that don't get forwarded. There are notifications that `nmhdr->code` overwritten and get forwarded. Not all notifications have `nmhdr->code` that is equal to a macro in mingw-w64's [commctrl.h](https://github.com/mingw-w64/mingw-w64/blob/e3a3dc588a6358bda826934d3adfeaa3...) and [prsht.h](https://github.com/mingw-w64/mingw-w64/blob/e3a3dc588a6358bda826934d3adfeaa3...). See https://bugs.winehq.org/attachment.cgi?id=77351&action=edit and https://bugs.winehq.org/attachment.cgi?id=77352&action=edit.
I think we can probably return 0 for the range used by common controls and then forward the rest to hwndNotify. The range doesn't have to be exact. For example, the smallest notification code is LVN_FIRST (0U-100U) and the largest is TRBN_LAST (0u-1519u). So we can probably return 0 for LVN_FIRST ~ TRBN_LAST. The more exact range can be found using a loop. In your winehq test, 0xffff0000u seems like a special value. So maybe exclude 0xffff0000u~0xffffffffu also works?