372 |
case HCBT_MINMAX: |
case HCBT_MINMAX: |
373 |
{ |
{ |
374 |
int show, state, blocked; |
int show, state, blocked; |
375 |
HWND blocked_hwnd; |
HWND hwnd, blocked_hwnd; |
376 |
unsigned int serial; |
unsigned int serial; |
377 |
|
LONG style; |
378 |
|
|
379 |
WaitForSingleObject(g_mutex, INFINITE); |
WaitForSingleObject(g_mutex, INFINITE); |
380 |
blocked_hwnd = g_blocked_state_hwnd; |
blocked_hwnd = g_blocked_state_hwnd; |
382 |
blocked = g_blocked_state; |
blocked = g_blocked_state; |
383 |
ReleaseMutex(g_mutex); |
ReleaseMutex(g_mutex); |
384 |
|
|
385 |
|
hwnd = (HWND) wparam; |
386 |
|
|
387 |
|
style = GetWindowLong(hwnd, GWL_STYLE); |
388 |
|
|
389 |
|
if (!(style & WS_VISIBLE)) |
390 |
|
break; |
391 |
|
|
392 |
show = LOWORD(lparam); |
show = LOWORD(lparam); |
393 |
|
|
394 |
if ((show == SW_NORMAL) || (show == SW_SHOWNORMAL) |
if ((show == SW_NORMAL) || (show == SW_SHOWNORMAL) |
404 |
break; |
break; |
405 |
} |
} |
406 |
|
|
407 |
if ((blocked_hwnd == (HWND) wparam) && (blocked == state)) |
if ((blocked_hwnd == hwnd) && (blocked == state)) |
408 |
vchannel_write("ACK", "%u", serial); |
vchannel_write("ACK", "%u", serial); |
409 |
else |
else |
410 |
vchannel_write("STATE", "0x%08lx,0x%08x,0x%08x", |
vchannel_write("STATE", "0x%08lx,0x%08x,0x%08x", |
411 |
(HWND) wparam, state, 0); |
hwnd, state, 0); |
412 |
|
|
413 |
break; |
break; |
414 |
} |
} |