Hermès Bélusca-Maïto
69f905081c
[WIN32SS:NTUSER] Move the keyboard layout debugging code to a separate dump function.
...
And fix its obvious bugs, e.g. not checking for possible NULL pointers
for the optional keyboard layout sub-tables...
2021-09-19 00:18:04 +02:00
Katayama Hirofumi MZ
df6fff78bb
[IMM32] Rewrite ImmAssociateContextEx ( #3961 )
...
- Rewrite ImmAssociateContextEx function.
- Modify NtUserAssociateInputContext prototype.
CORE-11700
2021-09-16 19:29:49 +09:00
Hermès Bélusca-Maïto
9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93
.
...
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Doug Lyons
3bf7e3ac13
[NTUSER] Improve Themed Scrollbars by Minimizing Updates ( #3953 )
...
This fixes regressions CORE-17754 and CORE-17755 which regressed by
0.4.15-dev-3086-g 236649c626
2021-09-12 22:54:46 +02:00
Hermès Bélusca-Maïto
4cbc61fd02
[WIN32SS:NTUSER][USER32] NtUserProcessConnect() should return pointers in user client-space. ( #3937 )
...
- Do the kernel/server --> user/client-space pointers conversion within
NtUserProcessConnect(), instead of having the callers of this function
doing this job.
This makes the behaviour Windows-compatible.
NOTE: the gHandleEntries pointer is ReactOS-specific!
- Drop the g_ulSharedDelta global, just use instead gSharedInfo.ulSharedDelta.
- Add extra documentation aspects for NtUserProcessConnect() that are
not yet implemented in ReactOS.
2021-09-09 16:15:12 +02:00
Doug Lyons
236649c626
[UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling ( #3868 )
...
Based on a patch by I_Kill_Bugs.
2021-09-03 22:34:26 +03:00
Katayama Hirofumi MZ
10c9aa067f
[NTUSER] Improve NtUserQueryWindow ( #3915 )
...
- Improve NtUserQueryWindow function.
- Add IMC structure.
- Modify THREADINFO structure.
CORE-11700
2021-08-21 07:31:10 +09:00
Katayama Hirofumi MZ
f4bc74edc3
[IMM32] ImmGenerateMessage and ImmTranslateMessage ( #3914 )
...
- Rewrite `ImmGenerateMessage` and `ImmTranslateMessage` functions.
- Rename `INPUTCONTEXTDX.bHasVKey` as `bNeedsTrans`.
- Move `TRANSMSG` structure into `ntuser.h`.
- Add `TRANSMSGLIST` structure into `ntuser.h`.
- Add `UNDETERMINESTRUCT` structure to `ddk/imm.h`.
- Modify `NtUserGetAppImeLevel` prototype.
CORE-11700
2021-08-18 08:42:12 +09:00
Jérôme Gardou
c4801ab696
[WIN32K] Do not release twice the lock on error path
2021-08-06 15:18:21 +02:00
Jérôme Gardou
0bc00267df
[WIN32K] Init User part after GDI one.
...
But Initialize user lock first thing to avoid hitting newly introduced ASSERTS
This partly reverts commit 515d83a883
.
2021-08-06 10:15:02 +02:00
Katayama Hirofumi MZ
692a30a84a
[IMM32] ImmCreateContext, ImmDestroyContext, DllMain etc. ( #3867 )
...
- Rewrite ImmCreateContext, ImmDestroyContext, and DllMain functions.
- Add g_hImm32Inst, g_bClientRegd, and g_SharedInfo global variables. Delete g_dwImm32Flags (that was g_psi->dwSRVIFlags).
- Implement ImmLoadIME and ImmRegisterClient functions.
- Modify CLIENTIMC and IMEDPI structures. Move CLIENTIMC definition into ntuser.h.
- Add file win32ss/include/imetable.h.
- Rename SRVINFO_METRICS macro as SRVINFO_CICERO_ENABLED.
CORE-11700
2021-08-04 09:41:59 +09:00
Jérôme Gardou
bd6fb80867
[WIN32K:NTUSER] In debug builds, enable free & tail checking when creating heaps
...
Actually catches bugs
2021-08-03 23:13:19 +02:00
Jérôme Gardou
b783b16cef
[WIN32K:USER] Fix potential use after free when painting child windows
2021-08-03 23:13:19 +02:00
Jérôme Gardou
d958dc9bc2
[WIN32K:NTUSER] Assert global user lock is held exclusively when using global & desktop heaps
...
They're explicitly not serialized because we count on this.
2021-08-03 23:13:19 +02:00
Jérôme Gardou
8c098ee8d2
[WIN32K:NTUSER] Make sure to hold User Global Lock before unmapping desktop heap
2021-08-03 23:13:19 +02:00
Jérôme Gardou
6ec0420dc6
[WIN32K:NTUSER] Allocate & free timers under global user lock
2021-08-03 23:13:19 +02:00
Jérôme Gardou
515d83a883
[WIN32K] On init, start by initializing NtUser stuff
...
Allocate gpsi (Global Server Info) after initializing & grabbing Userlock
2021-08-03 23:13:19 +02:00
Katayama Hirofumi MZ
89cb8a38b3
[IMM32] Rewrite ImmEnumInputContext ( #3859 )
...
- Rewrite ImmEnumInputContext function.
- Modify NtUserBuildHimcList.
CORE-11700
2021-07-31 15:45:07 +09:00
Timo Kreuzer
204626f793
[WIN32K] Fix uninitialized variable
2021-07-27 14:44:14 +02:00
Katayama Hirofumi MZ
ecb0c0963d
[IMM32] Imm(Lock|Unlock)ImeDpi and ImmSetOpenStatus ( #3830 )
...
- Add IMEDPI structure to ntuser.h.
- Implement ImmLockImeDpi/ImmUnlockImeDpi functions.
- Rewrite ImmSetOpenStatus function.
- Modify some NTUSER function prototypes.
- Modify imm32.spec.
CORE-11700
2021-07-25 11:57:57 +09:00
Timo Kreuzer
77e891b8ab
[WIN32K] Check if a graphics device already exists before trying to add it
...
This avoids DPRINTs alleging a failure to open a device.
Also improve another DPRINT.
2021-07-15 08:32:46 +02:00
Katayama Hirofumi MZ
92393a7517
[IMM32] Add some candidate handlings ( #3799 )
...
- Implement ImmGetCandidateListA and ImmGetCandidateListW, by using newly added ImmGetCandidateListAW function.
- Implement ImmLockClientImc and ImmUnlockClientImc functions.
- Modify imm32.spec.
- Remove #ifdef's.
CORE-11700
2021-07-11 09:48:15 +09:00
Hervé Poussineau
0f6b9664cd
[WIN32K] HACK: create a DC on all display devices and display wallpaper
2021-07-10 16:27:44 +02:00
Hervé Poussineau
6739fb1bc3
[WIN32K] Move detection of available display devices a new fonction EngpUpdateGraphicsDeviceList
...
- rewrite InitVideo() to call this new function
- also call it at the start of UserEnumDisplayDevices, to detect new potential devices
2021-07-10 16:27:44 +02:00
Jérôme Gardou
813d9cd2cc
[WIN32K:NTUSER] Do not pass NULL keyboard layout to IntToUnicodeEx
...
There's an ASSERT on that
2021-06-29 11:49:20 +02:00
Katayama Hirofumi MZ
59d4c11203
[WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window ( #3700 )
...
- user32!ShowWindow.SW_MINIMIZE should show the window.
- Fix the return value of ShowWindow function on invalid parameter.
CORE-15669
2021-06-01 11:11:23 +09:00
Katayama Hirofumi MZ
32b0cf6fc6
[WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition ( #3697 )
...
Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669
2021-05-31 13:08:06 +09:00
Timo Kreuzer
d07203ecb7
[WIN32K][USER32] Change mechanism for storing dialog info pointer
...
DLGWINDOWEXTRA is 30 (both on win32 and win64). This has storage for the following entries: DWLP_MSGRESULT (0), DWLP_DLGPROC (8), DWLP_USER (16)
We used to store the dialog info pointer using SetWindowLongPtr (DWLP_ROS_DIALOGINFO == DWLP_USER+sizeof(ULONG_PTR) == 24), which was fine on win32, but failed on win64, since there wasn't enough space left (24 + 8 = 32 > 30).
Rewrite the way the DLGINFO pointer is stored, by adding an additional field to the WND structure and set it using NtUserxSetDialogPointer (which is what it is for).
Also fix too small cbWndExtra for the button class.
2021-05-28 08:26:36 +02:00
Jérôme Gardou
3adf450867
[REACTOS] Addendum to 5c7ce4475e
- Fix MSVC 2015 build
...
Put data into PAGEDATA or INITDATA sections
Keep section declaration for prototypes
CORE-17540
2021-05-12 11:04:29 +02:00
George Bișoc
ffea5152e6
[WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
...
Thanks goes to I_Kill_Bugs for the patch (and partly to Kyle Katarn for the PR) and Hermes for tweaking the patch code. Had to make a commit myself as the PR author's account is deleted.
Signed-off by: I_Kill_Bugs (original patch author)
Signed-off by: Kyle Katarn <contact@kcsoftwares.com>
Signed-off by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-04-25 15:56:39 +02:00
Victor Perevertkin
46ca069e42
[XDK] Remove UNREFERENCE_LOCAL_VARIABLE macro
...
Change UNREFERENCED_PARAMETER to (VOID)P to support const parameters
2021-01-19 00:15:02 +03:00
Dmitry Borisov
bc90cbbb88
[WIN32K:NTUSER] Fix gradient caption bars with low color depth ( #3338 )
...
This fixes a problem when the window title bar is dithered down
to the 16- or 256-color palette. See also commit 0705f30
.
2020-12-20 23:12:30 +03:00
Joachim Henze
449a341786
[WIN32SS] Trim EOL white-space
...
Addendum to 0.4.15-dev-1457-g 870aa1254f
2020-12-19 17:51:37 +01:00
Joachim Henze
870aa1254f
[WIN32SS] Fix BSOD 0x1E nullptr deref via Git-bash CORE-16586
...
Thanks to the patches author Doug Lyons!
2020-12-19 17:47:33 +01:00
Victor Perevertkin
5c7ce4475e
[REACTOS] Cleanup INIT and some PAGE section allocations
...
- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore
2020-11-02 21:45:31 +03:00
Doug Lyons
8081ba9332
[WIN32SS] Repaint the whole window frame on some style bits set ( #3199 )
...
This fixes the ReactOS Calculator buttons disappearing in CORE-16827
2020-10-24 22:35:45 +03:00
Katayama Hirofumi MZ
58b0558f94
[NTUSER] Fix Shell Hook HSHELL_WINDOWCREATED ( #3294 )
...
Fix Shell Hook and reduce failures of shell32_apitest ShellHook testcase. Fix the condition of notifying shell hook HSHELL_WINDOWCREATED in ntuser/winpos.c. CORE-17330
2020-10-13 16:37:52 +09:00
Kyle Katarn
9f428f5522
[NTUSER] Demote ERR to TRACE, also some minor corrections ( #3132 )
2020-09-05 17:59:10 +03:00
Katayama Hirofumi MZ
dce62240f1
[NTUSER] Improve SPI_SETWORKAREA setting ( #3061 )
...
CORE-12018, CORE-7237
2020-08-20 11:31:57 +09:00
Katayama Hirofumi MZ
81f28d454a
[NTUSER] Set ERROR_INVALID_WINDOW_HANDLE when PostMessage failed ( #3059 )
...
Set the last error code ERROR_INVALID_WINDOW_HANDLE when user32!PostMessage failed with destroyed window.
CORE-12124
2020-08-18 05:32:44 +09:00
Katayama Hirofumi MZ
4b038ec8b7
[IMM32][NTUSER] Add ImmGetImeInfoEx ( #3035 )
...
- Add the definition of imm32!ImmGetImeInfoEx function.
- Add IMEINFOEXCLASS and IS_IME_HKL into "ntuser.h".
- Modify NtUserGetImeInfoEx function prototype.
CORE-11700
2020-08-12 06:03:29 +09:00
Katayama Hirofumi MZ
047da7e632
[NTUSER] Add more QUERY_WINDOW_* values ( #3034 )
...
Add QUERY_WINDOW_* constant values for NtUserQueryWindow funciton. CORE-11700
2020-08-12 06:01:22 +09:00
Katayama Hirofumi MZ
ec9d277d59
[IMM32][NTUSER] Implement ImmGetHotKey ( #3025 )
...
CORE-11700
- Implement imm32!ImmGetHotKey function.
- Modify NtUserGetImeHotKey function.
- Add LPHKL typedef into <imm.h> header.
2020-08-09 22:41:11 +09:00
Nguyen Trung Khanh
ff50b0db2e
[NTUSER] Fix stack memory disclosure in NtUserBuildPropList ( #3023 )
...
Fix structure alignment cause to stack memory disclosure in NtUserBuildPropList.
2020-08-08 14:05:22 +09:00
Jose Carlos Jesus
62e52c7237
[USER32][NTUSER] Fix wrong return from LB_GETLISTBOXINFO ( #2168 )
...
And is now consistent with comctl32 and Wine too...
2020-07-04 15:11:10 +02:00
Nguyen Trung Khanh
a279b1d2c6
[WIN32K:NTUSER] Zero allocated memory in IntCbAllocateMemory.
...
This avoids disclosing pool contents to user mode when not all members
of the respective structure are initialized or when there is padding.
In co_IntCallWindowProc, also zero the stack buffer since this can
be passed to user mode as well, and contains padding.
2020-06-24 09:15:27 +02:00
James Tabor
f6d2b34ad0
[NtUser] Fix MSVC_x64 Build
...
Attempt to fix.
2020-06-18 11:55:13 -05:00
James Tabor
06e01c8968
[NtUser] Fix Crash in Win32k
...
Use strict thread and desktop verifying. See CORE-15092 and CORE-17133.
2020-06-18 11:06:31 -05:00
Serge Gautherie
938df97b54
[WIN32K:NTUSER] NC_IconForWindow(): Remove redundant if() ( #2842 )
...
No impact.
Detected by Cppcheck: identicalInnerCondition.
Addendum to 98060c28c8
(r60622).
2020-05-26 20:25:39 +02:00
Mark Jansen
dd8f30f879
[WIN32K] Allocate a buffer for a classname that is too long
2020-04-27 12:54:10 +02:00