diff --git a/base/shell/explorer/traywnd.cpp b/base/shell/explorer/traywnd.cpp index e14e805b8f7..2b69e48bb02 100644 --- a/base/shell/explorer/traywnd.cpp +++ b/base/shell/explorer/traywnd.cpp @@ -1562,7 +1562,7 @@ ChangePos: else { WndSize.cx = StartBtnSize.cx; - WndSize.cy = StartBtnSize.cy - EdgeSize.cx; + WndSize.cy = StartBtnSize.cy - EdgeSize.cy; } if (WndSize.cx < g_TaskbarSettings.sr.Size.cx) @@ -1628,14 +1628,13 @@ ChangePos: if (StartSize.cx > rcClient.right) StartSize.cx = rcClient.right; - if (!m_Theme) + HWND hwndTaskToolbar = ::GetWindow(m_TaskSwitch, GW_CHILD); + if (hwndTaskToolbar) { - HWND hwndTaskToolbar = ::GetWindow(m_TaskSwitch, GW_CHILD); - if (hwndTaskToolbar) - { - DWORD size = SendMessageW(hwndTaskToolbar, TB_GETBUTTONSIZE, 0, 0); - StartSize.cy = HIWORD(size); - } + DWORD size = SendMessageW(hwndTaskToolbar, TB_GETBUTTONSIZE, 0, 0); + + /* Themed button covers Edge area as well */ + StartSize.cy = HIWORD(size) + (m_Theme ? GetSystemMetrics(SM_CYEDGE) : 0); } if (m_StartButton.m_hWnd != NULL)