Jacek Caban
f139b06651
server: Store all 64 bits of window id.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:15:04 +01:00
Jacek Caban
6366694d2b
user32: Destroy window server objects from destroy_thread_windows.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:11:20 +01:00
Jacek Caban
72ec1c18a0
user32: Use a single lock in destroy_thread_windows.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:11:14 +01:00
Jacek Caban
82572350cd
server: Don't allow orphaned windows in set_parent request.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Jacek Caban
078bcc066c
server: Don't immediately destroy child windows belonging to different thread in free_window_handle.
...
Notify their thread instead.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Eric Pouech
10e0867f86
user32: Use correct integral type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 13:46:34 +01:00
Dmitry Timoshkov
ecd1c66476
user32: Add exception handler to GetWindowText.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:51 +01:00
Jacek Caban
0487c826fb
user32: Move register_builtin_classes call to GetDesktopWindow.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:39 +01:00
Jacek Caban
d99f61dd9a
win32u: Move NtUserGetKeyState implementation from user32.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 17:44:42 +01:00
Jacek Caban
e8dac807aa
win32u: Move NtUserGetClipboardOwner implementation from user32.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 12:07:44 +01:00
Jacek Caban
d1290b6ec7
user32: Introduce user_driver_funcs struct.
...
And use it instead of USER_DRIVER.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 18:39:48 +01:00
Jacek Caban
89530400a0
win32u: Move NtUserGetLayeredWindowAttributes implementation from user32.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 17:32:06 +01:00
Dmitry Timoshkov
ababea0fd7
user32: DragDetect() should enter its message loop only if the left mouse button is pressed.
...
There's an application that calls DragDetect() on every WM_MOUSEMOVE
message, and this breaks handling of mouse events. A simple test app
shows that on Windows DragDetect() starts its message loop when left
mouse button is pressed.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 23:05:47 +02:00
Zhiyi Zhang
8892b79118
user32: Change the position and size of layered windows before flushing their surfaces.
...
When UpdateLayeredWindow() is called to paint a window and update its
size, USER_Driver->pUpdateLayeredWindow() needs to be called after the
window position and size are updated. Otherwise, UpdateLayeredWindow()
may flush the painted content to a smaller window and then enlarge it,
losing the painted result.
Fix Word 2016 window frame corruption after restoring from maximized state.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-20 11:23:23 +02:00
Jacek Caban
915fb5681e
win32u: Move NtUserGetThreadDesktop implementation from user32.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 21:57:12 +02:00
Piotr Caban
fd60414fce
user32: Fix window style while CBT_CREATEWND hook is called.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:12 +02:00
Piotr Caban
1b6f8a1adb
user32: Fix style passed to HCBT_CREATEWND hook.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:12 +02:00
Piotr Caban
a9eee150ad
user32: Update exstyle when setting style in SetWindowLong.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:12 +02:00
Piotr Caban
94c1a67f78
user32: Add helper for setting WS_EX_WINDOWEDGE flag.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Piotr Caban
3979f4a4e4
user32: Simplify CreateWindow condition for setting WS_EX_WINDOWEDGE style.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Zebediah Figura
0da35c26a1
user32: Implement InternalGetWindowIcon().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47915
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Rémi Bernon
454712a94d
user32: Add a default WindowPosChanging implementation.
...
Which creates an off-screen window surface for top-level non-layered or
SLWA-layered windows.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 21:48:57 +02:00
Zhiyi Zhang
9b2f59cb94
user32: Use get_primary_monitor_rect() helper.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Rémi Bernon
b16f552e19
gdi32: Use explicit CDECL in window_surface_funcs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 11:30:00 +02:00
Alexandre Julliard
5ad25c293b
user32: Use wide character string literals.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:09:59 +02:00
Alexandre Julliard
9cc9236556
user32: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 15:15:38 +02:00
Matteo Bruni
f0e9cf1145
user32: Make sure update_window_state() is always executed on the owner thread.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:54:35 +02:00
Brendan Shanks
c8dbb0c4c1
user32: Fix behavior of GetWindowInfo(0, NULL).
...
Windows doesn't do a NULL check on the WINDOWINFO pointer.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:34:18 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Francois Gouget
1631f69022
user32: Make WIN_SetOwner() static.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 08:20:31 -05:00
Nikolay Sivov
c2f4e2b338
user32: Make GetWindowLong() fail for some values on 64-bit.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Nikolay Sivov
d00ed8e7b9
user32: Do not touch some of the values on 64-bit with SetWindowLong().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Zebediah Figura
8dade1bc86
user32: Get rid of icon titles.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Alexandre Julliard
7507541a5b
user32: Fix wraparound check to avoid gcc optimization.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:17:41 +01:00
Alex Henrie
67a33fce6f
user32: Add stub for SetWindowCompositionAttribute.
...
Based on a patch by Louis Lenders.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44787
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 09:34:56 +02:00
Nikolay Sivov
78236592df
user32: When registering redirected class use correct base class name.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45689
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 10:57:39 +02:00
Alexandre Julliard
56b05ded78
user32: Switch to the window DPI awareness in update_window_state().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard
3bf279e7da
user32: Switch to the window DPI awareness in SetParent().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard
c5a6925676
user32: Scale coordinates in WIN_GetRectangles() based on DPI awareness.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard
110443acef
user32: Scale initial window dimensions in CreateWindow() based on DPI awareness.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:13:25 +02:00
Michael Stefaniuc
b2fc591748
user32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:02 +02:00
Alexandre Julliard
898f4b6c6a
user32: Take DPI awareness into account in GetDpiForMonitorInternal().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Zhiyi Zhang
bfe6826a16
user32: Return FALSE for invalid handle in IsWindowEnabled().
...
GetWindowLong() returns 0 if passed an invalid window handle,
causing IsWindowEnabled() to incorrectly report TRUE.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard
1373e00400
user32: Return the full MINMAXINFO data from WINPOS_GetMinMaxInfo().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 10:38:46 +02:00
Alexandre Julliard
52be6f0ecc
user32: Rename rectWindow to window_rect for consistency.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 17:03:16 +02:00
Alexandre Julliard
0a75a1b62b
user32: Rename rectClient to client_rect for consistency.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 17:00:38 +02:00
Alexandre Julliard
51e8d579bb
user32: Don't send cross-process message for GetWindowTextLength().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-22 21:58:02 +02:00
Alexandre Julliard
f7b5b8975c
user32: Store the window DPI in the server.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-17 14:10:23 +02:00
Alexandre Julliard
8a70b70f42
user32: Update the window DPI awareness in SetParent().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 16:27:57 +02:00
Alexandre Julliard
433788736b
user32: Store the window DPI awareness in the server.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 16:27:36 +02:00