Commit graph

349 commits

Author SHA1 Message Date
Jacek Caban 4467589a4a win32u: Introduce NtUserSendDriverMessage.
And use it in display drivers.
2022-09-20 20:52:56 +02:00
Jacek Caban 3ba583fde8 win32u: Introduce NtUserActivateOtherWindow.
And use it instead of WINPOS_ActivateOtherWindow.
2022-08-27 16:53:30 +02:00
Jacek Caban 803a5f0789 win32u: Move NtUserPerMonitorDPIPhysicalToLogicalPoint implementation from user32. 2022-08-27 16:53:28 +02:00
Jacek Caban 352e24dcdf win32u: Move NtUserLogicalToPerMonitorDPIPhysicalPoint implementation from user32. 2022-08-27 16:53:27 +02:00
Jacek Caban 577fbb0ff1 user32: Move dialog proc getting implementation from win32u. 2022-08-18 21:42:26 +02:00
Jacek Caban 6d8b1887a5 wow64win: Implement more user callbacks. 2022-08-16 22:27:53 +02:00
Jacek Caban caad167278 win32u: Use a client copy of windows hook lparam when calling hook procs.
Instead of leaking kernel pointers.
2022-08-16 22:27:53 +02:00
Jacek Caban 439cdf4901 win32u: Move more logic from dispatch_win_proc_params. 2022-08-15 18:15:19 +02:00
Jacek Caban 40dbc84913 win32u: Use NtUserCallMessage for passing packed winproc result. 2022-08-12 22:12:32 +02:00
Jacek Caban 701932a6ce wow64win: Add initial user callbacks support. 2022-08-11 16:50:55 +02:00
Jacek Caban 2c75490c3e win32u: Use NtUserMessageCall for NtUserSpyGetMsgName.
Instead of leaking a kernel pointer.
2022-08-09 15:55:44 +02:00
Jacek Caban 8bb71922a5 win32u: Store thread info in 64-bit TEB on wow64. 2022-08-09 15:55:44 +02:00
Jacek Caban 1e9390e558 win32u: Use platform-independent layout for ntuser_thread_info. 2022-08-09 15:55:43 +02:00
Jacek Caban 1e640b5e7f user32: Don't include ntuser_private.h. 2022-08-08 18:47:45 +02:00
Jacek Caban eb317d9d8c win32u: Store receive_flags in ntuser_thread_info. 2022-08-08 18:47:45 +02:00
Jacek Caban ca903a4a16 win32u: Move msg_source and recursion_count to ntuser_thread_info. 2022-08-08 18:47:45 +02:00
Jacek Caban da2c400edc win32u: Store wmchar_data in ntuser_thread_info. 2022-08-08 18:47:44 +02:00
Jacek Caban f390b5b884 win32u: Store DPI awareness in ntuser_thread_info. 2022-08-08 18:47:44 +02:00
Jacek Caban ed693f5b32 win32u: Move builtin classes registration from user32. 2022-08-08 18:47:44 +02:00
Jacek Caban 929694c66d user32: Remove USER_CheckNotLock.
It's no longer interesting. Its remaining callers are not used by locked code, which is restricted to win32u.
2022-08-05 20:13:33 +02:00
Jacek Caban 421fb1c804 win32u: Introduce NtUserGetChildRect.
And use it in CalcChildScroll.
2022-08-05 20:13:33 +02:00
Jacek Caban c0b62eb5ae user32: Use win32u to get and set MDI client info. 2022-08-05 20:13:33 +02:00
Jacek Caban 224a8fc24e win32u: Introduce NtUserGetWindowSysSubMenu.
And use it for MDI client implementation.
2022-08-05 20:13:33 +02:00
Jacek Caban fa7aaca9f1 win32u: Remove no longer needed exports. 2022-07-28 17:34:03 +02:00
Jacek Caban 3dc3709f4c win32u: Introduce NtUserGetDialogProc.
And use it in user32 instead of DEFDLG_GetDlgProc.
2022-07-28 17:34:03 +02:00
Jacek Caban 1cd5702d9f win32u: Introduce NtUserGetDialogInfo and NtUserSetDialogInfo.
And use it instead of accessing window object from user32.
2022-07-28 17:34:03 +02:00
Jacek Caban 11657aab27 user32: Avoid using WIN_GetPtr for window handle validation.
We will eventually want to make GetWindowThreadProcessId fast (probably based on shared handle table) instead of calling win32u.
2022-07-28 17:34:03 +02:00
Jacek Caban 88462d9127 win32u: Get rid of no longer needed NtUserSetCallbacks. 2022-07-21 23:03:29 +02:00
Jacek Caban 2ef6a6eee6 win32u: Remove no longer needed NtUserDispatchMessageA. 2022-07-21 23:03:29 +02:00
Jacek Caban 26a4fb74ee user32: Avoid using NtUserDispatchMessage in DispatchMessage.
When possible, call window proc on PE side to allow unwinding exceptions through DispatchMessageW call.
2022-07-21 23:03:29 +02:00
Jacek Caban d3c57dec71 win32u: Use KeUserModeCallback interface for DDE message callbacks. 2022-07-12 22:51:29 +02:00
Jacek Caban 0826fbbb74 win32u: Use KeUserModeCallback for ImmProcessKey and ImmTranslateMessage calls. 2022-07-12 22:51:29 +02:00
Jacek Caban 047d74c4b1 win32u: Move default IME window management from imm32. 2022-07-12 22:51:29 +02:00
Jacek Caban f5b3283e24 win32u: Move window input context handling from imm32. 2022-07-12 22:51:29 +02:00
Jacek Caban 3e8a4b671d imm32: Store message spy pointer in TEB. 2022-07-12 22:51:29 +02:00
Jacek Caban 7babf75789 imm32: Move default IMM window proc implementation from user32. 2022-07-11 18:56:17 +02:00
Jacek Caban d9fc5b3f96 win32u: Implement input context object. 2022-07-11 18:56:16 +02:00
Jacek Caban c9c69dff7e win32u: Support undocumented SIF_RETURNPREV flag in set_scroll_info. 2022-07-05 12:34:03 +02:00
Jacek Caban 419893519c win32u: Move scroll tracking implementation from user32. 2022-07-04 20:14:02 +02:00
Jacek Caban 22cab055e4 win32u: Partially move ScrollBarWndProc implementation from user32. 2022-07-04 20:14:02 +02:00
Jacek Caban b4ba6de6e1 win32u: Move NtUserShowScrollBar implementation from user32. 2022-07-04 20:14:02 +02:00
Zebediah Figura 0a93089019 win32u: Move raw input device list management from user32. 2022-06-30 10:54:17 +02:00
Zebediah Figura cbbab65571 win32u: Move NtUserGetRegisteredRawInputDevices from user32. 2022-06-30 10:54:16 +02:00
Zebediah Figura 0ce4ed675f win32u: Move NtUserRegisterRawInputDevices from user32. 2022-06-30 10:54:12 +02:00
Jacek Caban e411b98155 win32u: Move NtUserGetSystemMenu implementation from user32. 2022-06-27 22:58:21 +02:00
Jacek Caban 2bd0c87278 win32u: Move GetMenuDefaultItem implementation from user32. 2022-06-27 22:58:21 +02:00
Jacek Caban 313f75a0af user32: Use NtUserThunkedMenuItemInfo for GetSubMenu implementation. 2022-06-24 22:38:47 +02:00
Jacek Caban d7dba1ed74 win32u: Move CheckMenuRadioItem implementation from user32. 2022-06-24 22:38:47 +02:00
Jacek Caban 9f267c2258 win32u: Move GetMenuItemID implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-21 18:53:18 +02:00
Jacek Caban 7099c8d7e8 win32u: Move get_menu_item_info implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-21 18:53:18 +02:00
Jacek Caban 3ec9c2990b win32u: Move WM_APPCOMMAND implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-20 20:54:41 +02:00
Zebediah Figura 591fd06b6c win32u: Move NtUserGetRawInputBuffer from user32. 2022-06-17 20:37:56 +02:00
Zebediah Figura db43005cd8 win32u: Move NtUserGetRawInputData from user32. 2022-06-17 20:37:54 +02:00
Jacek Caban 86f9c8b1f6 win32u: Move NtUserGetTitleBarInfo implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-17 18:06:53 +02:00
Jacek Caban 67e39efb75 win32u: Move NtUserDrawCaptionTemp implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-17 18:06:53 +02:00
Jacek Caban b9d8a842f0 win32u: Move menu tracking implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-16 19:29:10 +02:00
Jacek Caban 76a0108c59 win32u: Use NtUserCallHwnd for NtUserSetForegroundWindow.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-15 18:32:19 +02:00
Jacek Caban 07f2cc9dda win32u: Move process default layout handling from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-15 18:32:18 +02:00
Jacek Caban 6f3ed5fd64 win32u: Move NtUserInvalidateRect and NtUserInvalidateRgn implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-15 18:32:16 +02:00
Jacek Caban 95b76f5101 win32u: Move NtUserMenuItemFromPoint implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-15 18:32:16 +02:00
Jacek Caban d4b8ca7853 win32u: Move PopupMenuWndProc implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-14 11:29:13 +02:00
Jacek Caban af00521e29 win32u: Move NtUserDrawMenuBarTemp implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-14 11:29:12 +02:00
Jacek Caban d65f2492ed win32u: Move GetDialogBaseUnits implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-13 16:37:03 +02:00
Jacek Caban 9f03d8f3e1 win32u: Move WM_NCPAINT handling from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-13 16:37:03 +02:00
Jacek Caban 61ad0b844d win32u: Move SC_SIZE and SC_MOVE handling from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-09 20:55:20 +02:00
Jacek Caban 6e2ea185c2 win32u: Move NtUserInternalGetWindowIcon implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-09 20:55:20 +02:00
Jacek Caban a8ed1c94b3 win32u: Move NtUserDragDetect implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-09 20:55:20 +02:00
Jacek Caban 540dc761fc win32u: Move SetWindowContextHelpId implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-09 20:55:20 +02:00
Jacek Caban b2db69efcf win32u: Move NtUserScrollWindowEx implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-09 20:55:20 +02:00
Jacek Caban 2a3b4c9bd7 win32u: Move NtUserLockWindowUpdate implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-08 10:50:14 +02:00
Jacek Caban 806d85529f win32u: Introduce NtUserClipboardWindowProc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-05-31 22:52:45 +02:00
Jacek Caban 336f033273 win32u: Move desktop window proc implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 20:53:35 +02:00
Jacek Caban a15df248e5 win32u: Export NtUserGetWindowPlacement.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 20:53:34 +02:00
Jacek Caban 9abd2ae8d1 win32u: Move NtUserSetInternalWindowPos implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 20:53:33 +02:00
Jacek Caban 96b2b4c078 win32u: Move NtUserSetWindowPlacement implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 20:53:31 +02:00
Jacek Caban d8c807ba98 win32u: Use KeUserModeCallback interface for CopyImage.
Its implementation doesn't seem to be exposed from win32u and it
generally fits well in user space. It will be also useful for drivers.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 18:35:12 +02:00
Jacek Caban 70d3e41d64 win32u: Move NtUserCallMsgFilter implementation from user32.
A/W conversion is not used in those cases anyway, so just use a single implementation.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 18:35:08 +02:00
Jacek Caban 040d1f9bbd winex11: Introduce x11drv_client_call.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 18:35:07 +02:00
Jacek Caban 4604c45540 win32u: Move NtUserGetSystemMenu implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 189da79a18 win32u: Move NtUserDeleteMenu implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban bad82953db win32u: Move GetMenuItemCount implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 1899cd2a9e win32u: Move GetMenuState implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 77ab51019f win32u: Move menu item info management from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban a37cae58d9 win32u: Use user mode callback for registering builtin classes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 22:21:04 +02:00
Jacek Caban 286471a307 win32u: Introduce data-only mode in NtUserGetClipboardData.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 22:21:04 +02:00
Zebediah Figura b8732c80b1 win32u: Move caret APIs from user32.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 22:21:04 +02:00
Zebediah Figura 5ce53f95cf win32u: Move NtUserTrackMouseEvent() implementation from user32.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 22:21:04 +02:00
Jacek Caban eba0a51002 win32u: Move clipboard data management 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>
2022-04-25 20:34:47 +02:00
Jacek Caban cad4adedaa win32u: Add more clipboard stubs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:34:44 +02:00
Jacek Caban ea9fb81c09 win32u: Move EnumClipboardFormats 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>
2022-04-22 21:42:20 +02:00
Jacek Caban 357d8654c9 win32u: Move NtUserChangeClipboardChain 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>
2022-04-22 21:42:20 +02:00
Jacek Caban c38e287bef win32u: Move NtUserSetClipboardViewer 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>
2022-04-22 21:42:20 +02:00
Jacek Caban 172ae86945 win32u: Move NtUserSetMenuDefaultItem 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>
2022-04-22 21:42:20 +02:00
Jacek Caban 99b94fcc74 win32u: Move NtUserThunkedMenuInfo 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>
2022-04-22 21:42:20 +02:00
Zebediah Figura 5e4dedff8e win32u: Remove the "proc" parameter to NtUserSetSystemTimer().
Testing on 32-bit Windows 10 suggests that the function only has three
parameters. The test fixed in this patch (which still succeeds on e.g. Windows
2003) suggests that the final parameter to SetSystemTimer() is not a callback,
either.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:41:22 +02:00
Jacek Caban ee405dd8b8 win32u: Move is_window_rect_full_screen implementation from winex11.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-20 17:31:18 +02:00
Jacek Caban 782220626f win32u: Move GetMenuInfo 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>
2022-04-20 17:31:15 +02:00
Jacek Caban 9015ae5978 win32u: Move NtUserSetMenu implemenetation 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>
2022-04-20 17:31:08 +02:00
Jacek Caban 19a2af2767 win32u: Move NtUserGetMenuItemRect 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>
2022-04-20 17:31:03 +02:00
Jacek Caban d275253f5d win32u: Move NtUserSetMenuContextHelpId 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>
2022-04-20 17:30:58 +02:00