diff --git a/wintable/api.h b/wintable/api.h index 260202e..3d36379 100644 --- a/wintable/api.h +++ b/wintable/api.h @@ -15,15 +15,20 @@ static void addColumn(struct table *t, WPARAM wParam, LPARAM lParam) HANDLER(apiHandlers) { intptr_t *rcp; + BOOL tfbool; switch (uMsg) { case WM_SETFONT: // don't free the old font; see http://blogs.msdn.com/b/oldnewthing/archive/2008/09/12/8945692.aspx t->font = (HFONT) wParam; SendMessageW(t->header, WM_SETFONT, wParam, lParam); - update(t, LOWORD(lParam) != FALSE); - // TODO is this needed? + // let's ensure the values are strictly TRUE and FALSE just to be safe + tfbool = FALSE; if (LOWORD(lParam) != FALSE) + tfbool = TRUE; + update(t, tfbool); + // TODO is this needed? + if (tfbool != FALSE) // TODO check error InvalidateRect(t->hwnd, NULL, TRUE); *lResult = 0; diff --git a/wintable/update.h b/wintable/update.h index c4beea7..b04f445 100644 --- a/wintable/update.h +++ b/wintable/update.h @@ -4,7 +4,7 @@ // The control font changing is the big one, as that comes with a flag that decides whether or not to redraw everything. We'll need to respect that here. // TODO actually use redraw here -static void update(struct table *t, int redraw) +static void update(struct table *t, BOOL redraw) { RECT client; intptr_t i;