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
Alexandre Julliard
e95d0c6849
user32: Take into account the offset between old and new parent in SetParent().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-07 12:00:17 +02:00
Alexandre Julliard
08b19c6f67
user32: Don't wait for other threads to process WM_NCDESTROY.
...
Based on a patch by Andrew Eikum.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-27 16:24:43 +02:00
Alexandre Julliard
460b4e7adf
user32: Destroy thread windows by going through the handle table.
...
This makes sure we catch child windows that may not have been deleted
yet.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-27 16:24:36 +02:00
Alexandre Julliard
3f97ba3f46
user32: Partially implement GetWindowDpiAwarenessContext().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 20:47:10 +02:00
Michael Stefaniuc
e8411d22d5
user32: Use the available ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 16:02:53 +02:00
Nikolay Sivov
9b9f97e3f6
user32: Add redirected class registration callback.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 11:41:44 +01:00
Akihiro Sagawa
8960cf3d44
user32: Add more ex-style trace messages.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 20:32:14 +01:00
Michael Müller
76f135e599
user32: Add stubs for GetWindowDisplayAffinity and SetWindowDisplayAffinity.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 10:40:44 -06:00
Nikolay Sivov
a21b16d8cb
user32: Fix names returned with GetClassName().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Nikolay Sivov
df715e5a9a
user32: Make it possible to create windows for redirected classes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 21:07:24 +01:00
Austin English
797a746fc2
user32: Add GetGestureInfo stub.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 19:35:26 +09:00
Austin English
24cea1b77b
user32: Add CloseTouchInputHandle/GetTouchInputInfo stubs.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 19:35:17 +09:00
Austin English
9d6bcf3c8c
user32: Add UnregisterTouchWindow stub.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 19:34:07 +09:00
Zebediah Figura
fe95de98b5
user32: Move internal message from EnableWindow to WIN_SetStyle().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 11:47:20 +02:00
Piotr Caban
34b108dd1d
user32: Switch to normal window drawing on SetLayeredWindowAttributes call.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:55 +02:00
Zebediah Figura
0ac74d180a
user32: Always send WM_CANCELMODE when disabling a window.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 10:20:54 +02:00
Zebediah Figura
b4fea4f2f0
user32: Don't call ReleaseCapture() in EnableWindow().
...
Killing the capture is already handled in DefWindowProc().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 10:11:55 +02:00
Piotr Caban
a878f0a02a
user32: Don't call IsChild with NULL window in EnableWindow.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:38 +01:00
Huw Davies
e883d0ec60
user32: Hardcode the GetWindowLong values for the desktop window to avoid a server round-trip.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:34 +01:00
Sebastian Lackner
994b06a97d
user32: Do not create IME window for HWND_MESSAGE windows.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:27 +09:00
Alexandre Julliard
bddab0e7f8
server: Add a release_clipboard request, and notify the owner and viewer on release.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:02:04 +09:00
Akihiro Sagawa
911d269be8
user32: Create and destroy the default IME window implicitly.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 16:45:32 +09:00
Józef Kucia
4277b055de
user32: Prevent resetting WS_MINIMIZE through SetWindowLong.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 11:57:25 +09:00
Michael Stefaniuc
07ada9a85b
user32: Use SetRect() instead of open coding it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 19:59:30 +09:00
Alexandre Julliard
fb6304119a
user32: Add helper functions to get and set the window internal flags.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-13 19:46:30 +09:00
Jacek Caban
bce9e1d2bd
user32: Make SetWindowLongW hotpatchable.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-09 12:11:44 +09:00
Alexandre Julliard
596c16cc13
user32: Post notification to the desktop window for window creation/activation.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-31 13:53:15 +09:00
Dmitry Timoshkov
e37e0f2743
user32: Avoid dereferencing NULL pointer in a trace.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 15:04:07 +09:00
Jacek Caban
3ece2ab7ee
user32: Added debug traces to SetParent.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-25 00:25:01 +09:00
Dmitry Timoshkov
b08c400fe2
user32: Call the EnumChildWindows callback using a wrapper.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-10 00:12:43 +09:00
Alexandre Julliard
e5ef460d7d
user32: Preserve the surface contents when changing the WS_EX_LAYERED bit.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-10 00:12:43 +09:00
Alexandre Julliard
2e56a912b4
user32: SetLayeredWindowAttributes is no longer a stub.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-10 00:12:39 +09:00
Sebastian Lackner
19a3f6b5cb
user32: Make sure explorer.exe process is spawned for the correct desktop.
...
If an invalid combination of winstation/desktop is active for the
current process, the handle inheritance doesn't work, and no desktop is
created.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 13:22:55 +09:00
Sebastian Lackner
6bfa3896fc
server: Check winstation visibility in server to avoid race-conditions.
...
GetDesktopWindow incorrectly assumes, that the process window station is
still the same one, which was used earlier when changing the desktop.
By moving the visibility check to wineserver we can also avoid
wineserver roundtrip for invisible desktops.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 13:18:00 +09:00
Alexandre Julliard
bbc849df8d
user32: Reduce the idle timeout before flushing surfaces to make it less noticeable.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-26 00:12:51 +09:00
Alex Henrie
5b53c0b88b
user32: Avoid double initialization.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 21:59:08 +09:00
Jactry Zeng
b007a98e1a
user32: Add driver entry point for FlashWindowEx.
...
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 23:35:26 +09:00
Jactry Zeng
f22760d210
user32: Implement semi-stub for FlashWindowEx.
...
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 22:09:56 +09:00
Nikolay Sivov
516b21f4ee
user32: Don't send WM_GETTEXT from GetWindowText() with invalid buffer length.
2015-07-28 09:52:16 +02:00
Nikolay Sivov
ee72b0fdc7
user32: Initialize buffer before sending WM_GETTEXT.
2015-07-28 09:52:13 +02:00
Alexandre Julliard
25d9fc3ecc
server: Check for the current owner window on the server side for releases.
2015-06-03 19:29:49 +09:00
Alex Henrie
5c48752784
user32: Fall back to downscaling the big icon for ICON_SMALL2.
2015-05-14 18:57:26 +09:00
Jacek Caban
da72de967b
user32: Allow making window visible by WM_SETREDRAW message.
2015-03-13 21:53:19 +09:00
Sebastian Lackner
d5ba7451a3
user32: Avoid sending window messages in FindWindowExW.
2014-11-18 22:10:38 +09:00
Hugh McMaster
0fa8ae7b52
user32: Fix spelling in a comment.
2014-09-15 18:25:49 +02:00
Austin English
6458aca761
user32: Add a stub for RegisterTouchWindow.
2014-05-14 11:25:48 +02:00
Stefan Dösinger
ece57889d6
user32: Make SetWindowTextA/W hookable.
2014-03-03 17:46:50 +01:00
Piotr Caban
367577c0d6
user32: Check WS_CHILD style in IsChild function.
2014-02-27 09:51:50 -06:00
Frédéric Delanoy
e7c5c9ae9b
user32: Use BOOL type where appropriate.
2014-02-20 11:18:37 +01:00
Alexandre Julliard
b4b817b907
user32: Only wait for the desktop process when necessary.
2014-01-30 21:49:32 +01:00
Alexandre Julliard
6bf64f0ac2
user32: Fail creation of the desktop window earlier on when it already exists.
2014-01-28 12:51:59 +01:00
Frédéric Delanoy
77ee42fd33
user32: Use BOOL type where appropriate.
2013-11-05 11:15:06 +01:00
Alexandre Julliard
c25c019883
user32: Automatically load comctl32 when one of its classes is requested.
2013-10-28 18:41:04 +01:00
Alexandre Julliard
fe441a0682
user32: Register classes once the graphics driver has been loaded, except for the desktop class.
2013-10-24 19:01:54 +02:00
Alexandre Julliard
7370a56543
user32: Delay registration of the builtin classes until the first window is created.
2013-10-16 17:22:19 +02:00
Qian Hong
26683adf36
user32: Make CreateWindowExA and CreateWindowExW hotpatchable.
2013-05-24 11:06:03 +02:00
Alexandre Julliard
b7bf7f01b3
user32: Avoid releasing a potentially null pointer.
2013-02-11 11:46:13 +01:00
Dmitry Timoshkov
e27801e93b
user32: Make sure that window's normal_rect is initialized at window creation time.
2012-10-15 13:31:09 +02:00
Alexandre Julliard
cc7bf355c5
user32: Add support for setting the window surface visible region.
2012-10-09 15:22:56 +02:00
Alexandre Julliard
cf799f5852
user32: Store the pixel format in the window structure.
2012-10-09 09:51:29 +02:00
Alexandre Julliard
6eea257fd1
user32: Add a helper function to update the window visible state.
2012-10-09 09:48:11 +02:00
Alexandre Julliard
b9c847a426
user32: Don't use SWP_SHOWWINDOW when the WS_VISIBLE style was already toggled manually.
2012-10-09 09:45:09 +02:00
Alexandre Julliard
e41a482890
user32: Add a Wine-specific entry point to set the pixel format of a window.
2012-10-03 23:08:22 +02:00
Alexandre Julliard
b30e84d580
user32: Don't redraw anything when WS_VISIBLE is toggled manually.
2012-10-02 19:52:44 +02:00
Alexandre Julliard
24eee97d21
user32: Add a driver entry point for UpdateLayeredWindow.
2012-10-01 13:20:20 +02:00
Alexandre Julliard
61f9789c31
user32: Also call set_window_pos when the WS_EX_LAYERED bit is changed.
2012-10-01 13:17:40 +02:00
Alexandre Julliard
1d78f43000
user32: Call the SetWindowStyle driver entry point before updating the window position.
2012-10-01 13:12:29 +02:00
Alexandre Julliard
72337011db
user32: Create a dummy window surface for windows that shouldn't be painted to.
2012-10-01 13:08:51 +02:00
Alexandre Julliard
53e4e504b9
user32: Add tests for UpdateLayeredWindowIndirect and fix the behavior of the ULW_EX_NORESIZE flag.
2012-09-27 17:45:43 +02:00
Alexandre Julliard
9f29dcdc2e
user32: Don't send messages on position changes in UpdateLayeredWindow.
2012-09-13 13:50:15 +02:00
Alexandre Julliard
7304445a7e
user32: Maintain a list of active window surfaces and flush them periodically.
2012-09-06 12:38:13 +02:00