summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redo/tab_windows.go2
-rw-r--r--redo/uitask_windows.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/redo/tab_windows.go b/redo/tab_windows.go
index 62da0b4..06f772b 100644
--- a/redo/tab_windows.go
+++ b/redo/tab_windows.go
@@ -23,6 +23,8 @@ type tab struct {
func newTab() Tab {
hwnd := C.newControl(C.xWC_TABCONTROL,
C.TCS_TOOLTIPS | C.WS_TABSTOP,
+ // this is needed to have the tab contents be tab stop
+ // TODO this seems to override WS_TABSTOP
C.WS_EX_CONTROLPARENT)
t := &tab{
_hwnd: hwnd,
diff --git a/redo/uitask_windows.c b/redo/uitask_windows.c
index 479b48a..23aba52 100644
--- a/redo/uitask_windows.c
+++ b/redo/uitask_windows.c
@@ -7,6 +7,7 @@ void uimsgloop(void)
{
MSG msg;
int res;
+ HWND active;
for (;;) {
SetLastError(0);
@@ -15,7 +16,9 @@ void uimsgloop(void)
xpanic("error calling GetMessage()", GetLastError());
if (res == 0) /* WM_QUIT */
break;
- /* TODO IsDialogMessage() */
+ active = GetActiveWindow();
+ if (active != NULL && IsDialogMessageW(active, &msg) != 0)
+ continue;
TranslateMessage(&msg);
DispatchMessageW(&msg);
}