{
co_IntSendMessageNoWait(WinPos.hwnd, WM_CHILDACTIVATE, 0, 0);
}
-#if 0 ////// Break see CORE-11324
- /* Do not allow setting if already active.
- Fix A : wine msg test_SetParent:WmSetParentSeq_2:25 msg!
- Recursion broke the tests.
- */
- else if ( pti->MessageQueue->spwndActive != Window ||
- pti->MessageQueue != gpqForeground ) // This fixes the breakage at boot time caused by the above line!
- {
- // Inside SAW? Fixes Api AttachThreadInput tests.
- TRACE("SetWindowPos Set FG Window! hWnd %p\n",WinPos.hwnd);
- if (!(Window->state & WNDS_BEINGACTIVATED))
- {
- TRACE("SetWindowPos Set FG Window!\n");
- // Fixes SW_HIDE issues. Wine win test_SetActiveWindow & test_SetForegroundWindow.
- co_IntSetForegroundWindow(Window);
- }
- }
-#else //////
else
{
//ERR("SetWindowPos Set FG Window!\n");
else
co_IntSetForegroundWindow(Window); // Fixes SW_HIDE issues. Wine win test_SetActiveWindow & test_SetForegroundWindow.
}
-#endif
+ }
+
+ if ( !PosChanged &&
+ (WinPos.flags & SWP_FRAMECHANGED) &&
+ !(WinPos.flags & SWP_DEFERERASE) && // Prevent sending WM_SYNCPAINT message.
+ VisAfter )
+ {
+ PWND Parent = Window->spwndParent;
+ if ( !(Window->style & WS_CHILD) && (Parent) && (Parent->style & WS_CLIPCHILDREN))
+ {
+ TRACE("SWP_FRAMECHANGED Parent WS_CLIPCHILDREN\n");
+ UserSyncAndPaintWindows( Parent, RDW_CLIPCHILDREN);
+ }
}
// Fix wine msg test_SetFocus, prevents sending WM_WINDOWPOSCHANGED.
{
co_UserSetFocus(Wnd);
// Fix wine Win test_SetFocus todo #3,
- if (!(style & WS_CHILD)) co_IntSendMessageNoWait(UserHMGetHandle(Wnd), WM_ACTIVATE, WA_ACTIVE, 0);
+ if (!(style & WS_CHILD)) co_IntSendMessage(UserHMGetHandle(Wnd), WM_ACTIVATE, WA_ACTIVE, 0);
}
//ERR("co_WinPosShowWindow EXIT\n");
return WasVisible;
}
else
{
- Window->hrgnNewFrame = (HRGN) 1;
+ Window->hrgnNewFrame = HRGN_WINDOW;
}
//// HACK 2
Ret = co_WinPosSetWindowPos(Window, HWND_TOP, 0, 0, 0, 0, bRedraw ? flags : (flags|SWP_NOREDRAW) );