[PATCH 5/5] strmbase: Do not activate the window when changing its position.
Zebediah Figura
z.figura12 at gmail.com
Mon Oct 7 18:55:46 CDT 2019
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=10440
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/quartz/tests/videorenderer.c | 4 ++--
dlls/strmbase/window.c | 14 +++++++++-----
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/dlls/quartz/tests/videorenderer.c b/dlls/quartz/tests/videorenderer.c
index f4c3f92e289..f1f901d164d 100644
--- a/dlls/quartz/tests/videorenderer.c
+++ b/dlls/quartz/tests/videorenderer.c
@@ -1762,9 +1762,9 @@ static void test_video_window_position(IVideoWindow *window, HWND hwnd, HWND our
ok(rect.right == 400, "Got window right %d.\n", rect.right);
ok(rect.bottom == 600, "Got window bottom %d.\n", rect.bottom);
- todo_wine ok(GetActiveWindow() == our_hwnd, "Got active window %p.\n", GetActiveWindow());
+ ok(GetActiveWindow() == our_hwnd, "Got active window %p.\n", GetActiveWindow());
top_hwnd = get_top_window();
- todo_wine ok(top_hwnd == our_hwnd, "Got top window %p.\n", top_hwnd);
+ ok(top_hwnd == our_hwnd, "Got top window %p.\n", top_hwnd);
}
static void test_video_window_owner(IVideoWindow *window, HWND hwnd, HWND our_hwnd)
diff --git a/dlls/strmbase/window.c b/dlls/strmbase/window.c
index 446c389220b..cb41aee2f4f 100644
--- a/dlls/strmbase/window.c
+++ b/dlls/strmbase/window.c
@@ -462,7 +462,8 @@ HRESULT WINAPI BaseControlWindowImpl_put_Left(IVideoWindow *iface, LONG Left)
TRACE("(%p/%p)->(%d)\n", This, iface, Left);
GetWindowRect(This->baseWindow.hWnd, &WindowPos);
- if (!SetWindowPos(This->baseWindow.hWnd, NULL, Left, WindowPos.top, 0, 0, SWP_NOZORDER|SWP_NOSIZE))
+ if (!SetWindowPos(This->baseWindow.hWnd, NULL, Left, WindowPos.top, 0, 0,
+ SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE))
return E_FAIL;
return S_OK;
@@ -487,7 +488,8 @@ HRESULT WINAPI BaseControlWindowImpl_put_Width(IVideoWindow *iface, LONG Width)
TRACE("(%p/%p)->(%d)\n", This, iface, Width);
- if (!SetWindowPos(This->baseWindow.hWnd, NULL, 0, 0, Width, This->baseWindow.Height, SWP_NOZORDER|SWP_NOMOVE))
+ if (!SetWindowPos(This->baseWindow.hWnd, NULL, 0, 0, Width, This->baseWindow.Height,
+ SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE))
return E_FAIL;
This->baseWindow.Width = Width;
@@ -514,7 +516,8 @@ HRESULT WINAPI BaseControlWindowImpl_put_Top(IVideoWindow *iface, LONG Top)
TRACE("(%p/%p)->(%d)\n", This, iface, Top);
GetWindowRect(This->baseWindow.hWnd, &WindowPos);
- if (!SetWindowPos(This->baseWindow.hWnd, NULL, WindowPos.left, Top, 0, 0, SWP_NOZORDER|SWP_NOSIZE))
+ if (!SetWindowPos(This->baseWindow.hWnd, NULL, WindowPos.left, Top, 0, 0,
+ SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE))
return E_FAIL;
return S_OK;
@@ -539,7 +542,8 @@ HRESULT WINAPI BaseControlWindowImpl_put_Height(IVideoWindow *iface, LONG Height
TRACE("(%p/%p)->(%d)\n", This, iface, Height);
- if (!SetWindowPos(This->baseWindow.hWnd, NULL, 0, 0, This->baseWindow.Width, Height, SWP_NOZORDER|SWP_NOMOVE))
+ if (!SetWindowPos(This->baseWindow.hWnd, NULL, 0, 0, This->baseWindow.Width,
+ Height, SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE))
return E_FAIL;
This->baseWindow.Height = Height;
@@ -675,7 +679,7 @@ HRESULT WINAPI BaseControlWindowImpl_SetWindowPosition(IVideoWindow *iface, LONG
TRACE("(%p/%p)->(%d, %d, %d, %d)\n", This, iface, Left, Top, Width, Height);
- if (!SetWindowPos(This->baseWindow.hWnd, NULL, Left, Top, Width, Height, SWP_NOZORDER))
+ if (!SetWindowPos(This->baseWindow.hWnd, NULL, Left, Top, Width, Height, SWP_NOACTIVATE | SWP_NOZORDER))
return E_FAIL;
This->baseWindow.Width = Width;
--
2.23.0
More information about the wine-devel
mailing list