* [NTDLL_WINETEST] `test_query_process_debug_object_handle()`: one WINESYNC
Cherry-pick WineTest part of:
52d733b5c4
server: Implement retrieving the debug object of a process.
by: Alexandre Julliard <julliard@winehq.org>
* [NTOS:PS] Fix `NtQueryInformationProcess(ProcessDebugObjectHandle)`
Close the retrieved `DebugPort` on failure.
Addendum to commit 1e172203a (r55734).
* [NTOS:PS] Optimize `NtQueryInformationProcess(ProcessWow64Information)` on 32-bit.
No need to do the ExAcquire/ReleaseRundownProtection rigamarole since
we aren't retrieving the `Process->Wow64Process` on 32-bit builds.
Addendum to commit 1e172203a (r55734).
* [NTOS:PS] Fix `NtQueryInformationProcess(ProcessExecuteFlags)`
s/return/break/ on a failure case.
Addendum to commit 1e172203a (r55734).
* [NTOS:PS] NtQueryInformationProcess(): Optimize `*ReturnLength` assignment
Enter the SEH block only if we know we'll have to set `*ReturnLength` on return.
Addendum to commit 2278c2914 (r23175).
This feature is used to report errors when `LoadUserProfile()` fails.
It is also meant to be used by other functions in the future.
The error dialog is shown only when the `PI_NOUI` flag is _NOT_ set
in `PROFILEINFO::dwFlags`.
- Add support for retrieving USERENV-specific registry policies,
in a systematic way.
- Add support for "timed" dialogs that automatically close after
a given timeout has elapsed.
The default timeout is controlled by the `"ProfileDlgTimeOut"` policy:
https://www.visualautomation.com/comprod/secure6/profile_.htmhttps://www.infania.net/misc/kbarchive/kb/196/Q196284/index.html
- TODO for the future: report the error in the event log.
- `LoadUserProfileW()`: Reset `ret` to `FALSE` after the call to
`CreateUserProfileW()`; this allows to return failure in case
any other function calls down the line fails. (`ret` is set to
`TRUE` only when everything has succeeded.)
This PR resolves a bug of #8094. #8094
correctly validates the flags. TPM_SYSTEM_MENU is an internal flag
and not a valid flag for TrackPopupMenu.
Thus, calling TrackPopupMenu.TPM_SYSTEM_MENU
in User32DefWindowProc was wrong.
This caused failure of taskbar context
menu.
JIRA issue: CORE-20238
- Move WM_POPUPSYSTEMMENU
message handling of user32 into
win32k.sys!IntDefWindowProc.
- Use win32k.sys!IntTrackPopupMenuEx
instead of user32!TrackPopupMenu
in handling of WM_POPUPSYSTEMMENU.
* Disable most apphelp:env and some apphelp:db tests on x64 due to structure differences breaking these tests.
* Add new tag lists for Windows 8.1 and Windows 10 in apphelp:apphelp test.
* Make a few changes to accept either Windows 10 or Windows 8.1 and older behavior in apphelp:apphelp test.
* Create new shimdata structures for Windows 8 and Windows Vista.
* Add attribute size definitions for Vista, 8.1, and 10.
* Create new shim data validation functions for Vista and 8.1.
* Use local time instead of UTC time for shim db version. This fixes test failures when the day in local time and the day in UTC are different.
- Replace WH_KEYBOARD_LL hook and
handler with WH_KEYBOARD and
adapted KeyboardProc.
- Update key-state checks to use
HIWORD(lParam) flags and
GetKeyState.
Implementing missing features...
JIRA issue: CORE-19361
- Delete documentmgr.c and add
documentmgr.cpp.
- Make ITfDocumentMgr and
IEnumTfContexts C++ code.
CORE-18351 CORE-18237 CORE-17137 CORE-16567
CORE-15360 CORE-5071 CORE-3804
Reset `LogonState` back to `STATE_LOGGED_OFF` before invoking
`WlxDisplaySASNotice()` when:
- in `STATE_LOGGED_OFF_SAS` state, `HandleLogon()` failed;
- or when an attempted shutdown operation failed.
This fixes the resulting inconsistent `LogonState` that happened if
any of these operations failed due to legitimate reasons. For example,
a corrupted user profile that caused the login attempt to abort, or,
an ongoing shutdown attempt being aborted as well.
One of the user-visible effects of this inconsistency, was the inability
to access the familiar Logged-Out SAS dialog by pressing Ctrl-Alt-Del at
the invite (SAS notice) dialog, because the `LogonState` was incorrectly
left into the `STATE_LOGGED_OFF_SAS` state, instead of being reset to
`STATE_LOGGED_OFF`.
----
Typical scenario:
The "Administrator" user, who is auto-logged-in by default after the
installation, gets a corrupted ntuser.dat profile registry hive if the
2nd-stage installation is aborted at the end by force-restarting ReactOS.
After reboot, ReactOS tries to log into the account, but fails, and goes
back to the Ctrl-Alt-Del invite dialog.
Before this fix, the user couldn't go into the Logged-Out SAS dialog to
enter new login credentials and attempt login to another account.
This is now fixed.
- Locking (`WLX_SAS_ACTION_LOCK_WKSTA`) is allowed only if `LogonState`
is either `STATE_LOGGED_ON` or `STATE_LOGGED_ON_SAS`, i.e., either the
user invokes the `user32:LockWorkStation()` API or presses Win-L, or,
opens the Logged-On SAS dialog then clicks on the "Lock Workstation" button.
- Unlocking (`WLX_SAS_ACTION_UNLOCK_WKSTA`) is allowed only if
`LogonState` is either `STATE_LOCKED` or `STATE_LOCKED_SAS`,
i.e., the workstation is locked and we are either on the Locked-
notice or on the SAS dialog that asks for the user credentials.
Additionally:
- Fix the invocation order of `LockHandler`/`UnlockHandler` notifications:
* the `LockHandler` is invoked on the Winlogon desktop, just before
displaying the Locked-notice dialog;
* the `UnlockHandler` is invoked on the Winlogon desktop, just before
switching back to the user's desktop.
- If we are on the Logged-On SAS dialog and the user presses Win-L to
lock the workstation (instead of pressing the corresponding dialog
button), the `DoGenericAction(WLX_SAS_ACTION_LOCK_WKSTA)` handler is
invoked asynchronously while the SAS dialog is still being displayed.
We thus need to ensure all the existing dialogs are closed before
displaying the Locked-notice dialog, in order to avoid stray dialogs
being shown concurrently.
CORE-13478
Addendum to commit 46dcab7ab.
The `WLX_SAS_ACTION_TASKLIST` action can be invoked in three scenarii to
open the Task-Manager:
1. from the logged-on state (`LogonState == STATE_LOGGED_ON`), when the
user presses Ctrl-Shift-Esc while being on its own desktop (usual case);
2. from the Logged-On SAS dialog (`LogonState == STATE_LOGGED_ON_SAS`),
when the user presses the "Task-Manager" button: here Winlogon should
switch back to the user's desktop, restoring `STATE_LOGGED_ON` and
start the TaskMgr;
3. or when the user presses Ctrl-Shift-Esc **while being on the Logged-On
SAS dialog**: in this case, the Task-Manager is started on the
currently-hidden user's desktop (and so, will be hidden), but the SAS
dialog stays open. The user will see the opened TaskMgr once (s)he
closes the SAS dialog and Winlogon switches back to the user's desktop.
In order to support these scenarii, the `WLX_SAS_ACTION_TASKLIST` action
handling is reworked:
- `SASWindowProc(WM_HOTKEY, IDHK_CTRL_SHIFT_ESC)` always invokes the
`DoGenericAction(WLX_SAS_ACTION_TASKLIST)`: this allows centralizing
inside `DoGenericAction()` the condition checks for starting TaskMgr.
- `DoGenericAction(WLX_SAS_ACTION_TASKLIST)` just starts the Task-Manager
only if the Winlogon's `LogonState` is either `STATE_LOGGED_ON` or
`STATE_LOGGED_ON_SAS`. It doesn't attempt there to switch desktops nor
change the `LogonState` value, in order to support scenarii 2 and 3.
- The switch from/to Winlogon/user's desktops when going to the
`LogonState: STATE_LOGGED_ON -> STATE_LOGGED_ON_SAS` change is done
in `DispatchSAS()`, just before invoking the GINA's `WlxLoggedOnSAS()`
(see below for more details) and just after it returns, only in the
necessary cases.
----
[MSGINA] The WlxLoggedOnSAS() dialog shouldn't switch the desktops itself.
This behaviour can be observed on Windows with Winlogon debugging + tracing
enabled. It is Winlogon instead that does the desktop switch itself, as for
all the other SAS dialogs, in addition to changing its internal `LogonState`.
Fix for commit 7aecedf79 (r58785).
Win2K internat.exe uses this section.
WinXP and Win2k3 have this section.
JIRA issue: CORE-19268
- Add [KbdLayoutIds] section and add values to intl.inf.
- Add some missing "Layout Id" for "SYSTEM\
CurrentControlSet\Control\Keyboard Layouts" of
hivesys.inf.
Import the following Wine commits:
oleaut32: Implement LPSAFEARRAY user marshal interface marshaling.
a1f2b44a1b
oleaut32/tests: Add tests for LPSAFEARRAY user marshal interface marshaling.
b2574278f7
containing the implementation itself and a test for it.
Fixes:
1) improperly displayed comboboxes with OS type and version selection,
2) failure to save/load virtual machine settings in/from XML file
in VirtualBox 3.0.0 - 4.0.36 versions and
3) improperly displayed comboboxes in 3DMark2001.
As result, this also allows to create and start a virtual machine(s) in VirtualBox up to 3.0.8 version. For newer VirtualBox versions, another fix is required.
CORE-8418, CORE-11254, CORE-14507, CORE-17980, CORE-18496, CORE-20015
Adds support for handling fullscreen
applications (a.k.a. “rude apps”) so
the taskbar can hide or show
appropriately.
JIRA issue: CORE-11242, CORE-15681,
CORE-16056, CORE-16063, CORE-16131,
CORE-16132, CORE-16192, CORE-16196,
CORE-16249, CORE-16290, CORE-16313,
CORE-16320, CORE-16322, CORE-16347,
CORE-16584, CORE-19795, CORE-9862,
CORE-16230, CORE-10738,
and CORE-12263.
- Removes legacy pulse/timer logic in
the tray window and adds a fullscreen
notification workflow.
- Implements fullscreen detection
across monitors in the task switcher,
using a sequence of validation timers.
- Defines a new ITrayWindow::
NotifyFullScreenToAppBars interface
method to broadcast fullscreen state
to appbars.
Fix CRASH of msctf:inputprocessor tests.
JIRA issue: CORE-19361
- Implement Range_Constructor and
TF_SELECTION_to_TS_SELECTION_ACP functions.
- Adapt CRange to these changes.
The caret move on IME was slow until this PR.
JIRA issue: CORE-19268
- Don't use ImmIsIME but use IS_IME_HKL(hKL) in
EDIT_SetCaretPos function. This change improves
the caret speed.
- Prohibit display of composition window for Korean
in the handling of WM_IME_SETCONTEXT and
WM_IME_STARTCOMPOSITION, because Korean
doesn't want it.
Improve CTF IME customization.
Use the proper names for CTF IME.
JIRA issue: CORE-19268
- In the registry key "HKLM\SOFTWARE\Microsoft\
Windows NT\CurrentVersion\IMM", add
DontLoadCTFIME value and set it to 1.
- Delete LoadCTFIME value to avoid user
confusing.
- Rename UserIsCiceroEnabled function
as UserIsCTFIMEEnabled.
- Rename SRVINFO_CICERO_ENABLED
flag as SRVINFO_CTFIME_ENABLED.
Finishing IME menu work. The IME menu of the system
pen icon has to append the default items if DMI_LEFT and
RDMI_RIGHT are not specified.
JIRA issue: CORE-20142
- Add IsRegImeToolbarShown and ShowImeToolbar
helper functions.
- Add more code into KbSwitch_OnPenIconMsg function
to handle IME menu default items.
- Add some resource strings.
Validate flags.
JIRA issue: CORE-3247
- In NtUserTrackPopupMenuEx function, validate the flags.
- If validation failed, then set last error and return FALSE.
- Add SAL annotations to NtUserTrackPopupMenuEx.
- Keep reference to menu in the function.
- Add TrackPopupMenuEx testcase to user32_apitest.
This PR is just a step, but a slightly
great one for OS development history.
JIRA issue: CORE-19361
- Add IAnchor interface into textstor.idl.
- Fix ITfRangeAnchor interface (that
was wrong).
- Delete range.c.
- Add range.cpp.
- Add CRange class as stubs.
[RICHED20] Sync to Wine-10.0
Sync wine/rbtree.h to Wine-10.0 as changes in riched20 require this. Also added a define to allow directx code to compile.
Sync riched20 to Wine-10.0 and its tests using the script.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 9f72c5601173728c52626342a1ec6c9a4c70670f by Francois Gouget <fgouget@free.fr>
Update WINESYNC.txt
Update precomp.h
fix build
[WINESYNC]: riched20 is now in sync with wine-staging wine-10.0
[WINESYNC] riched20: Only call ME_SendRequestResize when control is in-place active.
Prevent GetClientRect from being called when not in-place active.
wine commit id e61db557ab8473a490c84301dbb4b4665b6c9c9f by Charlotte Pabst <cpabst@codeweavers.com>
[WINESYNC] riched20: Exit from editor_ensure_visible when control is not in-place active.
According to microsoft documentation, ScrollWindowEx, SetScrollPos and SetScrollRange may only
be called while the control is in-place active.
This fixes a segmentation fault in an application.
wine commit id dafaadcb4addd9af334433666a4bc2e7aa6eb9ff by Charlotte Pabst <cpabst@codeweavers.com>
[WINESYNC] riched20/tests: Test that ScrollWindowEx and GetClientRect are only called when control is in-place active.
wine commit id f1301cedbea51be107017bb8545956bcfd02b610 by Charlotte Pabst <cpabst@codeweavers.com>
Update editor.c
[WINESYNC] riched20: Release IME input context when done using it.
wine commit id 3f51fb96c162e8d3314627b3db25564fa7d9d419 by Zhiyi Zhang <zzhang@codeweavers.com>
[WINESYNC] riched20: In para_set_fmt protect against out of bound cTabStop values.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56730
wine commit id 7b2ff977739df25252d46552d2447af50c23040e by Fabian Maurer <dark.shadow4@web.de>
Update editor.c
[WINESYNC] riched20: Don't write past end of buffer.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
wine commit id 5cbe3a6cb186cffed20e3fea5f88abd0880d3914 by Eric Pouech <epouech@codeweavers.com>
[WINESYNC] riched20: Don't crash when no OLE obj is present.
This was generating a lot of crashes in riched20 tests.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
wine commit id 015aae30cf2217164f631d1c03abfc9ea63bb43d by Eric Pouech <epouech@codeweavers.com>
Update editor.c
[WINESYNC] riched20: Use CRT allocation functions.
wine commit id 42579f1dcd2f14e765e2f53ceb5b46fff5623f10 by Alex Henrie <alexhenrie24@gmail.com>
[WINESYNC] riched20/tests: Make the editor paste test failures more informative and unique.
Knowing the content of the edit field is more useful than knowing the
strcmp() result. The text field may contain carriage returns and
linefeeds so use wine_dbgstr_a() so they are clearly visible in the
failure message.
Also prefix the ok messages with a unique string to indicate which
test_WM_PASTE() test failed.
wine commit id b8950d04e439f649f2167477a36ee453ad8b81ef by Francois Gouget <fgouget@codeweavers.com>
[WINESYNC] riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
Today, CreateTextServices() sometimes triggers an assertion failure in
select_style().
When ME_MakeEditor() calls ME_MakeFirstParagraph(), the editor
(ME_TextEditor) is not in a fully initialized state. For example, the
font cache (pFontCache) is not fully initialized, which sometimes makes
select_style() believe that the cache slots are fully occupied.
Fix this by delaying the call to wrap_marked_paras_dc() until the editor
is fully initialized.
Also, delay the call to ITextHost::TxReleaseDC() until after
wrap_marked_paras_dc(), since we need the device context a bit longer.
Fixes: b70eb32c5f3e506181d9e1e9fbef62e9baf3674d
wine commit id 548d7179e3b2b9961321a4df50644c9b3874a295 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
This lets ME_MakeEditor() reuse the device context throughout the editor
initialization process.
wine commit id 03036f42e1afa9c79246dcee6b9fe876286b1aa4 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Don't call ME_UpdateRepaint inside set_selection().
This partially reverts c5daf6a30f21 (riched20: Call ME_UpdateRepaint
instead of editor_ensure_visible in set_selection.)
Fixes: c5daf6a30f21acd20263692b278acba49e014cc1
wine commit id ac5110131493b8b05795e8825285e41ca40ab6f1 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
wine commit id c35926e49825f7a3d48ba826085fe1ae3d2a7e27 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Wrap marked paragraphs at Text Services initialization.
Today, CreateTextServices() returns an Rich Edit object without row
start and end marks, which are expected to exist by many Rich Edit
operations as well as EM_* message handlers.
This leads to a crash when certain messages (e.g., EM_SCROLLCARET) are
sent to the Rich Edit object via ITextServices::TxSendMessage(), unless
ME_WrapMarkedParagraphs() has been called beforehand.
Fix this by calling wrap_marked_paras_dc() early in the initialization
process.
This is not a problem for windowed Rich Edit controls, which already
calls ME_WrapMarkedParagraphs() before the user or application starts
interacting with it.
wine commit id b70eb32c5f3e506181d9e1e9fbef62e9baf3674d by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Use nameless unions/structs.
wine commit id 26826d3af8b1969de389f3d6702d7c8b805126e1 by Alexandre Julliard <julliard@winehq.org>
Update editor.h
[WINESYNC] riched20: Remove DECLSPEC_HIDDEN usage.
wine commit id c04ab166498b5841ecde620a9bd0b74969b01596 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
[WINESYNC] riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
To prevent cases where ME_WrapMarkedParagraphs has not been called causing a NULL
pointer when editor_ensure_visible tries to get the row from the cursor.
wine commit id c5daf6a30f21acd20263692b278acba49e014cc1 by Santino Mazza <smazza@codeweavers.com>
[WINESYNC] riched20: Update paragraph position in marked tree.
nCharOfs is the key for paragraphs added to the marked tree
If it is updated, re-add the entry to update its position
wine commit id f1aa3f37ef326b7cbf8fc94e982c9f0b398181c4 by Daniel Lehman <dlehman25@gmail.com>
Update editor.c
[WINESYNC] riched20: Update the editor IME position on GCS_RESULTSTR.
So that a GCS_RESULTSTR followed by GCS_COMPSTR, without interruping the
composition, begins inserting the new composition text after the result
instead of before it.
wine commit id de45bc33a73eac5dbc3502b4a43cd48399507c73 by Rémi Bernon <rbernon@codeweavers.com>
[WINESYNC] riched20/tests: Fix a typo in a comment.
wine commit id 145e3c758b9594596835e291b2fcb3c80e4c0479 by Francois Gouget <fgouget@free.fr>
[WINESYNC] riched20/tests: Don't specify DT_WORDBREAK in _check_txgetnaturalsize().
Today, test_TxGetNaturalSize() creates a pop-up window with a fixed size
(extent) of 100 x 100. The test function then proceeds to compute the
natural size of rich edit control that fits the sample text
"TestSomeText" and compare it to the RECT calculated by DrawText.
Apparently, this test fails if the width of the sample text
"TestSomeText" exceeds the width of the test window's client area. In
this case, DrawText() with DT_WORDBREAK breaks the text into the two
lines due to text wrapping; however, Rich Edit's
ITextServices::TxGetNaturalSize implementation does not seem to perform
text wrapping on overflow. This results in extent mismatch.
(Note that the test may either succeed or fail depending on the current
font used for DEFAULT_GUI_FONT, which defaults to Tahoma according to
Microsoft's documentation. To reproduce this failure, it may be
necessary to switch fonts or change the width of the pop-up window.)
Fix this by omitting the DT_WORDBREAK flag for the DrawText() call in
_check_txgetnaturalsize().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54637
wine commit id f54a1dac64c89aea3fe02ae8c0d6eef43a0aa117 by Jinoh Kang <jinoh.kang.kr@gmail.com>
Update editstr.h
[WINESYNC] riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54617
wine commit id 3fe15349d39ccf31026a92eae30f83f65c91cb1f by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Don't assume that TxDraw preserves the device context's brush selection.
Today, RichEditWndProc_common assumes that ITextServices::TxDraw
preserves the brush selection of the given device context. However,
this invariant may be broken by misbehaving embedded OLE objects in the
text document.
Fix this by not assuming that the return value of the second
SelectObject() call equals the brush passed to the first SelectObject()
call in RichEditWndProc_common's WM_PAINT / WM_PRINTCLIENT case.
wine commit id 2027be7e0370c92595f126a0b0dd167a635d50a2 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
wine commit id 3105fad82b9bae390fcd710a2fc10a18988b4622 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
Introduce a temporary variable, `other_para`, so that we don't end up
returning incorrect para (with stale run) inside the output cursor.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54564
wine commit id 7e28fa5c558f1417f8f033cb843424778bbfb8b8 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Test for word movement across paragraph boundary.
wine commit id 21d25b17c2cae8eb2d2376ce42b76e3f61eb0bba by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Fix the EM_GETSELTEXT tests in Hindi on Windows.
On Windows EM_GETSELTEXT fails with an invalid parameter error in the
Hindi locale but works in most other locales, including UTF-8 ones.
So check for this issue and adjust the expected results accordingly.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54559
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54565
wine commit id 37cd13abdf5d91c7b3f25b39fa14976bc3a3e3a3 by Francois Gouget <fgouget@codeweavers.com>
[WINESYNC] riched20/tests: EM_GETSELTEXT's wparam is not used and should be 0.
wine commit id baa41970647a7e548701a72bea2e4aa2a61ca27e by Francois Gouget <fgouget@codeweavers.com>
[WINESYNC] riched20/tests: Add context to the EM_FORMATRANGE tests.
wine commit id 020145248371bbfd2e473e79ba873e8313dde72d by Francois Gouget <fgouget@codeweavers.com>
[WINESYNC] riched20/tests: Check clipboard content after destroying the editor window.
Destroying the editor window should render all the formats so they are
still available after.
wine commit id b5b5b0b365639b889a0240d4992e16174b428f75 by Francois Gouget <fgouget@codeweavers.com>
[WINESYNC] riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
Reusing existing helper from user32 & comctl32.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47888
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
wine commit id 25743d46f4103c7345c955b87b4134a065fb5f1d by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20/tests: Ensure clipboard has been pasted before testing the result.
The patch does reduce error failures locally.
For the record:
- WM_PASTE in undo operations haven't been transformed (as it requires
UNDO stack manipulation in a coherent way across platforms)
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47888
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
wine commit id 4fd5252f635817b431673accaba718c7481f48f6 by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20: Support SFF_SELECTION when streaming in plain text.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
wine commit id 1b7a918bd7ec8bc2c51bcb76525b56b17c5ff0c0 by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20/tests: Add tests when pasting in plain text mode.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
wine commit id 82fa1048b5cc7d9c6a2a289403f25adbdd8158c7 by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20: Obtain the composition start index after deleting selection.
Today, the Rich Edit control handles the WM_IME_STARTCOMPOSITION message
by the computing the composition start position (imeStartIndex) _before_
calling ME_DeleteSelection(), which shifts the character positions after
the range of deletion. If the selection were not empty, imeStartIndex
immediately becomes stale, since it does not take into account the
number of deleted characters before it.
Fix this by computing imeStartIndex after the ME_DeleteSelection() call.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54318
wine commit id 8c43577f0f9b4422d3641457c595c3998bd54a18 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Call GlobalReAlloc with GMEM_MOVEABLE flag.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53474
wine commit id dfd44bb979ee2052eceff094083147e9879fa807 by Rémi Bernon <rbernon@codeweavers.com>
[WINESYNC] riched20: Fix failing test in UTF8 locales.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52875
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
wine commit id 5902cfd2990261189ce9af27981a95ac12fa2a5d by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20: Don't emit EN_CHANGE events during window creation.
wine commit id 5c997de8dc1e4885266fa884a2fb74f840e3bedc by Evan Tang <etang@codeweavers.com>
[WINESYNC] riched20: Add test for EN_CHANGE events during window creation.
GenoPro isn't very happy if it receives one
wine commit id 0b069106b0e0f141d6925d3e10166be89fc59145 by Evan Tang <etang@codeweavers.com>
[WINESYNC] riched20: Move test class creation to a helper function.
wine commit id f9083961ed187777d660796f7136addc04fff8b0 by Evan Tang <etang@codeweavers.com>
[WINESYNC] riched20/tests: Use ARRAY_SIZE instead of open coding it.
wine commit id 90b6288f54afdc4430dac146779a92b89f4d1219 by Michael Stefaniuc <mstefani@winehq.org>
[WINESYNC] riched20/test: Add scrolling test for richole.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
wine commit id 059c70d736baa164a1b246e949acd006cf83ab5a by Santino Mazza <mazzasantino1206@gmail.com>
[WINESYNC] riched20: Ensure that cursor is visible when selecting text.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40444
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
wine commit id 25209c162fc209124b369abbad55d915d31909b2 by Santino Mazza <mazzasantino1206@gmail.com>
[WINESYNC] riched20/tests: When selection is out of view, the scrollbar should move.
Signed-off-by: Santino Mazza <mazzasantino1206@gmail.com>
wine commit id ee131e9eba7dad090f0baf4a73fab2d62dc73b52 by Santino Mazza <mazzasantino1206@gmail.com>
[WINESYNC] riched20: Remove duplicate code.
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
wine commit id 3588479e1a674e5f43f1acb9e7c0aa8cecf98f25 by David Kahurani <k.kahurani@gmail.com>
[WINESYNC] riched20: Implement ITextDocument::Undo and ITextDocument::Redo.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53289
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id ded8227774570a1ea320dc34f2de0033f85b3ce7 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Add undo control state variable to ME_TextEditor.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id 40c54854e61d8adfca21e2fa9260712e4f5453e9 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Factor out undo-ignored status check.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id 0cd86e010e41eebdc1a4c142f9cc6a4948554d0e by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
Otherwise, Wine may crash while attempting to fetch the script shaping
information, which does not exist since shape_para() was not called.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53335
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id f77f12ba3b1dad9ebdcb116c66b137e9103a0d1b by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Test for ITextDocument::Undo and ITextDocument::Redo.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id 73284ea18891a152dce989ffff59e2c527f94c73 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Commit and wrap paragraphs after changing text properties.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53170
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id 0974f047b57357252ec94bea119e5291250a446c by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Draw OLE objects with IViewObject implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52752
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id ecc607c6da96a5c2e8988f3021e98b442fe24c12 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Fetch extent from object if REOBJECT::sizel is unset.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id 164897e6c94d3eee4798f82a730472a5a847f9b2 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Add tests for drawing embedded OLE objects.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
wine commit id a7d29d1625f7e02df4fbf59ef4e4a999d39edde0 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f9fa5f9e523b45766f715c6981c6a6ab5f183157 by Francois Gouget <fgouget@free.fr>
[WINESYNC] riched20: Implement callback to IRichEditOleCallback_QueryInsertObject.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 10667b39aad6710668f60c1ba8f10e50aeb87242 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20/tests: Add tests for IRichEditOleCallback_QueryInsertObject.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 95b4072cc774ba7a7eabb0d4c114b933b7d71105 by Jinoh Kang <jinoh.kang.kr@gmail.com>
Update richole.c
[WINESYNC] riched20: Set REOBJECT's cp correctly in IRichEditOle::GetObject.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52705
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 194ba06c403fd72fbfb95048385c9ca4838af169 by Jinoh Kang <jinoh.kang.kr@gmail.com>
[WINESYNC] riched20: Add back-reference to outer ME_Run from struct re_object.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 05796c4e2a4acb91e6035c536b4d0e1f7e16896d by Jinoh Kang <jinoh.kang.kr@gmail.com>
fix
[WINESYNC] riched20/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 9e90cecdc603d79c6332a03884ed8d4851ef2e88 by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20/tests: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 8b66db027d4112bfd4287b03d5c7b6f33994adc3 by Eric Pouech <eric.pouech@gmail.com>
fix build, sync rbtree.h
[WINESYNC] riched20: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 42d0e56643740a0eac5913a9f176e789457cb475 by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20/tests: Add a test to see what richedit class flavours should be available.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id d54a0e2bea4548bb5d9c0cca9f918d7c46591e23 by Dmitry Timoshkov <dmitry@baikal.ru>
[WINESYNC] riched20: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 63a643f7f42ecd0c2625a5f5704b5b9647349e7b by Eric Pouech <eric.pouech@gmail.com>
[WINESYNC] riched20/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 2d6fad7bda2f2e21a871f405a6b0c3e70ebf6a6a by Fabian Maurer <dark.shadow4@web.de>
[WINESYNC] include: Remove the wine_ prefix on rbtree functions.
Add defines for frequently-used functions.
For compatibility with vkd3d.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 3527230c461b6baba9c29e69b575ada85bdbbc43 by Alexandre Julliard <julliard@winehq.org>
[WINESYNC] riched20: Defer releasing the host if inside a notify callback.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51521
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 8138159f20d6453443861570689e0f14018051da by Huw Davies <huw@codeweavers.com>
[WINESYNC] riched20: Return the nearest char pos if the coords are outside the format rect.
For the two tests that remain todo_wine, the results differ between
riched20 and msftedit, with Wine's implementation matching msftedit.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52041
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 363508454d5f8f1fc5916bda47e6429756b7dc8f by Huw Davies <huw@codeweavers.com>
[WINESYNC] riched20: Check font_cache in select_style() too.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 177f808aa86e5442be1a0a92ddccc4904bf2e743 by Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
[WINESYNC] riched20: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 5b15bf33255bd373cbf26ec373d16a8234ec6b1c by Alexandre Julliard <julliard@winehq.org>
[WINESYNC] riched20: Use regular allocation helpers for text services objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 2064c206c0b67edb8524f572166b974ba9cbd6fe by Nikolay Sivov <nsivov@codeweavers.com>
[WINESYNC] riched20: Remove New() allocation macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 1d5c9defb19fca6cfb1107384fc2325d391726d6 by Nikolay Sivov <nsivov@codeweavers.com>
[WINESYNC] riched20: Don't create custom heap.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 8bff437e9d5e047e689d8b32f62995785c0cd48e by Dmitry Timoshkov <dmitry@baikal.ru>
[WINESYNC] riched20/tests: Don't cast NULL.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id b701c3df99fbd6d4df7eaa11327bb11db95d8676 by Michael Stefaniuc <mstefani@winehq.org>
[WINESYNC] riched20/tests: Add more tests for testing EM_GETTEXTEX with OLE objects.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 40988d6c3886d0f7a914c45ea68264bfc8540859 by Jactry Zeng <jzeng@codeweavers.com>
Update richole.c
[WINESYNC] riched20: Allow to insert OLE object at specified offset.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 8c894382dde5b9da88b0e9f23a753d5e851a43d6 by Jactry Zeng <jzeng@codeweavers.com>
Update richole.c
[WINESYNC] riched20/tests: Lock hGlobal before use.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f9c8c95856ded333be35ff41ab40a246bfe345b6 by Jactry Zeng <jzeng@codeweavers.com>
Co-authored-by: winesync <ros-dev@reactos.org>
## Purpose
Supporting System Pen icon and IME menus for
East-Asian users.
JIRA issue: CORE-20142
## Overview
The East-Asian system has the system pen icon
in taskbar additionally. The system pen icon
shows the current IME status.
If the user clicked the IME system pen icon,
the IME menu will open. The IME system pen icon
can be customized by the IME module by posting
indicator messages.
## Proposed changes
- Add default pen icon resources.
- Add base/applications/kbswitch/imemenu.c to
handle IME menus.
- Add code for adding, modifying and deleting
the System Pen icon.
- Modify indicdll.spec.
- Fix popup menu alignment.
JIRA issue: N/A
- Replace MSGDUMP_TPRINTF with
MSGDUMP_PRINTF and use ANSI for
strings. Now, we can use printf-
compatible function for dump.
- Fix some mistakes.
- Adapt user32_apitest
MessageStateAnalyzer to these
changes.
Defining macros in proper place will improve header
compatibility.
JIRA issue: CORE-19268
- Move WM_IME_SYSTEM macro in <undocuser.h>
into <imm32_undoc.h>.
- Move IMS_... macros in <immdev.h> into
<imm32_undoc.h>.
- Include <imm32_undoc.h> in base/ctf/msutb.
Splitted from #8080. The message
handling of WM_IME_SYSTEM.0x1D
is needed for IME menu handling.
JIRA issue: CORE-20142
- Define IMS_IMEMENUITEMSELECTED
(0x1D) in <immdev.h>.
- Add WM_IME_SYSTEM.0x1D handling
in ImeWnd_OnImeSystem function.
- Rename and extend
User32GetImmFileName function as
User32GetSystemFilePath, with
adding a filename parameter.
Validate structure size.
JIRA issue: CORE-3247
- In IntTrackPopupMenuEx function,
if lpTpm was non-NULL, then
validate lpTpm->cbSize.
- If validation failed, then set last
error and return FALSE.
Splitted from #8080. We have confirmed usage of the
name of "indicdll.dll" in user32.dll, in #8080. So, we
have to rename kbsdll.dll as "indicdll.dll".
JIRA issue: CORE-20142
- `REACTOS_NO_SECURITY_SS`
Added on 9ef17ea (r475), without being used.
Not currently used either.
- `FMIFS_IMPORT_DLL`
Now lives in the 2 /base programs which use it.
Addendum to (probably earlier than) 9723b5e (r70868) and dc17af9 (r70916).
- Remove duplicated code in NtUserRegisterHotKey() and in
NtUserUnregisterHotKey() by directly calling UserRegisterHotKey()
and UserUnregisterHotKey() after the usual user-validation steps.
- In UserRegisterHotKey(), ignore hotkeys with virtual key VK_PACKET
since this is not a real keyboard input, but is instead used in
conjunction with unicode characters to simulate keystrokes for
non-keyboard input methods.
- s/StartDebugHotKeys/SetDebugHotKeys/
- Remove duplicate code between NtUserCallMsgFilter() and IntCallMsgFilter().
Refactoring and improving trace.
JIRA issue: CORE-19455
- Add SAL2 annotations to
function parameters.
- Add and improve tracing
(TRACE and ERR) for easier
debugging.
When an NTFS partition is created with Windows and modified with Linux
(see below), the NTLDR/BOOTMGR will compare the file names ignoring the
case of the files, while FreeLdr does not and the same hack is on Btrfs
file name comparison.
This PR is necessary because the case of the file names on registry, etc.
may not always be consistent!
How to reproduce:
- Try to install Windows with NTFS and install FreeLdr on it;
- Try to modify Windows partition on Linux like creating/copying some new files;
- Try to boot with FreeLdr (it will fail if the hive file path case is different
than the actual file path);
- Try to boot with NTLDR/BOOTMGR (it will work finally reaching the desktop).
Fix annotations' mistakes. Improve debug output.
JIRA issue: CORE-19268
- Fix some SAL annotations.
- Use debugstr_a and debugstr_w for tracing
strings.
- Add static to some functions.
- Remove APIENTRY of some functions.
- Fix code formatting.
* Windows Server 2003 x86 may return a DNS_ERROR_RCODE_NAME_ERROR in some tests where other versions of Windows may return ERROR_INVALID_NAME, ERROR_TIMEOUT, or DNS_ERROR_INVALID_NAME_CHAR. Pass this behavior.
* Windows 8+ sets the query to a null pointer when given an invalid query pointer while earlier Windows versions don't change the query pointer. Pass either behavior.
Follow-up of #8057. Generally, the IDL
file is a higher level than the header file.
JIRA issue: CORE-19361
- Modify CMakeLists.txt.
- Add sdk/include/reactos/CMakeLists.txt.
- Add reactos_idls CMake target in
- sdk/include/reactos/CMakeLists.txt
to process IDL files.
- Add reactos_idls dependency to cicero.
- Delete msctf_undoc.h and add
msctf_undoc.idl.
* [SDK] Update ThreadInfoClass to wine-10.0
* [SDK][MODULES] Fix a test and add wine-10 entries to headers
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
We believe the power of simplicity.
JIRA issue: CORE-20142
- Rename g_nCurrentLayoutNum as
g_iKL for simplicity.
- Make g_iKL zero-based indexing.
- Add ID_LANG_BASE id for language
menu items and adjust
ID_EXIT/ID_PREFERENCES values.
- Fix KbSwitch_OnNotifyIconMsg
function.
The CTF modules depend on Cicero
static library. Cicero should be a
component in CTF.
This move will improve code
readability and grep-ability.
JIRA issue: CORE-19361
JIRA issue: CORE-19363
- Move sdk/lib/cicero to base/ctf/cicero.
- Adapt CMakeLists.txt to this move.
- No code content change except
CMakeLists.txt.
This interface is needed for msctf.dll.
JIRA issue: CORE-19361
- Add ITfRangeAnchor interface
(based on current msctf
implementation) to
<msctf_undoc.h>.
* [WIN32K:DIB] Fix 'DIB_16BPP_AlphaBlend' copypasta in a DPRINT()
Addendum to 684c3d3 (r49275).
* [WIN32K:DIB] USE_DIBLIB: Use new DIB_16BPP_AlphaBlend()
Addendum to 7540c2e (r64953).
Splitting IME installation code for code readability.
JIRA issue: CORE-19268
- Add win32ss/user/imm32/install.c.
- Move some code to install.c.
- Add SAL annotations. Use debugstr_a/_w macro.
- Modify <imm32_undoc.h>.
- Don't CharUpperW for IME pathname due to
security reason.
This PR reorganizes the location of
the CTF-related modules to improve
grep-ability, understanding, and
readability. New folder base/ctf will
become incomplete Cicero, CTF or
TSF (Text Services Framework).
JIRA issue: CORE-19360
JIRA issue: CORE-19361
JIRA issue: CORE-19363
- Move ctfmon, msctf, msctfime,
and msutb modules to new
directory base/ctf.
- Adapt CMakeLists.txt to this move.
- Modify .github/labeler.yml and
media/doc/WINESYNC.txt.
- No code content changes except
CMakeLists.txt, .github/labeler.yml,
and media/doc/WINESYNC.txt.
- Add missing versioning defines for the different SEE_MASK_*
and CMIC_MASK_* defines.
- Move the five undocumented SEE_MASK_* defines into reactos/undocshell.h
Implementing missing features...
These functions are given for IME
program handling.
JIRA issue: CORE-19268
- Implement ImmIMPQueryIMEA
and ImmIMPQueryIMEW functions.
- Implement ImmIMPSetIMEA and
ImmIMPSetIMEW functions.
- Add prototypes to <imm32_undoc.h>.
Recently language switching (Alt+Shift)
was not working. This PR will fix
Alt+Shift (partially).
JIRA issue: CORE-18546
- Add WH_KEYBOARD_LL hook to
detect Alt+Shift.
- Add delay to the action after language
change.
- Increase g_SpecialIds not to be full.
- Delete useless ID_NEXTLAYOUT
command.
Missing things are:
- "Show details for each battery" doesn't work
- Data are not updated on timer (you need to reopen the window)
Global battery doesn't work, but that's a ntoskrnl bug (CORE-19452)
Some baby steps to msctf.dll for CTF.
JIRA issue: CORE-19361
- Add all the export functions of msctf.dll.
- Modify msctf.spec.
- Modify sdk/include/psdk/msctf.idl
and sdk/include/psdk/inputscope.idl.
- Add sdk/include/reactos/msctf_undoc.h.
- Include <msctf_undoc.h> in ctfmon,
msctfime, and msutb.
imm32 and win32ss have common
interface. This move will improve
grep-ability.
JIRA issue: N/A
- Move dll/win32/imm32 to
win32ss/user/imm32.
- Adapt CMakeLists.txt to this move.
- No code content change except
CMakeLists.txt and .github\labeler.yml.
SPI_SETDOCKMOVING allows you to turn off window snapping when moving a window with the mouse. The Win keys can still snap unless you turn everything off with SPI_SETWINARRANGING.
Send OID_GEN_PHYSICAL_MEDIUM and OID_GEN_MEDIA_SUPPORTED query requests to NDIS.
This will enable us to distinguish wired and wireless ethernet adapters.
This PR enhances Cicero IME support.
JIRA issue: CORE-19268
- Add null checks for the functions
of Cicero IMEs in Imm32LoadIME
function.
- Add and use
IS_CICERO_COMPAT_DISABLED
macro in win32ss/include/ntuser.h.
- Fix ImmGetImeInfoEx,
Imm32LoadImeDpi,
ImmGetDescriptionA,
ImmGetDescriptionW,
ImmGetIMEFileNameA,
ImmGetIMEFileNameW, and
ImmGetProperty functions for
Cicero IME support.
- Set last error in NtUserGetImeInfoEx.
JIRA issue: CORE-19455
- Add some traces for NotifyIME calls.
- Improve Imm32MakeIMENotify trace.
- Make some parameter types of
Imm32MakeIMENotify function
DWORD's.
- Fix and improve ERR_PRINTF macro.
- Disable the Removable capability
- Enable the SilentInstall and SurpriseRemovalOK capabilities
This keeps the remove device icon from showing in the notification area whenever you plug in a mouse or a keyboard.
Make FreeLoader print a notice message before it passes the control
to the kernel, if kernel-mode debugging is enabled via boot options.
This can be helpful for people who may forget that they're booting
in debug mode (the default boot option also for the bootcd) and they
need to attach a debugger for the boot process to continue.
Supporting IME menus will improve
Asian users' usability. IME menu is
used on the IME System Pen icon.
JIRA issue: CORE-20142
- Add dll/win32/imm32/imemenu.c.
- Move some code to imemenu.c.
- Implement IME menu transporting
correctly by using file mapping and
serialization.
Supporting the IME System Pen icon.
JIRA issue: CORE-19268
- Change kbswitch window class to "Indicator"
from "kbswitcher".
- Add <ime/indicml.h> from DDK.
- choose VGA adapter outside of driver initialization loop
- choose primary adapter outside of driver initialization loop
- link VGA adapter to primary adapter at the end
- only set DISPLAY_DEVICE_PRIMARY_DEVICE in this function
Also mark VgaSave driver as SystemStart instead of Disabled,
so it is available if main display driver doesn't work.
Silence "NtUserSetWindowPos bad window
handle!" error at win32k!NtUserSetWindowPos
function when Desktop has started up.
JIRA issue: CORE-19663
Add null check of window handle before
SetWindowPos call in
CShellBrowser::RepositionBars method.
- umpnpmgr.dll: Call I_ScSendPnPMessage to report pnp events to the service manager.
- adavpi32.dll: Implement I_ScSendPnPMessage which calls the service managers RI_ScSendPnPMessage function.
- services.exe: Add a debug message to RI_ScSendPnPMessage.
I want to work in correct type info.
JIRA issue: CORE-17684
- Add and fix SAL2 annotations.
- Fix const-ness of function
parameters.
- Delete needless type casts.
Enable the users to delete fonts.
JIRA issue: CORE-17684
- Add IntDeleteRegFontEntry helper function.
- Add RegDeleteValueW and RegEnumValueW helper
functions in win32ss/user/ntuser/misc/registry.c.
- Add some code to IntGdiRemoveFontResourceSingle
function.
Related to #7870. netapi32.dll uses NDK.
So, we have to reduce dependency on Wine.
JIRA issue: CORE-5743
- Introduce wine2ros module in
sdk/lib/wine2ros/.
- Reduce Wine dependency.
Fix a bug introduced in 5070e8960a.
CORE-17256
- These handlers must be memory resident. Otherwise,
this would cause a page fault that needs to be resolved.
Low-level storage drivers could evaluate ACPI control
methods while the device's IRP queue has been paused.
- Minor code enhancements.
Follow-up of #7778.
JIRA issue: CORE-7237
- Rename APPBARDATA3264 structure
as APPBARDATAINTEROP.
- Fix structures for WoW64.
- Use trace instead of DPRINT1.
- Add CAppBarManager::
RecomputeAllWorkareas function.
- Fix WM_DISPLAYCHANGE handling
to re-compute the work areas.
This implements the right click menu on the network icon that is in the taskbar.
CORE-9055
Note that Repair isn't implemented and emits a "not implemented" message,
because as far as I see ReactOS has no repair functionality for internet.
This fixes the garbage in the "Get Text" dialog which occurs if there is no text input
and one clicks on "Get Text" under Extras.
CORE-19868
Reported to Wine: https://bugs.winehq.org/show_bug.cgi?id=58144
Remove argument parsing hacks from desk.cpl that were originally introduced to
make it work with the previous broken implementation of `Control_RunDLLW`.
CORE-20076
- Remove argument parsing hacks from desk.cpl;
- Fix some issues with space separated string parsing in `Control_RunDLL`;
- Windows seems to allow invalid dialog-box names if there is only one dialog-box.
CORE-20124
Since `TB_HITTEST` returns negative numbers for ID for separator menu items [^1],
shell menu assumes mouse moved outside of the menu popup, highlighting the menu
item for currently open submenu.
To fix this behavior, we can detect separators in `CMenuFocusManager::ProcessMouseMove`
and negate the ID returned by `TB_HITTEST` to make it a positive number again,
so the shell menu wouldn't glitch.
[^1]: https://learn.microsoft.com/en-us/windows/win32/controls/tb-hittest
CORE-19833
wine commit id d551564f1b by Orin Varley <ovarley@codeweavers.com>
comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.
When the combobox height is to be set by the application (as the CBS_NOINTEGRALHEIGHT style is on),
and when a large size is specified but only a small number of items in the list, the height of the
combobox should be set by the number of items rather than the size specified to avoid empty lines.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57360
The font object `infoPtr->Font` is not owned by the `syslink` control, therefore freeing it would make the whole system use a different font. The fix provided by Wine removes the code that deletes this font object.
Imports Wine commit 480598680c
Fixes deleting system font object when destroying syslink. CORE-20127
- `CBindStatusCallback_UpdateProgress`:
* Rework the failsafe check to enable percentage to be at 100%.
* More thorough failsafe check, to avoid displaying 100% (or even 101%) where the actual and expected file sizes don't match.
- `case BINDSTATUS_ENDDOWNLOADDATA`: Do update the progress one last time to be at 100%, on download success.
CORE-20023
- Besides copying the event information, copy also its formatted data.
- Update translations with new IDS_COPY* strings.
- Eliminate all statically-sized temporary buffers, in favour of
carefully calculating the size, and allocating an adequately
sized buffer to hold the data to be copied.
- By default, the "title" and event info on the single-line fields,
are separated with TABs (to facilitate data import in spreadsheets).
Add a mode where, when the user presses the SHIFT key while clicking
on the "Copy" button, the separation is instead done with space
padding, to be able to prettify information display when copying
into text files instead.
* Check is FontGDI->OriginalWeight > FontGDI->RequestWeight and if so, then return original weight.
* Do not handle FontGDI->OriginalWeight as a boolean. Use 'FontGDI->OriginalWeight = FW_DONTCARE;'.
CORE-17011
Supporting soft keyboard will improve IME
usability.
JIRA issue: CORE-19268
- Define IMS_SOFTKBDONOFF constant as
0x13 in <immdev.h>.
- Implement
WM_IME_SYSTEM.IMS_SOFTKBDONOFF
message handling in ImeWnd_OnImeSystem.
Add missing status text for the "Multi-String Value" and
"Expandable String Value" in the "New" menu of the registry editor
for the English and German languages.
CORE-19886
Fixes erroneous addition of "Properties" item into its context menu.
- Addendum to 0241b5c4e9 and 5aaead3fdb. CORE-20152
- Also remove FIXME for CORE-19477 which is fixed now. CORE-20151
2025-04-28 22:44:58 +03:00
955 changed files with 86808 additions and 16331 deletions
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.