diff --git a/redo/common_windows.c b/redo/common_windows.c index 13997c7..327e707 100644 --- a/redo/common_windows.c +++ b/redo/common_windows.c @@ -110,9 +110,14 @@ void paintControlBackground(HWND hwnd, HDC dc) parent = GetParent(parent); if (parent == NULL) xpanic("error getting parent container of control in paintControlBackground()", GetLastError()); + // wine sends these messages early, yay... + if (parent == msgwin) + return; parent = GetParent(parent); if (parent == NULL) xpanic("error getting parent control of control in paintControlBackground()", GetLastError()); + if (parent == msgwin) + return; if (GetClassNameW(parent, classname, 128) == 0) xpanic("error getting name of focused window class in paintControlBackground()", GetLastError()); } while (_wcsicmp(classname, L"button") == 0); // skip groupboxes diff --git a/redo/future b/redo/future index 6b189ec..fd40ac3 100644 --- a/redo/future +++ b/redo/future @@ -78,6 +78,7 @@ windows - groupbox line behind groupbox text - scrolling edit controls in Areas back into view don't cause redraw - need to figure out the WM_MOUSELEAVE tango (see mergeback/table_mouseleave_windows.c) + - tell wine that WM_CTLCOLOR*** doesn't get sent early ????? gtk+ - Area: figure out how Enter is processed in Entry https://git.gnome.org/browse/gtk+/tree/gtk/gtkwindow.c#n1229