diff --git a/redo/windows/button.c b/redo/windows/button.c index 9233415c..19ef01bc 100644 --- a/redo/windows/button.c +++ b/redo/windows/button.c @@ -8,7 +8,7 @@ struct button { void *onClickedData; }; -static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult) +static BOOL onWM_COMMAND(uiControl *c, HWND hwnd, WORD code, LRESULT *lResult) { struct button *b = (struct button *) c; diff --git a/redo/windows/checkbox.c b/redo/windows/checkbox.c index cbdbb28b..c9728ee5 100644 --- a/redo/windows/checkbox.c +++ b/redo/windows/checkbox.c @@ -8,7 +8,7 @@ struct checkbox { void *onToggledData; }; -static BOOL onWM_COMMAND(uiControl *cc, WORD code, LRESULT *lResult) +static BOOL onWM_COMMAND(uiControl *cc, HWND hwnd, WORD code, LRESULT *lResult) { struct checkbox *c = (struct checkbox *) cc; WPARAM check; diff --git a/redo/windows/entry.c b/redo/windows/entry.c index ccf6cf7b..279203c7 100644 --- a/redo/windows/entry.c +++ b/redo/windows/entry.c @@ -9,7 +9,7 @@ struct entry { BOOL inhibitChanged; }; -static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult) +static BOOL onWM_COMMAND(uiControl *c, HWND hwnd, WORD code, LRESULT *lResult) { struct entry *e = (struct entry *) c; diff --git a/redo/windows/events.c b/redo/windows/events.c index 24e618ba..445aff40 100644 --- a/redo/windows/events.c +++ b/redo/windows/events.c @@ -5,21 +5,21 @@ struct commandHandler { HWND hwnd; - BOOL (*handler)(uiControl *, WORD, LRESULT *); + BOOL (*handler)(uiControl *, HWND, WORD, LRESULT *); uiControl *c; UT_hash_handle hh; }; struct notifyHandler { HWND hwnd; - BOOL (*handler)(uiControl *, NMHDR *, LRESULT *); + BOOL (*handler)(uiControl *, HWND, NMHDR *, LRESULT *); uiControl *c; UT_hash_handle hh; }; struct hscrollHandler { HWND hwnd; - BOOL (*handler)(uiControl *, WORD, LRESULT *); + BOOL (*handler)(uiControl *, HWND, WORD, LRESULT *); uiControl *c; UT_hash_handle hh; }; @@ -41,9 +41,9 @@ struct hscrollHandler *hscrollHandlers = NULL; ch->c = c; \ HASH_ADD_PTR(message ## Handlers, hwnd, ch); \ } -REGFN(WM_COMMAND, command, (uiControl *, WORD, LRESULT *)) -REGFN(WM_NOTIFY, notify, (uiControl *, NMHDR *, LRESULT *)) -REGFN(WM_HSCROLL, hscroll, (uiControl *, WORD, LRESULT *)) +REGFN(WM_COMMAND, command, (uiControl *, HWND, WORD, LRESULT *)) +REGFN(WM_NOTIFY, notify, (uiControl *, HWND, NMHDR *, LRESULT *)) +REGFN(WM_HSCROLL, hscroll, (uiControl *, HWND, WORD, LRESULT *)) #define UNREGFN(WM_MESSAGE, message) \ void uiWindowsUnregister ## WM_MESSAGE ## Handler(HWND hwnd) \ @@ -59,7 +59,7 @@ UNREGFN(WM_COMMAND, command) UNREGFN(WM_NOTIFY, notify) UNREGFN(WM_HSCROLL, hscroll) -#define RUNFN(WM_MESSAGE, message, gethwnd, arg2) \ +#define RUNFN(WM_MESSAGE, message, gethwnd, arg3) \ BOOL run ## WM_MESSAGE(WPARAM wParam, LPARAM lParam, LRESULT *lResult) \ { \ HWND control; \ @@ -70,7 +70,7 @@ UNREGFN(WM_HSCROLL, hscroll) if (control != NULL && IsChild(utilWindow, control) == 0) { \ HASH_FIND_PTR(message ## Handlers, &control, ch); \ if (ch != NULL) \ - return (*(ch->handler))(ch->c, arg2, lResult); \ + return (*(ch->handler))(ch->c, control, arg3, lResult); \ /* not registered; fall out to return FALSE */ \ } \ return FALSE; \ diff --git a/redo/windows/slider.c b/redo/windows/slider.c index 151cb5b6..52af51c6 100644 --- a/redo/windows/slider.c +++ b/redo/windows/slider.c @@ -13,7 +13,7 @@ struct slider { void *onChangedData; }; -static BOOL onWM_HSCROLL(uiControl *c, WORD code, LRESULT *lResult) +static BOOL onWM_HSCROLL(uiControl *c, HWND hwnd, WORD code, LRESULT *lResult) { struct slider *s = (struct slider *) c; diff --git a/redo/windows/spinbox.c b/redo/windows/spinbox.c index 4fc7b310..b444b1b4 100644 --- a/redo/windows/spinbox.c +++ b/redo/windows/spinbox.c @@ -33,7 +33,7 @@ static intmax_t value(struct spinbox *s) // control implementation -static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult) +static BOOL onWM_COMMAND(uiControl *c, HWND hwnd, WORD code, LRESULT *lResult) { struct spinbox *s = (struct spinbox *) c; diff --git a/redo/windows/tab.c b/redo/windows/tab.c index 3eefa75f..cab777f6 100644 --- a/redo/windows/tab.c +++ b/redo/windows/tab.c @@ -41,7 +41,7 @@ static void showHidePage(struct tab *t, LRESULT which, int hide) // control implementation -static BOOL onWM_NOTIFY(uiControl *c, NMHDR *nm, LRESULT *lResult) +static BOOL onWM_NOTIFY(uiControl *c, HWND hwnd, NMHDR *nm, LRESULT *lResult) { struct tab *t = (struct tab *) c; diff --git a/redo/windows/uipriv_windows.h b/redo/windows/uipriv_windows.h index 0c921f83..c7ad1a55 100644 --- a/redo/windows/uipriv_windows.h +++ b/redo/windows/uipriv_windows.h @@ -111,9 +111,9 @@ extern void tabLeaveTabNavigation(HWND); // events.c // TODO split the uiWindows ones to ui_windows.h -extern void uiWindowsRegisterWM_COMMANDHandler(HWND, BOOL (*)(uiControl *, WORD, LRESULT *), uiControl *); -extern void uiWindowsRegisterWM_NOTIFYHandler(HWND, BOOL (*)(uiControl *, NMHDR *, LRESULT *), uiControl *); -extern void uiWindowsRegisterWM_HSCROLLHandler(HWND, BOOL (*)(uiControl *, WORD, LRESULT *), uiControl *); +extern void uiWindowsRegisterWM_COMMANDHandler(HWND, BOOL (*)(uiControl *, HWND, WORD, LRESULT *), uiControl *); +extern void uiWindowsRegisterWM_NOTIFYHandler(HWND, BOOL (*)(uiControl *, HWND, NMHDR *, LRESULT *), uiControl *); +extern void uiWindowsRegisterWM_HSCROLLHandler(HWND, BOOL (*)(uiControl *, HWND, WORD, LRESULT *), uiControl *); extern void uiWindowsUnregisterWM_COMMANDHandler(HWND); extern void uiWindowsUnregisterWM_NOTIFYHandler(HWND); extern void uiWindowsUnregisterWM_HSCROLLHandler(HWND);