mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 083dea7fce4372840ac18176496a7d05dadd5ad8.
This commit is contained in:
parent
cd68f05ab3
commit
62db3313d5
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "62df608d3ed84aac7ce517fd07ea13e48b49b08c"
|
||||
echo "083dea7fce4372840ac18176496a7d05dadd5ad8"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -3291,7 +3291,7 @@ fi
|
||||
# | * [#40262] Correct order of windows messages.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/tests/msg.c, dlls/user32/winpos.c, dlls/win32u/window.c
|
||||
# | * dlls/user32/tests/msg.c, dlls/win32u/window.c
|
||||
# |
|
||||
if test "$enable_user32_message_order" -eq 1; then
|
||||
patch_apply user32-message-order/0001-user32-Fix-messages-sent-on-a-window-without-WS_CHIL.patch
|
||||
@ -3591,8 +3591,9 @@ fi
|
||||
# | * [#44514] - wined3d: Use bindless textures for GLSL shaders.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/adapter_gl.c, dlls/wined3d/context_gl.c, dlls/wined3d/device.c, dlls/wined3d/glsl_shader.c,
|
||||
# | dlls/wined3d/texture.c, dlls/wined3d/view.c, dlls/wined3d/wined3d_gl.h, dlls/wined3d/wined3d_private.h
|
||||
# | * dlls/wined3d/adapter_gl.c, dlls/wined3d/arb_program_shader.c, dlls/wined3d/context_gl.c, dlls/wined3d/device.c,
|
||||
# | dlls/wined3d/glsl_shader.c, dlls/wined3d/shader.c, dlls/wined3d/texture.c, dlls/wined3d/view.c,
|
||||
# | dlls/wined3d/wined3d_gl.h, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_bindless_texture" -eq 1; then
|
||||
patch_apply wined3d-bindless-texture/0001-wined3d-Use-bindless-textures-for-GLSL-shaders.patch
|
||||
|
@ -1,8 +1,8 @@
|
||||
From c40265799ed2dd422b06cce9560b7b855304cbf1 Mon Sep 17 00:00:00 2001
|
||||
From f5f76efccaf16896cfaf455c3f8e5383675a5b79 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 15 Jun 2016 14:57:10 +0800
|
||||
Subject: user32: Do not initialize dialog info for every window passed to
|
||||
DefDlgProc.
|
||||
Subject: [PATCH] user32: Do not initialize dialog info for every window passed
|
||||
to DefDlgProc.
|
||||
|
||||
The tests in the last patch in the series use
|
||||
DefDlgProcA(parent, DM_GETDEFID, 0, 0);
|
||||
@ -18,10 +18,10 @@ has been forced, so passing TRUE to DIALOG_get_info() is redundant there.
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/defdlg.c b/dlls/user32/defdlg.c
|
||||
index 00a73c6..258c3a9 100644
|
||||
index 3c7a8a78855..b7d30a7f1cf 100644
|
||||
--- a/dlls/user32/defdlg.c
|
||||
+++ b/dlls/user32/defdlg.c
|
||||
@@ -364,7 +364,7 @@ LRESULT WINAPI DefDlgProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
||||
@@ -361,7 +361,7 @@ static LRESULT USER_DefDlgProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
|
||||
LRESULT result = 0;
|
||||
|
||||
/* Perform DIALOGINFO initialization if not done */
|
||||
@ -30,7 +30,7 @@ index 00a73c6..258c3a9 100644
|
||||
|
||||
SetWindowLongPtrW( hwnd, DWLP_MSGRESULT, 0 );
|
||||
|
||||
@@ -422,7 +422,7 @@ LRESULT WINAPI DefDlgProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
||||
@@ -415,7 +415,7 @@ static LRESULT USER_DefDlgProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
|
||||
LRESULT result = 0;
|
||||
|
||||
/* Perform DIALOGINFO initialization if not done */
|
||||
@ -40,10 +40,10 @@ index 00a73c6..258c3a9 100644
|
||||
SetWindowLongPtrW( hwnd, DWLP_MSGRESULT, 0 );
|
||||
|
||||
diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c
|
||||
index 9cb4b8d..b84784f 100644
|
||||
index a3efd5b6742..a226c764c49 100644
|
||||
--- a/dlls/user32/dialog.c
|
||||
+++ b/dlls/user32/dialog.c
|
||||
@@ -216,7 +216,7 @@ static const WORD *DIALOG_GetControl32( const WORD *p, DLG_CONTROL_INFO *info,
|
||||
@@ -212,7 +212,7 @@ static const WORD *DIALOG_GetControl32( const WORD *p, DLG_CONTROL_INFO *info,
|
||||
static BOOL DIALOG_CreateControls32( HWND hwnd, LPCSTR template, const DLG_TEMPLATE *dlgTemplate,
|
||||
HINSTANCE hInst, BOOL unicode )
|
||||
{
|
||||
@ -53,5 +53,5 @@ index 9cb4b8d..b84784f 100644
|
||||
HWND hwndCtrl, hwndDefButton = 0;
|
||||
INT items = dlgTemplate->nbItems;
|
||||
--
|
||||
2.8.0
|
||||
2.35.1
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
From d068cb5331e7dee5ceb0c14a3eff9ef2c273865d Mon Sep 17 00:00:00 2001
|
||||
From f612886526cf2a07f02794c2d41e6284e39d251d Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 15 Jun 2016 15:07:39 +0800
|
||||
Subject: user32: Use root dialog for DM_SETDEFID/DM_GETDEFID in DefDlgProc.
|
||||
Subject: [PATCH] user32: Use root dialog for DM_SETDEFID/DM_GETDEFID in
|
||||
DefDlgProc.
|
||||
|
||||
This patch fixes DM_SETDEFID/DM_GETDEFID handling in complex dialog
|
||||
structures such as a property sheet.
|
||||
@ -10,7 +11,7 @@ structures such as a property sheet.
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/defdlg.c b/dlls/user32/defdlg.c
|
||||
index 258c3a9..6765a51 100644
|
||||
index b7d30a7f1cf..5b7f59cd3c7 100644
|
||||
--- a/dlls/user32/defdlg.c
|
||||
+++ b/dlls/user32/defdlg.c
|
||||
@@ -209,6 +209,25 @@ static BOOL DEFDLG_SetDefButton( HWND hwndDlg, DIALOGINFO *dlgInfo, HWND hwndNew
|
||||
@ -58,5 +59,5 @@ index 258c3a9..6765a51 100644
|
||||
{
|
||||
HWND hwndDefId;
|
||||
--
|
||||
2.8.0
|
||||
2.35.1
|
||||
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 44670a4e2f5d3434d8546ed32724b58a24b4399e Mon Sep 17 00:00:00 2001
|
||||
From 71f0da0e3f84845fc5e5352b9279de0cd30a717d Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 15 Jun 2016 15:09:46 +0800
|
||||
Subject: user32/tests: Add a bunch of tests for DM_SETDEFID/DM_GETDEFID
|
||||
handling by a DefDlgProc.
|
||||
Subject: [PATCH] user32/tests: Add a bunch of tests for
|
||||
DM_SETDEFID/DM_GETDEFID handling by a DefDlgProc.
|
||||
|
||||
---
|
||||
dlls/user32/tests/win.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/user32/tests/win.c | 87 +++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 87 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
|
||||
index c135fdf..23e98e0 100644
|
||||
index 49bbd5894a9..3458f812394 100644
|
||||
--- a/dlls/user32/tests/win.c
|
||||
+++ b/dlls/user32/tests/win.c
|
||||
@@ -4228,15 +4228,65 @@ static void test_window_styles(void)
|
||||
@@ -5157,15 +5157,65 @@ static void test_window_styles(void)
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ index c135fdf..23e98e0 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -4255,6 +4305,16 @@ static INT_PTR WINAPI empty_dlg_proc2(HWND hwnd, UINT msg, WPARAM wparam, LPARAM
|
||||
@@ -5184,6 +5234,16 @@ static INT_PTR WINAPI empty_dlg_proc2(HWND hwnd, UINT msg, WPARAM wparam, LPARAM
|
||||
struct dialog_param *param = (struct dialog_param *)lparam;
|
||||
BOOL parent_is_child;
|
||||
HWND disabled_hwnd;
|
||||
@ -95,9 +95,9 @@ index c135fdf..23e98e0 100644
|
||||
|
||||
parent_is_child = (GetWindowLongA(param->parent, GWL_STYLE) & (WS_POPUP | WS_CHILD)) == WS_CHILD;
|
||||
|
||||
@@ -4296,6 +4356,25 @@ static INT_PTR WINAPI empty_dlg_proc2(HWND hwnd, UINT msg, WPARAM wparam, LPARAM
|
||||
@@ -5225,6 +5285,25 @@ static INT_PTR WINAPI empty_dlg_proc2(HWND hwnd, UINT msg, WPARAM wparam, LPARAM
|
||||
DialogBoxIndirectParamA(GetModuleHandleA(NULL), param->dlg_data, hwnd, empty_dlg_proc3, 0);
|
||||
ok(IsWindowEnabled(hwnd), "wrong state for %p (%08x)\n", hwnd, style);
|
||||
ok(IsWindowEnabled(hwnd), "wrong state for %p (%08lx)\n", hwnd, style);
|
||||
|
||||
+ param->dlg_data->style |= DS_CONTROL;
|
||||
+ DialogBoxIndirectParamA(GetModuleHandleA(NULL), param->dlg_data, hwnd, empty_dlg_proc3, 0);
|
||||
@ -121,7 +121,7 @@ index c135fdf..23e98e0 100644
|
||||
EndDialog(hwnd, 0);
|
||||
}
|
||||
return 0;
|
||||
@@ -4314,6 +4393,7 @@ static void check_dialog_style(DWORD style_in, DWORD ex_style_in, DWORD style_ou
|
||||
@@ -5243,6 +5322,7 @@ static void check_dialog_style(DWORD style_in, DWORD ex_style_in, DWORD style_ou
|
||||
DWORD style, ex_style;
|
||||
HWND hwnd, grand_parent = 0, parent = 0;
|
||||
struct dialog_param param;
|
||||
@ -129,9 +129,9 @@ index c135fdf..23e98e0 100644
|
||||
|
||||
if (style_in & WS_CHILD)
|
||||
{
|
||||
@@ -4341,6 +4421,13 @@ static void check_dialog_style(DWORD style_in, DWORD ex_style_in, DWORD style_ou
|
||||
@@ -5270,6 +5350,13 @@ static void check_dialog_style(DWORD style_in, DWORD ex_style_in, DWORD style_ou
|
||||
hwnd = CreateDialogIndirectParamA(GetModuleHandleA(NULL), &dlg_data.dt, parent, empty_dlg_proc, 0);
|
||||
ok(hwnd != 0, "dialog creation failed, style %#x, exstyle %#x\n", style_in, ex_style_in);
|
||||
ok(hwnd != 0, "dialog creation failed, style %#lx, exstyle %#lx\n", style_in, ex_style_in);
|
||||
|
||||
+ id = DefDlgProcA(hwnd, DM_GETDEFID, 0, 0);
|
||||
+ ok(id == MAKELONG(IDOK,DC_HASDEFID), "expected (IDOK,DC_HASDEFID), got %08lx\n", id);
|
||||
@ -144,5 +144,5 @@ index c135fdf..23e98e0 100644
|
||||
|
||||
style = GetWindowLongA(hwnd, GWL_STYLE);
|
||||
--
|
||||
2.8.0
|
||||
2.35.1
|
||||
|
||||
|
@ -1,24 +1,24 @@
|
||||
From 3d286a43424fc20c3a8ccdfbbbf7ce84a2bb4300 Mon Sep 17 00:00:00 2001
|
||||
From 3407a396a86366b81b243fde01e191aa1a2f7f5a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 26 Sep 2014 20:24:50 +0200
|
||||
Subject: user32: Call UpdateWindow() during DIALOG_CreateIndirect.
|
||||
Subject: [PATCH] user32: Call UpdateWindow() during DIALOG_CreateIndirect.
|
||||
|
||||
---
|
||||
dlls/user32/dialog.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c
|
||||
index 497d545..819af7a 100644
|
||||
index a226c764c49..91ce53f8297 100644
|
||||
--- a/dlls/user32/dialog.c
|
||||
+++ b/dlls/user32/dialog.c
|
||||
@@ -714,6 +714,7 @@ static HWND DIALOG_CreateIndirect( HINSTANCE hInst, LPCVOID dlgTemplate,
|
||||
@@ -703,6 +703,7 @@ static HWND DIALOG_CreateIndirect( HINSTANCE hInst, LPCVOID dlgTemplate,
|
||||
if (template.style & WS_VISIBLE && !(GetWindowLongW( hwnd, GWL_STYLE ) & WS_VISIBLE))
|
||||
{
|
||||
ShowWindow( hwnd, SW_SHOWNORMAL ); /* SW_SHOW doesn't always work */
|
||||
NtUserShowWindow( hwnd, SW_SHOWNORMAL ); /* SW_SHOW doesn't always work */
|
||||
+ UpdateWindow( hwnd );
|
||||
}
|
||||
return hwnd;
|
||||
}
|
||||
--
|
||||
2.1.1
|
||||
2.35.1
|
||||
|
||||
|
@ -197,7 +197,7 @@ index 10a3882..2e93056 100644
|
||||
+ continue;
|
||||
+
|
||||
+ if (IsZoomed(hwnd))
|
||||
+ ShowWindow(hwnd, SW_RESTORE | SW_SHOWNA);
|
||||
+ NtUserShowWindow(hwnd, SW_RESTORE | SW_SHOWNA);
|
||||
+
|
||||
+ GetWindowRect(hwnd, &wnd_rect);
|
||||
+ new_width = width = wnd_rect.right - wnd_rect.left;
|
||||
|
@ -149,7 +149,7 @@ index 9679be895ed..c752f967b4d 100644
|
||||
+ hwnd = info.wnd_array[i];
|
||||
+
|
||||
+ if (IsZoomed(hwnd))
|
||||
+ ShowWindow(hwnd, SW_RESTORE | SW_SHOWNA);
|
||||
+ NtUserShowWindow(hwnd, SW_RESTORE | SW_SHOWNA);
|
||||
+
|
||||
+ GetWindowRect(hwnd, &rcWnd);
|
||||
+ cx = rcWnd.right - rcWnd.left;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d0087c1c1d68b0bda581ca9a394d8b980dd7a430 Mon Sep 17 00:00:00 2001
|
||||
From 8480b74b27a589db418493a787af4c98e05e29b7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Wed, 16 Sep 2020 17:35:09 +0300
|
||||
Subject: [PATCH] user32: Fix messages sent on a window without WS_CHILD, but
|
||||
@ -17,10 +17,9 @@ This also fixes a TODO message sequence, so that Wine matches Windows.
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40262
|
||||
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
---
|
||||
dlls/user32/tests/msg.c | 3 ++-
|
||||
dlls/user32/winpos.c | 4 ++--
|
||||
dlls/win32u/window.c | 7 +++++--
|
||||
3 files changed, 9 insertions(+), 5 deletions(-)
|
||||
dlls/user32/tests/msg.c | 3 ++-
|
||||
dlls/win32u/window.c | 11 +++++++----
|
||||
2 files changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
|
||||
index 4e2d39dff10..f28b1151c4d 100644
|
||||
@ -43,26 +42,11 @@ index 4e2d39dff10..f28b1151c4d 100644
|
||||
|
||||
ok(GetWindowLongA(popup, GWL_STYLE) & WS_VISIBLE, "WS_VISIBLE should be set\n");
|
||||
ok(!IsWindowVisible(popup), "IsWindowVisible() should return FALSE\n");
|
||||
diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c
|
||||
index b3e8aff3cfa..eaa965fdbee 100644
|
||||
--- a/dlls/user32/winpos.c
|
||||
+++ b/dlls/user32/winpos.c
|
||||
@@ -983,8 +983,8 @@ static BOOL show_window( HWND hwnd, INT cmd )
|
||||
}
|
||||
swp = new_swp;
|
||||
|
||||
- parent = NtUserGetAncestor( hwnd, GA_PARENT );
|
||||
- if (parent && !IsWindowVisible( parent ) && !(swp & SWP_STATECHANGED))
|
||||
+ if ((style & WS_CHILD) && (parent = NtUserGetAncestor( hwnd, GA_PARENT )) &&
|
||||
+ !IsWindowVisible( parent ) && !(swp & SWP_STATECHANGED))
|
||||
{
|
||||
/* if parent is not visible simply toggle WS_VISIBLE and return */
|
||||
if (showFlag) WIN_SetStyle( hwnd, WS_VISIBLE, 0 );
|
||||
diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c
|
||||
index c9801ff8870..71b75445efa 100644
|
||||
index 96a1606c5a1..10f43b9b32f 100644
|
||||
--- a/dlls/win32u/window.c
|
||||
+++ b/dlls/win32u/window.c
|
||||
@@ -2315,8 +2315,11 @@ static BOOL fixup_swp_flags( WINDOWPOS *winpos, const RECT *old_window_rect, int
|
||||
@@ -2699,8 +2699,11 @@ static BOOL fixup_swp_flags( WINDOWPOS *winpos, const RECT *old_window_rect, int
|
||||
if (winpos->cy < 0) winpos->cy = 0;
|
||||
else if (winpos->cy > 32767) winpos->cy = 32767;
|
||||
|
||||
@ -76,6 +60,17 @@ index c9801ff8870..71b75445efa 100644
|
||||
|
||||
if (win->dwStyle & WS_VISIBLE) winpos->flags &= ~SWP_SHOWWINDOW;
|
||||
else
|
||||
@@ -3735,8 +3738,8 @@ static BOOL show_window( HWND hwnd, INT cmd )
|
||||
}
|
||||
swp = new_swp;
|
||||
|
||||
- parent = NtUserGetAncestor( hwnd, GA_PARENT );
|
||||
- if (parent && !is_window_visible( parent ) && !(swp & SWP_STATECHANGED))
|
||||
+ if ((style & WS_CHILD) && (parent = NtUserGetAncestor( hwnd, GA_PARENT )) &&
|
||||
+ !is_window_visible( parent ) && !(swp & SWP_STATECHANGED))
|
||||
{
|
||||
/* if parent is not visible simply toggle WS_VISIBLE and return */
|
||||
if (show_flag) set_window_style( hwnd, WS_VISIBLE, 0 );
|
||||
--
|
||||
2.35.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f0e7e4d7995867911e47dc54c9087cd7a57b5c90 Mon Sep 17 00:00:00 2001
|
||||
From 313d448f0e96df2c0b7b68bce8a6c7a2afed4c2e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Mon, 22 Jul 2019 15:29:25 +0300
|
||||
Subject: [PATCH] user32/focus: Prevent a recursive loop with the activation
|
||||
@ -17,12 +17,12 @@ Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
---
|
||||
dlls/user32/focus.c | 1 -
|
||||
dlls/user32/tests/msg.c | 2 +-
|
||||
dlls/win32u/input.c | 52 +++++++++++++++++++++++++++---------
|
||||
dlls/win32u/input.c | 40 ++++++++++++++++++++++++------------
|
||||
dlls/win32u/ntuser_private.h | 1 +
|
||||
4 files changed, 41 insertions(+), 15 deletions(-)
|
||||
4 files changed, 29 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/focus.c b/dlls/user32/focus.c
|
||||
index 4998ac2feb6..f68c6080698 100644
|
||||
index ff41cf716a1..a044133ab40 100644
|
||||
--- a/dlls/user32/focus.c
|
||||
+++ b/dlls/user32/focus.c
|
||||
@@ -31,7 +31,6 @@
|
||||
@ -34,10 +34,10 @@ index 4998ac2feb6..f68c6080698 100644
|
||||
* FOCUS_MouseActivate
|
||||
*
|
||||
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
|
||||
index 9164f57fdc2..01cb214acdf 100644
|
||||
index f28b1151c4d..4dad60d3ad6 100644
|
||||
--- a/dlls/user32/tests/msg.c
|
||||
+++ b/dlls/user32/tests/msg.c
|
||||
@@ -5571,7 +5571,7 @@ static void test_messages(void)
|
||||
@@ -5572,7 +5572,7 @@ static void test_messages(void)
|
||||
|
||||
ShowWindow(hwnd, SW_MINIMIZE);
|
||||
flush_events();
|
||||
@ -47,29 +47,10 @@ index 9164f57fdc2..01cb214acdf 100644
|
||||
|
||||
if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MINIMIZE)
|
||||
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
|
||||
index fff732097ba..cbc6cfd6b0d 100644
|
||||
index 08eded198a3..9ed6dc01a1e 100644
|
||||
--- a/dlls/win32u/input.c
|
||||
+++ b/dlls/win32u/input.c
|
||||
@@ -1180,6 +1180,18 @@ static HWND set_focus_window( HWND hwnd )
|
||||
return previous;
|
||||
}
|
||||
|
||||
+static UINT win_set_flags( HWND hwnd, UINT set_mask, UINT clear_mask )
|
||||
+{
|
||||
+ UINT ret;
|
||||
+ WND *ptr = get_win_ptr( hwnd );
|
||||
+
|
||||
+ if (!ptr || ptr == WND_OTHER_PROCESS || ptr == WND_DESKTOP) return 0;
|
||||
+ ret = ptr->flags;
|
||||
+ ptr->flags = (ret & ~clear_mask) | set_mask;
|
||||
+ release_win_ptr( ptr );
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/*******************************************************************
|
||||
* set_active_window
|
||||
*/
|
||||
@@ -1187,7 +1199,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1187,7 +1187,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
{
|
||||
HWND previous = get_active_window();
|
||||
BOOL ret;
|
||||
@ -78,7 +59,7 @@ index fff732097ba..cbc6cfd6b0d 100644
|
||||
CBTACTIVATESTRUCT cbt;
|
||||
|
||||
if (previous == hwnd)
|
||||
@@ -1196,16 +1208,24 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1196,16 +1196,24 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -112,7 +93,7 @@ index fff732097ba..cbc6cfd6b0d 100644
|
||||
}
|
||||
|
||||
SERVER_START_REQ( set_active_window )
|
||||
@@ -1225,7 +1245,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1225,7 +1233,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
if (send_message( hwnd, WM_QUERYNEWPALETTE, 0, 0 ) && user_callbacks)
|
||||
user_callbacks->pSendMessageTimeoutW( HWND_BROADCAST, WM_PALETTEISCHANGING, (WPARAM)hwnd, 0,
|
||||
SMTO_ABORTIFHUNG, 2000, NULL );
|
||||
@ -125,7 +106,7 @@ index fff732097ba..cbc6cfd6b0d 100644
|
||||
}
|
||||
|
||||
old_thread = previous ? get_window_thread( previous, NULL ) : 0;
|
||||
@@ -1257,7 +1281,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1257,7 +1269,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
}
|
||||
}
|
||||
|
||||
@ -134,7 +115,7 @@ index fff732097ba..cbc6cfd6b0d 100644
|
||||
{
|
||||
send_message( hwnd, WM_NCACTIVATE, hwnd == NtUserGetForegroundWindow(), (LPARAM)previous );
|
||||
send_message( hwnd, WM_ACTIVATE,
|
||||
@@ -1282,7 +1306,9 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1282,7 +1294,9 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
}
|
||||
}
|
||||
|
||||
@ -146,10 +127,10 @@ index fff732097ba..cbc6cfd6b0d 100644
|
||||
|
||||
/**********************************************************************
|
||||
diff --git a/dlls/win32u/ntuser_private.h b/dlls/win32u/ntuser_private.h
|
||||
index 6c10a3e77e1..b46f0426368 100644
|
||||
index 49fd22ca140..3b77f37e9f2 100644
|
||||
--- a/dlls/win32u/ntuser_private.h
|
||||
+++ b/dlls/win32u/ntuser_private.h
|
||||
@@ -109,6 +109,7 @@ typedef struct tagWND
|
||||
@@ -119,6 +119,7 @@ typedef struct tagWND
|
||||
#define WIN_NEEDS_SHOW_OWNEDPOPUP 0x0020 /* WM_SHOWWINDOW:SC_SHOW must be sent in the next ShowOwnedPopup call */
|
||||
#define WIN_CHILDREN_MOVED 0x0040 /* children may have moved, ignore stored positions */
|
||||
#define WIN_HAS_IME_WIN 0x0080 /* the window has been registered with imm32 */
|
||||
|
@ -1 +1 @@
|
||||
62df608d3ed84aac7ce517fd07ea13e48b49b08c
|
||||
083dea7fce4372840ac18176496a7d05dadd5ad8
|
||||
|
Loading…
Reference in New Issue
Block a user