Skip to content

Commit d66fe62

Browse files
Paul Gofmanjulliard
Paul Gofman
authored andcommitted
explorer: Don't pop start menu on "minimize all windows" systray command.
1 parent 988253a commit d66fe62

File tree

2 files changed

+39
-2
lines changed

2 files changed

+39
-2
lines changed

dlls/user32/tests/win.c

+28-1
Original file line numberDiff line numberDiff line change
@@ -1796,7 +1796,7 @@ static void test_shell_window(void)
17961796

17971797
WaitForSingleObject(hthread, INFINITE);
17981798

1799-
DeleteObject(hthread);
1799+
CloseHandle(hthread);
18001800

18011801
CloseDesktop(hdesk);
18021802
}
@@ -13033,6 +13033,32 @@ static void test_WM_NCCALCSIZE(void)
1303313033
DestroyWindow(hwnd);
1303413034
}
1303513035

13036+
#define TRAY_MINIMIZE_ALL 419
13037+
13038+
static void test_shell_tray(void)
13039+
{
13040+
HWND hwnd, traywnd;
13041+
13042+
if (!(traywnd = FindWindowA( "Shell_TrayWnd", NULL )))
13043+
{
13044+
skip( "Shell_TrayWnd not found, skipping tests.\n" );
13045+
return;
13046+
}
13047+
13048+
hwnd = CreateWindowW( L"static", L"parent", WS_OVERLAPPEDWINDOW|WS_VISIBLE,
13049+
100, 100, 200, 200, 0, 0, 0, NULL );
13050+
ok( !!hwnd, "failed, error %lu.\n", GetLastError() );
13051+
flush_events( TRUE );
13052+
13053+
ok( !IsIconic( hwnd ), "window is minimized.\n" );
13054+
13055+
SendMessageA( traywnd, WM_COMMAND, TRAY_MINIMIZE_ALL, 0xdeadbeef );
13056+
flush_events( TRUE );
13057+
todo_wine ok( IsIconic( hwnd ), "window is not minimized.\n" );
13058+
13059+
DestroyWindow(hwnd);
13060+
}
13061+
1303613062
START_TEST(win)
1303713063
{
1303813064
char **argv;
@@ -13229,4 +13255,5 @@ START_TEST(win)
1322913255
test_topmost();
1323013256

1323113257
test_shell_window();
13258+
test_shell_tray();
1323213259
}

programs/explorer/systray.c

+11-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333

3434
WINE_DEFAULT_DEBUG_CHANNEL(systray);
3535

36+
#define TRAY_MINIMIZE_ALL 419
37+
3638
struct notify_data /* platform-independent format for NOTIFYICONDATA */
3739
{
3840
LONG hWnd;
@@ -1060,7 +1062,15 @@ static LRESULT WINAPI shell_traywnd_proc( HWND hwnd, UINT msg, WPARAM wparam, LP
10601062
break;
10611063

10621064
case WM_COMMAND:
1063-
if (HIWORD(wparam) == BN_CLICKED) click_taskbar_button( (HWND)lparam );
1065+
if (HIWORD(wparam) == BN_CLICKED)
1066+
{
1067+
if (LOWORD(wparam) == TRAY_MINIMIZE_ALL)
1068+
{
1069+
FIXME( "Shell command %u is not supported.\n", LOWORD(wparam) );
1070+
break;
1071+
}
1072+
click_taskbar_button( (HWND)lparam );
1073+
}
10641074
break;
10651075

10661076
case WM_CONTEXTMENU:

0 commit comments

Comments
 (0)