InternalPos.NormalRect is a key data for detecting whether a window was snapped.
Keeping it after restore affecting next snap actions.
CORE-16477
if (wParam == VK_DOWN)
{
if (topWnd->style & WS_MAXIMIZE)
+ {
co_IntSendMessage(hwndTop, WM_SYSCOMMAND, SC_RESTORE, lParam);
+
+ /* "Normal size" must be erased after restoring, otherwise it will block next side snap actions */
+ RECTL_vSetEmptyRect(&topWnd->InternalPos.NormalRect);
+ }
else
+ {
co_IntSendMessage(hwndTop, WM_SYSCOMMAND, SC_MINIMIZE, lParam);
+ }
}
else if (wParam == VK_UP)
{