Module: wine Branch: master Commit: d3f4fb4929284085b8d634f932299e672eaa692e URL: http://source.winehq.org/git/wine.git/?a=commit;h=d3f4fb4929284085b8d634f932...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Sep 9 11:33:06 2008 +0200
user32: Fix DeferWindowPos to work on windows belonging to other processes.
---
dlls/user32/winpos.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c index 2bbaab9..21e1554 100644 --- a/dlls/user32/winpos.c +++ b/dlls/user32/winpos.c @@ -2187,13 +2187,16 @@ BOOL WINAPI EndDeferWindowPos( HDWP hdwp )
pDWP = (DWP *) USER_HEAP_LIN_ADDR( hdwp ); if (!pDWP) return FALSE; - for (i = 0, winpos = pDWP->winPos; i < pDWP->actualCount; i++, winpos++) + for (i = 0, winpos = pDWP->winPos; res && i < pDWP->actualCount; i++, winpos++) { TRACE("hwnd %p, after %p, %d,%d (%dx%d), flags %08x\n", winpos->hwnd, winpos->hwndInsertAfter, winpos->x, winpos->y, winpos->cx, winpos->cy, winpos->flags);
- if (!(res = USER_SetWindowPos( winpos ))) break; + if (WIN_IsCurrentThread( winpos->hwnd )) + res = USER_SetWindowPos( winpos ); + else + res = SendMessageW( winpos->hwnd, WM_WINE_SETWINDOWPOS, 0, (LPARAM)winpos ); } USER_HEAP_FREE( hdwp ); return res;