Compare commits

...

2244 Commits

Author SHA1 Message Date
Joachim Henze
3da5c31bfb [REGEDIT] Address Review-comment, no edit-war with Thomas is intended here
I preferred to keep it more insync with the backports, but that is no
hard requirement ofc.
2023-04-16 18:20:14 +02:00
Joachim Henze
c2cd95a2ef [REGEDIT] Addendum to 1ee9ea4518
wcscpy() is absolutely safe here for these specific strings of fixed size length.
It gives much shorter code and shrinks the binary size by 1-2 KByte.
There is only one single place in [REGEDIT] where we current use and have to use
StringCbCopyNW(). And that is the place where we introduced it to fix the crash from
CORE18602. I marked the location by the "{}"-change.
Same with "\\" cat. That is absolutely safe and has no risk at runtime, as
IDS_MY_COMPUTER is 100% under our control at compile-time.
I checked: Changing that back also reduces obj-size.
2023-04-16 17:51:20 +02:00
Joachim Henze
4f44baa4b2 [REGEDIT] Strip unneeded suggestion code 2023-04-16 17:43:31 +02:00
Joachim Henze
7c23362602 [REGEDIT] tr-TR.rc fix accelerator collision "&Kes" vs. "&Kopyala" 2023-04-16 17:30:39 +02:00
Joachim Henze
8b7520a881 [REGEDIT] tr-TR.rc fix accelerator collision POPUP "&Dosya" vs. POPUP "&Düzen" 2023-04-16 17:29:30 +02:00
Joachim Henze
977c37de58 [REGEDIT] pt-PT.rc fix accelerator collision "&Localizar seguinte" vs. "&Localizar:" 2023-04-16 17:16:43 +02:00
Joachim Henze
ef86399d6d [REGEDIT] pt-PT.rc Consistency 2023-04-16 17:13:21 +02:00
Joachim Henze
617d44cc58 [REGEDIT] pt-PT.rc fix accelerator collision "&Copiar" vs. "&Colar" 2023-04-16 17:11:51 +02:00
Joachim Henze
b2bf4b356b [REGEDIT] pt-PT.rc fix accelerator collision "&Eliminar" vs. "&Exportar" 2023-04-16 17:09:54 +02:00
Joachim Henze
5b3fd8d54a [REGEDIT] pt-PT.rc Consistency to last commit 2023-04-16 17:08:05 +02:00
Joachim Henze
c89a41e695 [REGEDIT] pt-PT.rc fix accelerator collision "&Modificar" vs. "&Modificar" 2023-04-16 17:06:12 +02:00
Joachim Henze
a830203969 [CLB] tr-TR.rc Fix accelerator collisions "&Sınır" vs "&Standart", "Dev&re Dışı" vs "Gö&rünür" 2023-04-16 16:58:26 +02:00
Joachim Henze
241e4949f4 [REGEDIT] hu-HU.rc Fix accelerator collision &File vs &Favorites 2023-04-16 16:55:50 +02:00
Timo Kreuzer
93dface84e [PSEH] Change return type of filter function prototype to avoid broken return from inside it. 2023-04-14 11:56:08 +03:00
Timo Kreuzer
cb74d9e24e [NTOS/CC] Fix broken usage of _SEH2_FINALLY
Finally handlers are - unlike except blocks - not part of the function they are in, but separate functions, which are called during unwind. PSEH implements them on GCC using nested functions. While "return" from a finally handler is allowed with native SEH, it's handled by the compiler through an extra unwinding operation using _local_unwind, WHICH IS NOT SUPPORTED BY PSEH! With PSEH, returning from a finally handler does not return from the function, instead it will only return from the finally handler and the function will continue below the finally handler as if there was no return at all. To fix this, the return is removed and an additional success check is added.
Also use _SEH_VOLATILE to make sure the variable assignment is not optimized away by the compiler and add zero out the result parameters on error.
2023-04-14 11:56:08 +03:00
Timo Kreuzer
b2fcd27aaa [NTOS/CC] Fix calls to CcRosEnsureVacbResident
The function returns BOOLEAN, not NTSTATUS! Also wrap it in SEH, because it can throw an exception on failure.
2023-04-14 11:56:08 +03:00
Timo Kreuzer
178285c275 [USER32_WINETEST] Change module type to win32cui to be able to see test results 2023-04-14 11:47:29 +03:00
Mark Jansen
89f58017c0 [CODEOWNERS] Add Giannis and myself as reviewer for shell related stuff 2023-04-13 19:09:55 +02:00
Thamatip Chitpong
77d4653164 [NTUSER] co_UserDestroyWindow: Validate window before destroying it (#5054)
Prevent the window from being destroyed twice
fixes BSOD 0x1E CORE-18821
2023-04-12 22:20:46 +02:00
Thamatip Chitpong
15c755e5f9 [MMSYS] Improve sound test button (#4879)
- Make sound test button able to stop the sound (like WinXP's mmsys.cpl)
- Change stop icon
- Add documentation for GetSoundDuration
2023-04-12 22:00:37 +02:00
Hermès Bélusca-Maïto
99b0e4b9a9 [NTOS:KDBG] Only use the direct KdbPrintf instead of KdbpPrint (pager) inside the exception handler (outside the debugger main loop). 2023-04-12 19:30:57 +02:00
Hermès Bélusca-Maïto
9808d32f4a [NTOS:KDBG] Use local KdbPrintf function for DPRINT1 instead of DbgPrint...
... that would otherwise cause a debugger re-entry.

Also use KdbPuts/Printf instead of KdpDprintf that won't be available
once KDBG is moved out of it.
2023-04-12 19:30:56 +02:00
Hermès Bélusca-Maïto
f620ce7705 [NTOS:KDBG] Introduce local versions of KdpPrintString, KdpDprintf and KdpPromptString...
... since the original ones are internal to the kernel and won't be
available once KDBG is moved out of it.

Use these functions in the pager/prompt support.
2023-04-12 19:30:54 +02:00
Hermès Bélusca-Maïto
fdf4814ebb [NTOS:KDBG] Correctly balance KeStackAttachProcess with KeUnstackDetachProcess, instead of KeDetachProcess. 2023-04-11 00:44:11 +02:00
Hermès Bélusca-Maïto
579eab8a31 [NTOS] Include kdbg/kdb.h only in the files that really need it. 2023-04-11 00:44:10 +02:00
Katayama Hirofumi MZ
8f2c2c1def [COMCTL32][USER32] EDIT: Fix caret position for IME
CORE-11700
2023-04-10 08:27:50 +09:00
Katayama Hirofumi MZ
5ff0ef403e [NTUSER] IntImmActivateLayout: Set CI_IMMACTIVATE if not pImeWnd (#5231)
In IntImmActivateLayout function, if pImeWnd was NULL and pti->spDefaultImc was non-NULL, then set CI_IMMACTIVATE flag. CORE-11700
2023-04-09 15:19:47 +09:00
Katayama Hirofumi MZ
66c8ded454 [COMCTL32][USER32] EDIT: CompForm and CandForm (#5226)
The changes of this PR are on EDIT controls.
- Delete composition_len and composition_start members.
- Add EDIT_ImmSetCompositionWindow helper function.
- At EDIT_SetCaretPos, set the position of the composition window.
- We don't use internal composition string. Rely on the composition window.
- Improve WM_IME_STARTCOMPOSITION, WM_IME_COMPOSITION and WM_IME_ENDCOMPOSITION message handling.
CORE-11700
2023-04-09 15:19:19 +09:00
Katayama Hirofumi MZ
a9284b5664 [MSPAINT] Fix handle leaks about memory bitmap
This fixes CORE-18919. CORE-18867
2023-04-09 11:17:17 +09:00
Doug Lyons
bfc6a119c5 [ADVAPI32] Do not fail on creating a registry key if the security attributes have an invalid length. (#5230)
Provide graceful handling of RegCreateKeyExW when lpSecurityAttributes->nLength is zero.
This reverts commit cc0716b65 (SVN r24491).
JIRA issue: CORE-15471
2023-04-09 04:04:04 +02:00
Katayama Hirofumi MZ
96c7fe4ccd [MSPAINT] Fix Copy and Paste
Call GetSelectionContents in SelectionModel::GetBitmap.
CORE-18920, CORE-18867
2023-04-09 09:14:32 +09:00
Katayama Hirofumi MZ
639739a7cd [MSPAINT] Fix SelectionModel::InsertFromHBITMAP bug
CORE-18867, CORE-18920
2023-04-09 09:01:14 +09:00
Katayama Hirofumi MZ
f45d80adc9 [MSPAINT] Canvas: Don't draw new frame if HIT_NONE
CORE-18867
2023-04-09 08:49:18 +09:00
Katayama Hirofumi MZ
132f482de2 [MSPAINT] imageSaved = FALSE after image size change
...and redraw canvas after image resizing is canceled.
CORE-18867
2023-04-09 08:23:44 +09:00
Katayama Hirofumi MZ
fc5311aaf2 [RAPPS] Calculate download listview position (#5232)
Correctly display Download ListView at right position in any languages. CORE-18706
2023-04-09 05:51:23 +09:00
Katayama Hirofumi MZ
efe7368c46 [MSPAINT] Make imageArea window-less (#5215)
- Move imageArea code into canvasWindow.
- Delete imgarea.cpp, imgarea.h, and imageArea.
- Add CCanvasWindow::ImageToCanvas and CCanvasWindow::CanvasToImage to convert the coordinates.
- Realize drawing of resizing image area.
CORE-18867
2023-04-08 22:25:27 +09:00
Katayama Hirofumi MZ
fa322c2e14 [RAPPS] Improve Japanese translation
CORE-18706
2023-04-08 17:32:11 +09:00
Katayama Hirofumi MZ
994732c4bb [RUNDLL32][SHELL32] Rename 'rundll32_window' as 'RunDLL' (#5229)
Improve compatibility.
- Rename window class "rundll32_window" as "RunDLL".
- Delete some shell32 codes about this window class.
CORE-13895, CORE-18350
2023-04-08 15:20:07 +09:00
Hermès Bélusca-Maïto
f8f9c170b1 [KDGDB] Fix GCC build. Addendum to commits b577ac07 and de81021ba.
See also PR #5217.
2023-04-05 03:33:42 +02:00
Hermès Bélusca-Maïto
30369b8005 [NTOS] "Bugzilla" --> "Jira" 2023-04-05 03:33:41 +02:00
Hermès Bélusca-Maïto
dfc2cc4e42 [NTOS:KD] Fix buffer overflow for the signon in KdPortInitializeEx.
The built string can be:
°°Kernel Debugger: Serial port found: COM1 (Port 0x000003F8) BaudRate 115200°°°°
(with ° representing the \r and \n in the message)
and you can verify that this is more than 80 characters in total.
2023-04-05 03:33:39 +02:00
Hermès Bélusca-Maïto
641c89d834 [KDVBOX] Fix port name comparison. 2023-04-05 03:33:38 +02:00
Hermès Bélusca-Maïto
2b27d08576 Grmbl... 2023-04-05 01:53:32 +02:00
Hermès Bélusca-Maïto
143f8549a5 [NTOS:IO] ... and fix build by adding missing header. 2023-04-05 01:45:32 +02:00
Hermès Bélusca-Maïto
4c6f7c01e5 [NTOS:IO] Avoid magic value in LdrProcessDriverModule. 2023-04-05 01:39:32 +02:00
Hermès Bélusca-Maïto
8b35e46903 [SHIMGVW] Update the display window when selecting the Previous/Next picture. (#5223)
Patch by KRosUser.
CORE-18905
2023-04-04 22:14:14 +02:00
Joachim Henze
99e5f51d5b [SDK] Shorten autogenerated Copyright strings (#5210)
that we do compile into almost every dll and exe.
Reduces unnecessary scrolling in the
Versions tab of file properties dlg, which precedes the Copyright phrase anyway.

MS also uses shorter strings and therefore doesn't require to scroll at all.
See attached screenshots in the PR.
2023-04-04 12:10:59 +02:00
Katayama Hirofumi MZ
2b356adbc5 [COMCTL32][USER32] EDIT: WM_SETFONT for IME (#5214)
- Call ImmSetCompositionFontW in WM_SETFONT handling of EDIT controls if necessary.
- If the specified font is NULL, then use DEFAULT_GUI_FONT.
CORE-11700
2023-04-04 19:09:21 +09:00
Katayama Hirofumi MZ
d0c657074d [MSPAINT] Allow paletteWindow to be bottom-aligned (#5216)
The user will be able to move the palette window to bottom by dragging.
- Add Bar1ID registry setting.
- Move paletteWindow to top or bottom in mainWindow's WM_SIZE handling.
- Track the mouse dragging on paletteWindow.
- If the dragging is beyond the center point, then move paletteWindow.
CORE-18867
2023-04-04 19:06:06 +09:00
Justin Miller
ccef43f3b0 [FREELDR] Implement the memory managment functions for UEFI (#5174)
CORE-11954

- EFI binaries have a different subsystem in the PE header;
- ENVIRON: Make sure INTN and UINTN are 64bit for 64bit platforms;
- Handle UEFI Memory maps and translate it for freeldr;
- Add FAILED_TO_EXIT_BOOTSERVICES Freeldr BSoD code.
2023-04-03 17:33:20 +02:00
Katayama Hirofumi MZ
83e83bfd2c [MSPAINT] Allow ToolBox to be right-aligned (#5213)
The user will be able to move ToolBox in the main window by dragging.
- Add Bar2ID registry setting.
- Add CPaintToolBar class to encapsulate the toolbar code.
- Capture and track the mouse dragging in CToolBox.
- Move the ToolBox if dragging is beyond the center position.
CORE-18867
2023-04-03 14:34:56 +09:00
Atharva Kulkarni
ce562727b8 [MSI] Fix empty disc costing (Terragen, ...) (#5201)
JIRA issue: CORE-18749
2023-04-02 19:19:21 +02:00
Atharva Kulkarni
e13c3e856f [MSI] Revert to previous working solution for disk usage display in dialog.c (#5194)
There is a bug, which displays empty optical drive as a valid Drive where applications can be installed, which is wrong. This change will skip displaying any drives that are not fixed in the disk usage table in the msi installer UI.

JIRA issue: CORE-18758

Proposed changes

Revert to old solution from Doug Lyons which was working fine.
2023-04-02 19:16:18 +02:00
hpoussin
1bdefebc9e Enable framebuf_new driver (#4775)
Replace framebuf display driver by framebuf_new display driver
Compile framebuf_new as framebuf.dll, and add it to bootcd/livecd
Remove old framebuf from compilation, to not conflict
2023-04-02 23:33:15 +09:00
Joachim Henze
9ee9f73369 [NTUSER] Fix BSOD 0x1E nullptr deref CORE-18899 (#5212)
fix authored by JIRA-user "TANGaming". I do suspect that the possibility of that nullptr deref was introduced on the master branch by 0.4.13-dev-962-g 4193b8d. Doug Lyons signalled his "ok" regarding the fix in chat already. CORE-18899
2023-04-02 23:27:42 +09:00
Joachim Henze
c37addcbf5 [CONSOLE] Harmonize IDC_LBOX_FONTTYPE height to 40 for *.rc (#5211)
40 is what en-US uses, and most other langs used that meanwhile as well. Some were forgotten to be synced though.
While comparing all the files, use the opportunity to slightly improve some headers also.
2023-04-02 23:25:43 +09:00
fulup29
14cf589cbc [SHELL32] Improve French (fr-FR) translation (#5179)
CORE-18382

Original patch is used to fix and improve french translation and layout.
The original (erroneous) horizontal shift of the second checkbox is kept.
It should be fixed homogeneously in all translations at once later.
2023-04-02 00:07:52 +02:00
Jérôme Gardou
573d579873 [NTOSKRNL] Flush file to disk when deleting file mappings (#4302)
CORE-17627
When closing a file, fastfat zeroes it out from ValidDataLength up to the end of the file.
The ValidDataLength field is updated when the file content is actually written to disk.
There is currently a race between the file-close path and the page out path, leading to potential file corruptions when the zeroing happens after the memory has been flushed to disk.

Fix this by actually flushing the file to disk when unmapping files, with file lock acquired. This way, the FS driver cannot zero out the tail of the file while we're actually flushing it to disk.
2023-04-01 23:56:49 +09:00
Katayama Hirofumi MZ
84e580b67e [REGEDIT] Fix ListView selection and finding (#5150)
We will check the data size correctly, instead of 3 NUL byte appending hack. Add bSelectNone parameter to UpdateAddress and RefreshListView functions. If bSelectNone is TRUE, then select nothing of ListView. Fix item selection of ListView. Rename CompareData helper function as MatchData and improve it. Improve the search algorithm. If the item selection of ListView changed, scroll down to the item. Follow up to #5146. CORE-15986, CORE-18230
2023-04-01 22:21:59 +09:00
Katayama Hirofumi MZ
aac89519ec [MSPAINT] Make selection window-less (#5208)
- Delete selection.cpp and selection.h and selectionWindow.
- Extend ColorKeyedMaskBlt function.
- Implement selection resizing.
CORE-18867
2023-04-01 22:01:04 +09:00
Katayama Hirofumi MZ
3f5bcf5775 [KERNEL32] LCMapString: Fullwidth/halfwidth conversion (#5206)
- Add file dll/win32/kernel32/winnls/string/dakuten.h.
- Add file dll/win32/kernel32/winnls/string/full2half.h.
- Support LCMAP_FULLWIDTH and LCMAP_HALFWIDTH in LCMapString.
CORE-11700
2023-04-01 11:33:36 +09:00
valmorflores
2687c1b415 [NOTEPAD][OSK] Improve/Add Portuguese (Brazilian pt-BR and Portugal pt-PT) translations (#5124)
Co-authored-by: Julen Urizar Compains <julenuri@hotmail.com>
2023-03-31 01:37:45 +02:00
Doug Lyons
c8fc8264fe [SHELL32_APITESTS] Add ROS.ico test file. Improve shell32:ExtractIconEx tests (#5169)
Improve shell32:ExtractIconEx tests by updating it and adding more test files and 1 new icon file.

JIRA issue: ROSTESTS-381

Add new ROS.ico file which has both a normal icon and a PNG one.
Update testing to test for count of icons in file and separately extract the 0th one.
Add tests for sysicon.ico, explorer.exe and the new ROS.ico files.
2023-03-30 13:31:13 +02:00
Hermès Bélusca-Maïto
1bb4167211 [NTOS:KD] Fix build, addendum to commit f3dd7133.
This one was more subtle because the prompt (KdIoReadLine) functionality
makes a call-back to KDBG own command history getter function KdbGetHistoryEntry.
It is planned for this to become a registered optional callback pointer.
2023-03-29 03:36:24 +02:00
Hermès Bélusca-Maïto
3c0ba6b22c Fix build, addendum to commit 35180b3a 2023-03-29 02:55:06 +02:00
Hermès Bélusca-Maïto
35180b3ad2 [NTOS:KDBG] Isolate terminal and input-related routines from the rest of KDBG. (#5188)
This is done in preparation for moving all this functionality in a
separate KDTERM "KD Terminal Driver" DLL.

Additionally:

- Flush the terminal input before sending ANSI escape sequences.

- In KDBG pager, always use the correct reading-key function (the
  same used also for reading keys for a line of user input), and not
  the simplistic two-call KdbpGetCharSerial + KdbpTryGetCharSerial
  that would split the \r \n across calls.

- Call KdbpGetCommandLineSettings() in KdbInitialize() at BootPhase 0,
  which is indirectly called by KdDebuggerInitialize0(). And fix its
  command-line parsing too.
2023-03-29 02:42:31 +02:00
Joachim Henze
56bf3969cd [SYSSETUP] Tweak IDD_COMPUTERPAGE positioning (#5198)
- make all 3 input boxes IDC_COMPUTERNAME, IDC_ADMINPASSWORD1, IDC_ADMINPASSWORD2 on this page the same length for all languages and start and end at same x-coord, e.g. sk-SK.rc, uk-UA.rc
- let the input boxes end at the same x as the edits in the previous dlg IDD_OWNERPAGE
- respect the right margin of the dialog with all controls for all languages, makes it look more harmonic to previous and next dlg, see video:
- make the input fields as wide as possible, but not wider, depending on what the language allowed I used width of 139, 148, 163 (163 is same as the EDITs in IDD_OWNERPAGE used)
- fix too small x offset for some controls in some languages like bg-BG.rc, that looked very off
- in zh-CN.rc fix the maximum allowed length for computer name from 63 to 15
- ja-JP.rc 15 is max chars for computer name, not 63
- Fix it-IT text truncation "Organizzazione" in IDD_OWNERPAGE
- pl-PL.rc Steal some wisdom from 0.4.9 to better stick with en-US.rc dimensions.
2023-03-29 01:23:00 +02:00
Hermès Bélusca-Maïto
f3dd713382 [NTOS:KD:KDBG] Isolate the read-line (prompt) functionality in a separate file.
Rename KdbpReadCommand as KdIoReadLine. Extract the last-command
repetition functionality out of KdIoReadLine and put it where it
belongs: only in the KDBG command main loop KdbpCliMainLoop.
2023-03-28 16:14:40 +02:00
Hermès Bélusca-Maïto
430d7ebb93 [NTOS:KDBG] Use KdbpSendCommandSerial() to send specific ANSI escape sequences.
Use this function instead of KdpDprintf(), otherwise, we send them to
**ALL** the display providers, including for example dmesg. Replaying
the listing with dmesg would then cause the terminal to misbehave later.
For example, it would send the answer of a "Query Device Attributes"
command, as the response to a query for terminal size...
2023-03-28 16:14:39 +02:00
Katayama Hirofumi MZ
29e147beca [MSPAINT][ATL] Encapsulation: mainWindow (#5178)
- Add DoCreate methods to CFullscreenWindow, CMiniatureWindow, and CMainWindow classes.
- Do encapsulation around mainWindow and _tWinMain.
- Add GetOpenFileName, GetSaveFileName, and ChooseColor helper methods to CMainWindow class.
- Move some code in WinMain into CMainWindow::OnCreate.
- Delay creation of CFullscreenWindow and CMiniatureWindow.
- Extend ATL CImage class as CImageDx in newly-created atlimagedx.h of mspaint.
CORE-18867
2023-03-28 22:31:26 +09:00
Katayama Hirofumi MZ
0569bbd4a7 [KERNEL32] LCMapString: Sync to Wine a little (#5203)
Preparation for LCMAP_FULLWIDTH and LCMAP_HALFWIDTH support.
Slightly synchronize lang.c to locale.c in Wine's dlls/kernelbase.
CORE-11700
2023-03-28 21:09:27 +09:00
Katayama Hirofumi MZ
3b82b8370d [NTOSKRNL] Fix build in Release; #include 'kd.h' 2023-03-28 17:20:42 +09:00
Katayama Hirofumi MZ
ab5aff5948 [KERNEL32] Follow-up of #5200 (5d1ae45)
Add "Voiced Iteration Marks" to convert.
CORE-11700
2023-03-28 10:00:22 +09:00
Hermès Bélusca-Maïto
412037a2e2 [NTOS:KD] Use local print-like functions for output, instead of the kernel-internal KdpDprintf.
Indeed, the latter won't be accessible once those KD IO functions
get moved out into a separate KDTERM.DLL.
2023-03-28 02:42:53 +02:00
Katayama Hirofumi MZ
5d1ae45b83 [KERNEL32] LCMapString: Hiragana/Katakana conversion (#5200)
Implement LCMAP_KATAKANA and LCMAP_HIRAGANA flags. CORE-11700
2023-03-28 08:37:17 +09:00
Katayama Hirofumi MZ
3526ffc094 [BLUE] Optimize ScrIoControl for speed (#5185)
Optimize IOCTL_CONSOLE_FILL_OUTPUT_ATTRIBUTE and IOCTL_CONSOLE_FILL_OUTPUT_CHARACTER for speed by using cache. CORE-18838
2023-03-28 08:12:38 +09:00
Hermès Bélusca-Maïto
6084da8c84 [NTOS:KDBG] Move command history management in a separate file. Simplify duplicated code in KdbpReadCommand. 2023-03-27 23:31:34 +02:00
Hermès Bélusca-Maïto
eb02a85214 [NTOS:KD] Split internal/kd.h into a part shared in the whole kernel and a private part only used within ntoskrnl/kd. 2023-03-27 23:31:34 +02:00
Hermès Bélusca-Maïto
bfd07a02f1 [NTOS:KD] Update file headers. 2023-03-27 23:31:33 +02:00
Hermès Bélusca-Maïto
6fafe54f89 [NTOS:KD:KDBG] Move some files to a better place. 2023-03-27 23:31:28 +02:00
Katayama Hirofumi MZ
6d650bfc8f [COMCTL32][USER32] WM_IME_CHAR: Rely on DefWindowProc... (#5191)
Use DefWindowProc... for WM_IME_CHAR handling. CORE-15289, CORE-11700
2023-03-27 19:42:47 +09:00
Joachim Henze
7c755d9b84 [SYSSETUP] Delete obsolete lt-LT.rc
syssetup/lang/lt-LT.rc is a 100% copy of en-US.rc. Not a single string or path within did differ.
The file emerged once during some refactoring when parts from userenv were moved to syssetup in SVN r73518 == git c24dcb3ff2 .

By deduplicating that file syssetup.dll shrinks for GCC8.4.0dbg RosBEWin2.2.2
and it will speed up the development of that module if one rc-file less has to be groomed everytime something is added into syssetup.dll.
It is quicker to recreate that file later if some use for translation would evolve in the module.

I linked this commit against CORE-18893 although my commit did neither introduce
nor would solve that bug of 'the language not generating any startmenu entries'!

I stumbled over the file being a total copy of en-US
after that ticket was created already and then compared the contents of lt-LT.rc to en-US.rc
So I though the linking would make kind of sense.

I installed in lithuanian before and after my commit. No change!

lt-LT.rc was the last one of such rc copy-pastes in [SYSSETUP], I double-checked them all now.
2023-03-27 01:09:31 +02:00
Joachim Henze
c762234546 [SYSSETUP] Fix font glitch in ja-JP.rc (#5192)
CORE-18706
2023-03-26 12:04:41 +09:00
George Bișoc
f364bfc8f4 [KMTESTS:OB] Refactor OBJ_DIRECTORY_TYPE_INFO_SIZE define construct
Object types are mere type names with no backslash. Also remove wcslen()
from the define, it's not needed.
2023-03-25 19:47:26 +01:00
Joachim Henze
b373b7a11e [SYSSETUP] Fix typo in german de-DE.rc
That typo was introduced by 0.4.15-dev-3638-g 3f053db3e7
and did only affect the master branch.
2023-03-25 18:21:39 +01:00
Joachim Henze
3963d7d5f2 [SYSSETUP] Delete obsolete fi-FI.rc
syssetup/lang/fi-FI.rc is a 100% copy of en-US.rc. Not a single string or path within did differ.
The file emerged once during some refactoring when parts from userenv were moved to syssetup in SVN r73518 == git c24dcb3ff2 .

By deduplicating that file syssetup.dll shrinks from 1.374.208 -> 1.361.920 for GCC8.4.0dbg RosBEWin2.2.2
and it will speed up the development of that module if one rc-file less has to be groomed everytime something is added into syssetup.dll.
It is quicker to recreate that file later if some use for translation would evolve in the module.

I linked this commit against CORE-18893 although my commit did neither introduce
nor would solve that bug of 'the language not generating any startmenu entries'!

I stumbled over the file being a total copy of en-US
after I saw that glitch and created the ticket and then compared the contents of fi-FI.rc to en-US.rc
So I though the linking would make kind of sense.

I installed in finnish before and after my commit. No change!
2023-03-25 14:16:03 +01:00
Thamatip Chitpong
9f9b81e396 [AFD] ReceiveActivity: Don't return STATUS_FILE_CLOSED in case of FCB overread (#4972)
Based on patch by KRosUser. Remove the Overread member. The new test in ws2_32:recv confirms that this special behavior is never needed.
CORE-18328
2023-03-25 14:00:26 +01:00
Katayama Hirofumi MZ
a027eb7ccb [EXPLORER] Improve Clock text color for High Contrast (#5180)
Use GetSysColor(COLOR_BTNTEXT) to get the system color in CTrayClockWnd::OnPaint. CORE-18886
2023-03-25 21:31:32 +09:00
George Bișoc
faa6f940d5 Tag Win32SS related PRs with "Win32SS" label 2023-03-25 13:23:06 +01:00
George Bișoc
1b33c9415c [KMTESTS:OB] Write some object information querying tests 2023-03-25 11:55:11 +01:00
George Bișoc
29fc7bb33e [NTOS:OB] Implement name information querying on ObjectBasicInformation case
Currently there is no implementation support for object name information
querying when someone queries information about an object with ObjectBasicInformation
class case. Some device drivers may take use of such information.

NameInfoSize is a size that is the sum of all name directories of an object,
including path separators. TypeInfoSize is a size that is pointed by
the size of a type object itself, therefore this size remains pretty much
fixed depending on the kind of an object.

For more information:
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi/object_basic_information.htm
http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FNT%20Objects%2FType%20independed%2FNtQueryObject.html
2023-03-25 11:55:11 +01:00
Thamatip Chitpong
640e2283d4 [NTUSER] VerifyWnd: Remove pointless SEH and simplify the function (#5125) 2023-03-23 10:22:10 +01:00
Ratin Gao
d09072626b [KERNEL32] GlobalMemoryStatusEx should handle error and return FALSE when failed 2023-03-23 09:42:58 +01:00
Artyom Ovsyannikov
1fe3ab7823 [NOTEPAD] Russian (ru-RU) translation update (#5181)
Google Translate helped me to translate some lines.
2023-03-23 14:33:18 +09:00
Katayama Hirofumi MZ
8d26b03775 [COMCTL32][USER32] EDIT: Half-implement WM_IME_SETCONTEXT handling (#5182)
Add WM_IME_SETCONTEXT handling to the window procedure of the EDIT control. CORE-11700, CORE-15289
2023-03-23 12:24:40 +09:00
Katayama Hirofumi MZ
b25daf4b56 [COMCTL32][USER32] EDIT: Half-implement WM_IME_STARTCOMPOSITION (#5183)
Improve WM_IME_STARTCOMPOSITION handling in the window procedure of the EDIT control. CORE-15289, CORE-11700
2023-03-23 12:24:00 +09:00
Hermès Bélusca-Maïto
fe81656776 [NTOS:KD] DbgKdGetStringApi implementation: Ensure the returned string is NULL-terminated.
Addendum to commit 84e32e4e.

Explain more accurately what's going on regarding the returned string
and the inaccurate claims made in the official DbgPrompt documentation
in MSDN. (Has been verified by looking through the traffic in WinDbg
debugging of Windows and ReactOS.)
2023-03-22 19:58:01 +01:00
Hermès Bélusca-Maïto
9d9536d431 [NTOS:KD64] Format string of KdpDprintf can be const. 2023-03-22 19:57:59 +01:00
Joachim Henze
16decc61be [UNIATA] PROPERLY mark the rosdiff when touching 3rd party code
This is an addendum to 0.4.15-dev-5854-g 08248e83a0 from (#5053).

The review requests had not been addressed entirely before committing!
2023-03-22 06:18:54 +01:00
Katayama Hirofumi MZ
5c8d578a15 [MSPAINT] Simplify OFNHookProc and FileExtFromFilter
... by using PathFindExtension and PathFindFileName.
CORE-18867
2023-03-22 10:42:21 +09:00
Katayama Hirofumi MZ
be518f9f5a [COMCTL32][USER32] EDIT: Default processing on WM_IME_SELECT/WM_IME_CONTROL (#5173)
Do default processing on WM_IME_SELECT and WM_IME_CONTROL messages in EDIT controls. CORE-11700, CORE-15289
2023-03-22 09:09:38 +09:00
Katayama Hirofumi MZ
68e6820ddf [MSPAINT] Improve CMiniatureWindow::OnPaint
CORE-18867
2023-03-22 08:10:26 +09:00
Atharva Kulkarni
08248e83a0 [UNIATA] Fix Memory leak while claiming PCI IDE controller (#5053)
HalAssignSlotResources will allocate a new resource list which the caller must free.
2023-03-22 01:01:18 +03:00
Katayama Hirofumi MZ
cb454ef9ed [MSPAINT] Simplify TextEdit by using SizeBox (#5177)
Reduce source code. CORE-18867
2023-03-21 13:15:08 +09:00
Katayama Hirofumi MZ
57891b5f34 [MSPAINT] Tool settings: Reduce magic numbers (#5168)
Many coordinates are dynamically calculated. It is adjustable against client area change.
- Fix some brush/eraser shapes for pixel perfection.
- Reduce magic numbers in toolssettings.cpp.
- Refactoring.
CORE-18867
2023-03-21 13:13:53 +09:00
Katayama Hirofumi MZ
d28e39e409 [NOTEPAD] Use _countof macro from <stdlib.h> (#5170)
- Remove the definition of ARRAY_SIZE macro.
- Replace ARRAY_SIZE and ARRAYSIZE with _countof.
CORE-18837
2023-03-21 08:59:40 +09:00
Katayama Hirofumi MZ
49d8c1af21 [REGEDIT] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC
- Add #include <stdlib.h>.
- Move #include <crtdbg.h> to "regedit.h".
- Add #define _CRTDBG_MAP_ALLOC before #include <crtdbg.h>.
CORE-18876
2023-03-21 07:26:04 +09:00
Katayama Hirofumi MZ
1ef98fff3b [NTUSER] ime.c: Add parameter to ERR(...)
Follow-up of 94f22bd.
CORE-11700
2023-03-21 07:21:31 +09:00
Serge Gautherie
3615e7c122 [NOTEPAD] LoadIcon() needs no DestroyIcon() (#5142)
CORE-18369
2023-03-21 06:19:30 +09:00
Katayama Hirofumi MZ
ed03768b1b [MSPAINT] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC
CORE-18867
2023-03-20 22:59:05 +09:00
Katayama Hirofumi MZ
cc4480ffea [NOTEPAD] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC (#5176)
CORE-18837
2023-03-20 22:55:12 +09:00
Katayama Hirofumi MZ
94f22bda27 [NTUSER] ime.c: Add ERR(...) to the exception handlers
CORE-11700
2023-03-20 19:12:25 +09:00
Katayama Hirofumi MZ
0694b559da [NTUSER] NtUserSetImeInfoEx: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:10:04 +09:00
Katayama Hirofumi MZ
ed5098b2c9 [NTUSER] NtUserGetImeInfoEx: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:08:38 +09:00
Katayama Hirofumi MZ
ef20cc081f [NTUSER] NtUserBuildHimcList: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:06:44 +09:00
Katayama Hirofumi MZ
b301333517 [NTUSER] NtUserGetImeHotKey: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:04:18 +09:00
Katayama Hirofumi MZ
9751d03c3b [NTUSER] IntSendMessageToUI: Use _SEH2_YIELD
CORE-11700
2023-03-20 18:59:42 +09:00
Katayama Hirofumi MZ
4ab7c93b35 [NTUSER] IntNotifyImeShowStatus: Use _SEH2_YIELD
CORE-11700
2023-03-20 18:49:23 +09:00
Katayama Hirofumi MZ
7c14c0ed73 [USER32_APITEST] Follow-up of c39bf0d
Avoid buffer overflow. CORE-15289, CORE-11700
2023-03-20 16:33:11 +09:00
Katayama Hirofumi MZ
c39bf0d54b [USER32_APITEST] Improve MessageStateAnalyzer testcase
CORE-15289, CORE-11700
2023-03-20 16:17:50 +09:00
Hermès Bélusca-Maïto
942b0221e8 [NTOS:KDBG] Temporarily HACK-work-around symbols loading by disabling them at BootPhase 0.
Of course, now that we **correctly** set the LoadSymbools setting,
we attempt loading symbols at BootPhase 0 and everything goes awry!
So introduce that hack to fallback to our old behaviour.

A proper fix (and removal of the hack) will be done in future commits.
2023-03-20 03:10:14 +01:00
Hermès Bélusca-Maïto
934812c4b2 [NTOS:KDBG] Fix parsing the boot command line for the (NO)LOADSYMBOLS options.
Addendum to commit de892d5b.

The boot options get stripped of their optional command switch '/'
(and replaced by whitspace separation) by the NT loader. Also, forbid
the presence of space between the optional '=' character following
(NO)LOADSYMBOLS.

In addition, fix the default initialization of LoadSymbols in KdbSymInit():
we cannot rely on MmNumberOfPhysicalPages in BootPhase 0 since at this point,
the Memory Manager hasn't been initialized and this variable is not yet set.
(We are called by KdInitSystem(0) -> KdDebuggerInitialize0 at kernel init.)
It gets initialized later on between BootPhase 0 and 1.

Also display a nice KDBG signon showing the status of symbols loading.
2023-03-20 02:44:41 +01:00
Jose Carlos Jesus
2cfb757b29 [TRANSLATION] Improvements to portuguese (pt-PT) translation (#5154)
For: hivedef.inf, powercfg.cpl, sysdm.cpl
and: netshell.dll, netcfgx.dll, shell32.dll, userenv.dll

Also fix "My Documents" and "My Network Places" folder names.
2023-03-19 20:32:24 +01:00
Justin Miller
150f721273 [FREELDR] Support compiling freeldr as a UEFI loader + Implement UI functions (#5171)
First batch of changes to implement a UEFI version of freeldr:
- Compile freeldr as EFI binary on top of the existing loader.
- Stub out various functions so we can create a UEFI machine-type in freeldr.
- Implement all of the video output functions so we can display a pretty freeldr BSoD :)
2023-03-19 20:13:16 +01:00
Hermès Bélusca-Maïto
995630ccec [FREELDR] Fix missing exports and .edata section after commit 728694f6.
CORE-18880
2023-03-19 17:50:55 +01:00
Thomas Faber
996713515b [WS2_32_APITEST] Test overlapping recv overread. CORE-18328 2023-03-19 12:39:09 -04:00
Thomas Faber
7ca1d0e161 [WS2_32_APITEST] Add a test for recv overread. CORE-18328 2023-03-19 10:02:16 -04:00
Katayama Hirofumi MZ
6b6a045766 [MSPAINT] Make sizeboxes window-less (#5166)
Reduce window controls and integrate to the canvas window.
- The sizeboxes are absorbed by canvasWindow.
- class CSizeboxWindow is deleted.
- Add enum CANVAS_HITTEST.
- Add getSizeBoxRect, getSizeBoxHitTest, and drawSizeBoxes helper functions in sizebox.cpp.
CORE-18867
2023-03-19 10:42:10 +09:00
Hermès Bélusca-Maïto
728694f60f [FREELDR] Move platform-specific build targets into dedicated .cmake files. (#5141)
- Keep the common definitions and file lists in CMakeLists.txt
- Move PC-AT & compatibles (PC-98, XBOX) definitions in pcat.cmake
- Future UEFI-specific definitions will be in an uefi.cmake
2023-03-18 22:40:10 +01:00
Hermès Bélusca-Maïto
7a2aca423e [FREELDR] Move common x64 runtime-specific ASM helpers to a misc file.
Co-authored-by: Justin Miller <justinmiller100@gmail.com>
2023-03-18 22:40:08 +01:00
Dmitry Borisov
557306f5c0 [DDK:NDIS] Fix definition of broadcast address macro (#5155)
ff:ff:ff:ff:ff:ff is the broadcast MAC address.

CORE-8724
2023-03-18 16:57:52 +01:00
Katayama Hirofumi MZ
1c7c0fa7a7 [MSPAINT] Save ToolBox visibility (#5167)
According to my registry analysis, the target value is HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Paint\General-Bar3:Visible.
- Add ShowToolBox registry setting.
CORE-18867
2023-03-18 17:20:43 +09:00
Katayama Hirofumi MZ
5ed7db5acb [MSPAINT] Save paletteWindow visibility (#5167)
According to my registry analysis, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint\General-Bar4:Visible is the target value.
- Improve ReadDWORD helper function.
- Add ShowPalette registry setting.
- Simplify RegistrySettings::Load and RegistrySettings::Store.
CORE-18867
2023-03-18 17:12:28 +09:00
Hermès Bélusca-Maïto
422621622d [NTOS:KD] Improve the display of the output providers' signons. 2023-03-18 03:42:32 +01:00
Hermès Bélusca-Maïto
a8bcc8d7a1 [NTOS:MM] Simplify definitions of MM_SYSLDR_NO_IMPORTS and MM_SYSLDR_BOOT_LOADED. 2023-03-18 03:42:31 +01:00
Hermès Bélusca-Maïto
f6c8155239 [SDK] driverspecs.h: Add missing dummy _IRQL_limited_to_() definition (when _PREFAST_ is not defined).
Addendum to commit 8a688204.
2023-03-18 03:42:26 +01:00
Katayama Hirofumi MZ
e9f3790aa4 [MSPAINT] Encapsulation: hNontranspIcon and hTranspIcon
CORE-18867
2023-03-18 08:24:19 +09:00
Katayama Hirofumi MZ
cc3b53fef9 [MSPAINT] Encapsulation: hCurFill, hCurColor etc.
CORE-18867
2023-03-18 08:09:26 +09:00
Katayama Hirofumi MZ
d40de8f47c [MSPAINT] Add Static Edge to toolbars
- Add WS_EX_STATICEDGE to paletteWindow.
- Remove CCS_NODIVIDER from toolbar.
CORE-18867
2023-03-17 19:18:07 +09:00
Katayama Hirofumi MZ
868c7c4d53 [MSPAINT] Delete useless "STATIC" control
CORE-18867
2023-03-17 19:01:42 +09:00
Katayama Hirofumi MZ
eacf003c81 [MSPAINT] Move UpdateCanvas's code to newly-defined CCanvasWindow::Update
CORE-18867
2023-03-17 07:51:12 +09:00
Katayama Hirofumi MZ
7361592ede [MSPAINT] Rename scrollbox as canvas
- s/CScrollboxWindow/CCanvasWindow/
- s/scrollboxWindow/canvasWindow/
- s/UpdateScrollbox/UpdateCanvas/
CORE-18867
2023-03-17 07:45:14 +09:00
Katayama Hirofumi MZ
a88dcbd6c3 [MSPAINT] Remove extra scrlClientWindow (#5162)
CORE-18867
2023-03-17 07:28:42 +09:00
Katayama Hirofumi MZ
41c30182d4 [MSPAINT] Refactor about Recent Files (#5163)
Define MAX_RECENT_FILES macro as 4.
Remove strFile1, ..., strFile4 settings and add strFiles[MAX_RECENT_FILES] for Most Recently Used (MRU) files.
CORE-18867
2023-03-17 07:28:01 +09:00
Katayama Hirofumi MZ
a81f229065 [MSPAINT] Restore the main window saved show state (#5158)
Our mspaint didn't remember the maximized status of the main window. CORE-18867
2023-03-17 07:26:44 +09:00
Katayama Hirofumi MZ
88733bca77 [MSPAINT] Unlink HHCTRL.OCX and use dynamic load (#5165)
Unlink HHCTRL.OCX by modifying CMakeLists.txt. Add DoHtmlHelpW helper function. CORE-18879, CORE-18867
2023-03-17 07:25:51 +09:00
George Bișoc
eb7550f767 [NTDLL_APITEST] Write some tests for NtQueryOpenSubKeys 2023-03-16 20:04:31 +01:00
Katayama Hirofumi MZ
0cf45d508c [MSPAINT] Delete needless CMainWindow::OnSetCursor
CORE-18867
2023-03-16 18:13:28 +09:00
Katayama Hirofumi MZ
b5ae55f3ff [MSPAINT] Delete useless CFullscreenWindow::OnSetCursor
CORE-18867
2023-03-16 17:56:05 +09:00
Katayama Hirofumi MZ
b369ec3fa1 [MSPAINT] Delete needless CMiniatureWindow::OnSetCursor
CORE-18867
2023-03-16 17:49:05 +09:00
Katayama Hirofumi MZ
34881b9a88 [MSPAINT] Delete needless CToolBox::OnSetCursor
CORE-18867
2023-03-16 17:26:27 +09:00
Katayama Hirofumi MZ
136f23578f [NOTEPAD] Use full path for non-existent file (#5152)
In HandleCommandLine function, use GetFullPathName API to get the full path of a non-existent file. CORE-18259, CORE-18837
2023-03-16 10:18:54 +09:00
Robert Naumann
75ac9f8477 [REGEDIT] import Wine commit f5fe9a6 by Hugh McMaster.
f5fe9a6cf9
This removes the ROS-diff caused by CORE-18603's fix
2023-03-15 16:54:47 +01:00
Katayama Hirofumi MZ
3625f55fbb [MSPAINT] Delete unused global variables (lfTextFont, ...
hfontTextFont, hwndEditCtl, textToolText, and textToolTextMaxLen).
CORE-18867
2023-03-15 15:09:26 +09:00
Doug Lyons
cce3eb9393 Fix buffer read past end problem. (#5146)
Fixes crashes in regedit-find affecting CORE-15896 and CORE-18230. After possible RegQueryValueExW append 3 zero bytes to guarantee that we will end with a UNICODE NULL.
2023-03-15 10:57:54 +09:00
Katayama Hirofumi MZ
44b2a46d03 [MSPAINT] Avoid flickering when resizing (#5144)
- Add CPaletteWindow::OnEraseBkgnd to avoid flickering.
- Add getColorBoxRect and drawColorBox helper functions to draw a color box.
- Add CPaletteWindow::DoHitTest helper function to do a hit test.
- Improve CPaletteWindow::OnPaint by using a memory bitmap.
- Improve readability of CMainWindow::alignChildrenToMainWindow.
CORE-18867
2023-03-15 07:29:25 +09:00
Katayama Hirofumi MZ
f5840df9e9 [NOTEPAD] Delete license.c (no use) (#5159)
File license.c is not used. Reduce source code. CORE-18837
2023-03-15 07:28:15 +09:00
Katayama Hirofumi MZ
fb1d9d722d [NOTEPAD] Use new-style file header (#5160)
CORE-18837
2023-03-15 07:27:29 +09:00
Jose Carlos Jesus
b8c4d589b1 [SHELL32] Give opportunity to rename file/folder on its creation (#5139)
* [SHELL32] Fix issue when creating a new file or folder. No chance to rename the displayed name.

The CNewMenu::SelectNewItem method starts with a request to notify the View object about a new item by calling SHChangeNotify.
After creating and obtaining the new PIDL by calling ILFindLastID, the CDefView::SelectItem method is called.
This method fails right from the start when calling LV_FindItemByPidl which returns -1, thus preventing the user from being given the opportunity to change the name displayed by default.

This failure is due to the fact that this object has not yet been added to the CDefView::m_ListView list. This is caused by the asynchronous nature of SHChangeNotify.

Thanks to Giannis Adamopoulos for the big help.
2023-03-14 22:27:14 +01:00
Katayama Hirofumi MZ
9b6b1b3513 [MSPAINT] CImageAreaWindow should inherit CWindowImpl<CImgAreaWindow>
... instead of CWindowImpl<CMainWindow>.
CORE-18867
2023-03-14 14:17:40 +09:00
Katayama Hirofumi MZ
d91b262590 [MSPAINT] Window class of main window should be 'MSPaintApp'
CORE-18867
2023-03-14 14:09:17 +09:00
Katayama Hirofumi MZ
0eeffc2143 [REGEDIT] CMakeLists.txt: Enable _DEBUG on debugging
CORE-18876
2023-03-14 12:22:23 +09:00
Katayama Hirofumi MZ
598dd51d70 [NOTEPAD] CMakeLists.txt: Enable _DEBUG on debugging
CORE-18837
2023-03-14 12:17:40 +09:00
Katayama Hirofumi MZ
19027f3c81 [REGEDIT] Use HeapFree for g_pChildWnd, instead of free() 2023-03-14 12:08:50 +09:00
Katayama Hirofumi MZ
0a1d467a11 [NOTEPAD] Add 'katahiromz' to STRING_NOTEPAD_AUTHORS
CORE-18837
2023-03-14 11:24:12 +09:00
Katayama Hirofumi MZ
c888a13c0b [NOTEPAD] Save searchString and replaceString settings
CORE-18837
2023-03-14 11:03:20 +09:00
Hermès Bélusca-Maïto
de892d5bc7 [NTOS:KDBG] Fix the support for /(NO)LOADSYMBOLS as we didn't respect them properly.
LoadSymbols was reset to its default value whenever KdbSymInit() was
called, thus we would e.g. load symbols even if /NOLOADSYMBOLS or
/LOADSYMBOLS=NO were specified at the command line.
2023-03-14 01:17:42 +01:00
Hermès Bélusca-Maïto
e241c87eea [SDK] sdkddkver.h: Add NTDDI_* defines for newest Windows 10 and 11 versions.
And add version descriptions, especially for Windows 10 as it becomes messy.

Information from:
- https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlisntddiversionavailable
- Shared/sdk/extdef.h from https://github.com/Mattiwatti/WinObjEx64
- Descriptions from https://github.com/MiroKaku/Veil
- Cross-checked with headers from https://github.com/microsoft/wil
2023-03-14 00:14:12 +01:00
Katayama Hirofumi MZ
5cf947edc7 [REGEDIT] Use _CrtSetDbgFlag to check memory leak
We can borrow the power of CRT debug. These changes are effective for debug version only:
- Insert #include <crtdbg.h> at main.c.
- Call _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) at the prologue of wWinMain.

This is a follow-up of #5151 (9abd9b6) and 0998665.
2023-03-14 07:22:34 +09:00
Katayama Hirofumi MZ
0998665463 [MSPAINT] Use _CrtSetDbgFlag to check memory leak
We can borrow the power of CRT debug. These changes are effective for debug version only:
- Insert #include <crtdbg.h> at main.cpp.
- Call _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) at the prologue of _tWinMain.

This is a follow-up of #5151 (9abd9b6).
CORE-18867
2023-03-14 07:17:14 +09:00
Katayama Hirofumi MZ
9abd9b667a [NOTEPAD] Use _CrtSetDbgFlag to check memory leak (#5151)
We can borrow the power of CRT debug. These changes are effective for debug version only:
- Insert #include <crtdbg.h> at main.c.
- Call _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) at the prologue of _tWinMain.
CORE-18837
2023-03-14 07:08:56 +09:00
Katayama Hirofumi MZ
c766ee9ebb [NETSHELL] Shrink radio buttons vertically (#5157)
- Fix the visual glitch of the network settings dialog of 2nd setup.
- Shrink the IDC_NETWORK_TYPICAL and IDC_NETWORK_CUSTOM radio buttons of IDD_NETWORKSETTINGSPAGE resource dialog vertically not to be overlapped.
CORE-18874
2023-03-14 07:03:54 +09:00
Joachim Henze
2aea4ab945 [NTUSER] Scrollbar.c pure whitespace fixes
The scrollbar code is now finally in a good shape.
Therefore I will port the current state back today,
and for that I want to have the formatting in good shape.

No functional changes!
2023-03-12 10:34:50 +01:00
Katayama Hirofumi MZ
b9ef348ab0 [NTUSER][USER32] KLF_SETFORPROCESS for ActivateKeyboardLayout (#5126)
Supporting KLF_SETFORPROCESS flag in ActivateKeyboardLayout function.

Implement KLF_SETFORPROCESS for co_UserActivateKeyboardLayout.
Use KLF_SETFORPROCESS flag in WM_INPUTLANGCHANGEREQUEST handling.
Add co_IntSetKeyboardLayoutForProcess helper function.
2023-03-12 13:39:41 +09:00
Hermès Bélusca-Maïto
ab92e40317 [NTOS:KD] Remove unneeded 'extern' declaration. Addendum to commit 4ce819ca. 2023-03-12 02:17:15 +01:00
Hermès Bélusca-Maïto
372eb0c0b8 [NTOS:KDBG] Remove dead code. Addendum to baa47fa5e and fe777bb52. 2023-03-12 02:16:58 +01:00
Katayama Hirofumi MZ
d0ab35e9da [NOTEPAD] Refactor around _tWinMain (#5135)
- Add hInstance parameter to NOTEPAD_InitData.
- Move some code in _tWinMain into NOTEPAD_InitData.
- Move some code in _tWinMain into WM_CREATE handling.
- Move some code in WM_CLOSE handling into WM_DESTROY handling.
- Fix the exit code of _tWinMain.
CORE-18837
2023-03-12 08:26:33 +09:00
Katayama Hirofumi MZ
3b0791547f [NOTEPAD] Move the printing code to the newly added printing.c
CORE-18837
2023-03-12 07:51:53 +09:00
Katayama Hirofumi MZ
072503c1fc [NOTEPAD] Add 'Now-printing' dialog (#5127)
Allow the user to cancel the print job.
- Add DIALOG_PRINTING dialog.
- Make the print job another thread.
- Let the thread communicate with the dialog box by PRINTING_MESSAGE.
- Add some resource strings.
CORE-18837
2023-03-11 22:23:14 +09:00
Katayama Hirofumi MZ
b49b47fc84 [MSPAINT] Delete unused HWND hToolBtn[16] global variable
CORE-18867
2023-03-11 14:19:12 +09:00
Katayama Hirofumi MZ
9ff9295a22 [MSPAINT] Remember status bar visibility (#5145)
- Add ShowStatusBar registry setting.
- Save ShowStatusBar status and restore the status on startup.
CORE-18867
2023-03-11 11:41:52 +09:00
Hermès Bélusca-Maïto
4ce819ca5a [NTOS:KD][KDBG] Rework the BootPhase >= 2 initialization of the KD/KDBG kernel debugger. (#4892)
CORE-17470

+ KdpDebugLogInit: Add resources cleanup in failure code paths.

Fix, in an NT-compatible manner, how (and when) the KD/KDBG BootPhase >=2
initialization steps are performed.
These are necessary for any functionality KDBG needs, that would depend
on the NT I/O Manager and the storage and filesystem stacks to be running.
This includes, creating the debug log file, and for KDBG, loading its
KDBinit initialization file.

As a result, file debug logging is fixed.

The old ReactOS-specific (NT-incompatible) callback we did in the middle
of IoInitSystem() is removed, in favor of a runtime mechanism that should
work on Windows as well.

The idea for this new mechanism is loosely inspired by the TDL4 rootkit,
see http://blog.w4kfu.com/public/tdl4_article/draft_tdl4article.html
but contrary to it, a specific hook is used instead, as well as the
technique of driver reinitialization:
https://web.archive.org/web/20211021050515/https://driverentry.com.br/en/blog/?p=261

Its rationale is as follows:

We want to be able to perform I/O-related initialization (starting a
logger thread for file log debugging, loading KDBinit file for KDBG,
etc.). A good place for this would be as early as possible, once the
I/O Manager has started the storage and the boot filesystem drivers.

Here is an overview of the initialization steps of the NT Kernel and
Executive:
----
KiSystemStartup(KeLoaderBlock)
    if (Cpu == 0) KdInitSystem(0, KeLoaderBlock);
    KiSwitchToBootStack() -> KiSystemStartupBootStack()
    -> KiInitializeKernel() -> ExpInitializeExecutive(Cpu, KeLoaderBlock)

(NOTE: Any unexpected debugger break will call KdInitSystem(0, NULL); )
KdInitSystem(0, LoaderBlock) -> KdDebuggerInitialize0(LoaderBlock);

ExpInitializeExecutive(Cpu == 0):    ExpInitializationPhase = 0;
    HalInitSystem(0, KeLoaderBlock); <-- Sets HalInitPnpDriver callback.
    ...
    PsInitSystem(LoaderBlock)
        PsCreateSystemThread(Phase1Initialization)

Phase1Initialization(Discard):       ExpInitializationPhase = 1;
    HalInitSystem(1, KeLoaderBlock);
    ...
    Early initialization of Ob, Ex, Ke.
    KdInitSystem(1, KeLoaderBlock);
    ...
    KdDebuggerInitialize1(LoaderBlock);
    ...
    IoInitSystem(LoaderBlock);
    ...
----
As we can see, KdDebuggerInitialize1() is the last KD initialization
routine the kernel calls, and is called *before* the I/O Manager starts.
Thus, direct Nt/ZwCreateFile ... calls done there would fail. Also,
we want to do the I/O initialization as soon as possible. There does
not seem to be any exported way to be notified about the I/O manager
initialization steps... that is, unless we somehow become a driver and
insert ourselves in the flow!

Since we are not a regular driver, we need to invoke IoCreateDriver()
to create one. However, remember that we are currently running *before*
IoInitSystem(), the I/O subsystem is not initialized yet. Due to this,
calling IoCreateDriver(), much like any other IO functions, would lead
to a crash, because it calls
ObCreateObject(..., IoDriverObjectType, ...), and IoDriverObjectType
is non-initialized yet (it's NULL).

The chosen solution is to hook a "known" exported callback: namely, the
HalInitPnpDriver() callback (it initializes the "HAL Root Bus Driver").
It is set very early on by the HAL via the HalInitSystem(0, ...) call,
and is called early on by IoInitSystem() before any driver is loaded,
but after the I/O Manager has been minimally set up so that new drivers
can be created.
When the hook: KdpInitDriver() is called, we create our driver with
IoCreateDriver(), specifying its entrypoint KdpDriverEntry(), then
restore and call the original HalInitPnpDriver() callback.

Another possible unexplored alternative, could be to insert ourselves
in the KeLoaderBlock->LoadOrderListHead boot modules list, or in the
KeLoaderBlock->BootDriverListHead boot-driver list. (Note that while
we may be able to do this, because boot-drivers are resident in memory,
much like we are, we cannot insert ourselves in the system-driver list
however, since those drivers are expected to come from PE image files.)

Once the KdpDriverEntry() driver entrypoint is called, we register
KdpDriverReinit() for re-initialization with the I/O Manager, in order
to provide more initialization points. KdpDriverReinit() calls the KD
providers at BootPhase >= 2, and schedules further reinitializations
(at most 3 more) if any of the providers request so.
2023-03-11 01:22:19 +01:00
Hervé Poussineau
bf734e5373 [NTOS:KD] Move handling of Dmesg buffer from screen provider to KDBG provider. (#5143)
CORE-10749

The dmesg command is now available even if screen output is disabled.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2023-03-10 23:59:08 +01:00
Katayama Hirofumi MZ
86e2f9e635 [MSPAINT] There were two "main" windows (#5147)
Our mspaint had two windows of window class "MainWindow".
class CToolBox should inherit CWindowImpl<CToolBox> instead of CWindowImpl<CMainWindow>.
CORE-18867
2023-03-11 07:42:04 +09:00
Joachim Henze
784946db8c [SYSSETUP] Tweak resources CORE-18870
de-DE: Harmonize the length of IDC_COMPUTERNAME with IDC_ADMINPASSWORD1 and IDC_ADMINPASSWORD2
which looks better and is already done like that in en-US.

de-DE: Also harmonize some 2nd stage captions. Some were named "Setup" and some were
named "Installation". I harmonized to "Setup" everywhere as that is what is also used in
1st stage, is shorter and no german person will have any issue understanding
that. It is also more likely to be kept in sync in the future if new dlgs would
be added, as it is the same word as used in en-US.

de-DE: Align the IDC_PROJECTS with the GPL button (which is slightly more wide in de-DE).

All languages:
Use same width for IDC_PRODUCT_OPTIONS as for IDC_PRODUCT_DESCRIPTION.
2023-03-10 21:36:46 +01:00
Hermès Bélusca-Maïto
dfb6996b45 [NTOS:KDBG] Split KdbInitialize into KdbSymInit and KDBG initialization proper.
- KdbSymInit() in kdb_symbols.c only initializes symbols implementation
  support.
- The rest of KdbInitialize gets moved into kdb_cli.c and initializes
  the KDBG debugger itself.
- Move KdbDebugPrint to kdb_cli.c as well.
2023-03-10 20:56:21 +01:00
Joachim Henze
793e9f20ef [DXDIAG] Fix text truncation on button for french fr-FR.rc CORE-18853
By shortening the text to what MS Windows uses there.
See the 2k3sp2 pic in the ticket.
2023-03-10 18:03:02 +01:00
Katayama Hirofumi MZ
02c647802f [MSPAINT] Fix use of uninitialized variable on startup (#5140)
There was an exception in starting up of mspaint of Visual Studio 2019 build. CORE-18594, CORE-18867
2023-03-10 07:31:31 +09:00
Joachim Henze
29d0deef13 [DXDIAG] Fix text truncation german de-DE.rc CORE-18853 (#5137) 2023-03-09 23:27:49 +01:00
Katayama Hirofumi MZ
87e905ecd8 [NOTEPAD] Use Globals.hMainWnd in ShowLastError (#5132)
Improving UI/UX by making Globals.hMainWnd the owner of the message box. CORE-18837
2023-03-10 07:25:06 +09:00
Hermès Bélusca-Maïto
a49732e5b6 [NTOS:KD] KdpDebugLogInit: Fix ZwCreateFile flags for appending to debug logging file.
However, ReactOS currently doesn't handle FILE_APPEND_DATA correctly,
so temporarily add a hack for fixing its support.

CORE-18789
2023-03-09 18:59:16 +01:00
Hermès Bélusca-Maïto
a8b09eddc4 [NTOS:KD] Add some annotations. 2023-03-09 18:32:36 +01:00
Hermès Bélusca-Maïto
cee893be99 [NTOS:KD] Simplify min-values calculations in KdpPrintToLogFile and KdpScreenPrint. 2023-03-09 18:26:53 +01:00
Hermès Bélusca-Maïto
4585372c6d [NTOS:IO/KD/KDBG] Formatting fixes only. 2023-03-09 18:26:02 +01:00
Ratin Gao
df7ab5d8f7 [KERNEL32] Remove a pointless SEH in VirtualAllocEx (#5117)
Win2K3 just wraps in SEH only this syscall, which appears pointless
and was removed since NT6.0. We remove it too as an experiment.
Revert the change that added SEH here from commit 6d97180 (r52899).
2023-03-09 17:08:08 +01:00
Katayama Hirofumi MZ
139809b747 [NOTEPAD] Use DestroyIcon instead of DeleteObject to destroy icon (#5130)
CORE-18837
2023-03-09 08:24:19 +09:00
Katayama Hirofumi MZ
bc89074cd5 [NOTEPAD] Remove some needless type casts (#5134)
CORE-18837
2023-03-09 08:23:08 +09:00
Hermès Bélusca-Maïto
abece16776 [WORDPAD][WRITE] Remove redundant pragma code_page(65001)...
... since this is done in the main RC file, from which the per-language
resource files are included.
2023-03-09 00:13:59 +01:00
Doug Lyons
2f43d9c183 [MSAFD] Work around regression of CORE-18848 from 0.4.12-dev-693-g2b1f6c8 (#5102)
Fix winetest for ws2_32:sock that crashes on 'test_AcceptEX' by modifying return values of WSPIoctl for 'case SIO_GET_EXTENSION_FUNCTION_POINTER'
2023-03-08 21:47:45 +01:00
Mark Jansen
5bc045c041 [SDK:SCRNSAVE] Implement mouse move threshold.
This makes it easier to start the screensavers by double-clicking.
2023-03-08 20:19:19 +01:00
Katayama Hirofumi MZ
f91b92c3f9 [NOTEPAD] Delete main.h (#5133)
Reduce files to improve readability. Move the codes in main.h into notepad.h. Make the size of Globals.szFilter 512.
CORE-18837
2023-03-09 03:41:11 +09:00
Katayama Hirofumi MZ
9ac20a7fe2 [NOTEPAD] Reduce lines in and around comments (#5131)
Reduce lines. CORE-18837
2023-03-09 03:11:57 +09:00
Thomas Faber
8e0c920fd2 [WINESYNC] user32/edit: Allow buffer access after EM_GETHANDLE.
wine commit id f62d8dc58fb3fb5f11a8ab55620ab9b2fbdaf967 by Nikolay Sivov <nsivov@codeweavers.com>
2023-03-07 21:48:06 -05:00
Thomas Faber
1ee9ea4518 [REGEDIT] Avoid buffer overflow in SelectNode. CORE-18602 2023-03-07 19:43:57 -05:00
Thomas Faber
910822b8f5 [REGEDIT] Add back import prompt message lost during Wine sync. CORE-18770 2023-03-07 19:41:51 -05:00
George Bișoc
8b75dce45a [NTOS:SE][FORMATTING] Fix the file header
This fixes the copyright file header at the top of the file, reflecting
the Coding Style rules. No code changes!
2023-03-07 18:39:46 +01:00
George Bișoc
b284e82f47 [NTOS:SE] Do not allocate memory pool just for the access rights
Access check is an expensive operation, that is, whenever an access to an
object is performed an access check has to be done to ensure the access
can be allowed to the calling thread who attempts to access such object.

Currently SepAnalyzeAcesFromDacl allocates a block of pool memory for
access check rights, nagging the Memory Manager like a desperate naughty
creep. So instead initialize the access rights as a simple variable in
SepAccessCheck and pass it out as an address to SepAnalyzeAcesFromDacl so
that the function will fill it up with access rights. This helps with
performance, avoiding wasting a few bits of memory just to hold these
access rights.

In addition to that, add a few asserts and fix the copyright header on
both se.h and accesschk.c, to reflect the Coding Style rules.
2023-03-07 17:50:39 +01:00
Katayama Hirofumi MZ
064ac123d1 [NOTEPAD] Improve printing (header/footer/tabs/performance) (#5111)
- Fix GetPrintingRect function.
- Add DrawHeaderOrFooter, DoPrintBody, DoPrintPage, DoCreatePrintFonts, and DoPrintDocument helper functions.
- Implement page header/footer and tabs printing in DIALOG_FilePrint function.
- Improve printing performance.
- Modify the header/footer resource strings.
- Delete the needless resource strings.
CORE-18837
2023-03-07 14:42:27 +09:00
George Bișoc
a804ba3200 [NTOS:SE] Print debug output only if NDEBUG is not defined
This mutes a lot of debug spam that fills up the debugger when an access
check fails because a requestor doesn't have enough privileges to access
an object.
2023-03-06 20:03:44 +01:00
Doug Lyons
b0a03a7caa [WS2_32] Fix Two DPRINT typo errors (#5113) 2023-03-06 12:22:28 +01:00
Katayama Hirofumi MZ
fdedc549d0 [MSVCRT] Follow-up of Follow-up of #5032 (f172503)
Fix for system/_wsystem.
Use _set_errno(ENOMEM) for malloc failure.
Rename status variable as exit_code.
2023-03-05 23:28:00 +09:00
Katayama Hirofumi MZ
5a7dbd6064 [MSVCRT] Follow-up of #5032 (f172503)
Use _cwait() instead of WaitForSingleObject and GetExitCodeProcess.
Use malloc/free instead of LocalAlloc/LocalFree.
2023-03-05 23:20:12 +09:00
Katayama Hirofumi MZ
f172503d57 [MSVCRT][CRT_APITEST] Implement _wsystem (#5032)
Implement _wsystem(), by referring system().
Improve system().
Use WaitForSingleObject in system() and _wsystem().
Check existence of COMSPEC.
Thanks ChatGPT.
2023-03-05 21:01:14 +09:00
Atharva Kulkarni
72974d2bac [MSPAINT] Treat as a file even if the bitmap file is empty
CORE-18508
2023-03-05 20:53:38 +09:00
Katayama Hirofumi MZ
77e6348f5f [NTUSER][USER32] Refactor NtUserLoadKeyboardLayoutEx (#5107)
- Split some code of NtUserLoadKeyboardLayoutEx to newly-added co_IntLoadKeyboardLayoutEx helper function.
- Modify NtUserLoadKeyboardLayoutEx prototype.
- Move co_UserImmLoadLayout code.
- Implement KLF_REORDER.
- Rename UserLoadKbdLayout as co_UserLoadKbdLayout.
- Improve LoadKeyboardLayoutEx.
CORE-11700
2023-03-05 11:41:32 +09:00
Joachim Henze
0fb580a855 [SDK] Improve gen_baseaddress.py and its output files (#4964)
* [SDK:TOOLS] Improve gen_baseaddress.py

Adds some kbd layout modules into the excludes-section:
that we do lack for todays master: e.g._ kbdeo, kbdsf, kbdrost

and also some that we lacked in the past
(for improving backwards compatibility of the script to older rls-branches):
kbdgm, kbdes, kbdgrist, kbdja, kbdko, kbdsk, kbdsk1

* [SDK:CMAKE] Highlight in the output files where the script does misbehave
2023-03-04 11:45:06 +01:00
Carlo Bramini
6d57c6c91c [CMDUTILS] Add Italian (it-IT) translation for WHERE command 2023-03-01 22:05:04 +01:00
Katayama Hirofumi MZ
f8c7bd6898 [NOTEPAD] Don't reset Find/Replace if lpstrFindWhat is set (#5104)
We don't want to reset the status of the checkboxes even if the Find/Replace dialog was closed. If lpstrFindWhat is set, do not reset the Find/Replace settings at DIALOG_SearchDialog. CORE-18837
2023-03-01 20:17:27 +09:00
Katayama Hirofumi MZ
8c7233e015 [NOTEPAD] Fix NOTEPAD_FindTextAt (#5103)
The whole-word search of Notepad had a bug around punctuation. For example, the text "Windows" didn't match in the text "MS-DOS,Windows,ReactOS". Use _istalnum instead of _istspace. Fix the position to check. _istalnum matches an alphabet letter or numeric digit. CORE-18837
2023-03-01 19:57:10 +09:00
Katayama Hirofumi MZ
55e3feba53 [NOTEPAD] Shift+F3 for backward search (#5101)
- Add Shift+F3 accelerator as command CMD_SEARCH_PREV.
- Extend DIALOG_SearchNext function with bDown argument for the action of CMD_SEARCH_PREV.
- Modify the message loop for effective F3 key on Find/Replace dialog.
CORE-17064
2023-03-01 07:16:28 +09:00
Joachim Henze
a9b1e059f4 [RAPPS] Style-addendum, no functional change (#5091)
* Just rename the 4 new files. Absolutely no other change.
* CMakeLists.txt, adapt the filenames
* Adapt all includes to make it compile
* CApplicationDB->CAppDB
* CApplicationInfo->CAppInfo
* Follow Mark Jansens good example and antipad the headers
2023-02-28 01:00:29 +01:00
Doug Lyons
60851914a8 Fix ICO_ExtractIconExW causing explorer to crash when trying
to display icon for bad EXE PE header.

See CORE-15879

 Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
2023-02-27 22:28:41 +01:00
Katayama Hirofumi MZ
781fb4a55e [IMM32] Fix ImmGetCompositionStringA/W (#5105)
Fix some typos in Imm32GetCompStrA/W. CORE-11700
2023-02-27 12:33:45 +09:00
Katayama Hirofumi MZ
88b1d89e95 [IMM32] Silence 'Out of boundary' log-spam
CORE-18852
2023-02-26 11:57:44 +09:00
Rexx J. Larsson
909b165c4a [SYSSETUP] Removed qemu credit entirely (#4971) 2023-02-25 23:44:06 +01:00
Mark Jansen
76753cd342 [USER32] Fix edit UAF by importing wine commit b40ddf42370e8344a862fbbc40384678db3871a9 2023-02-25 23:41:41 +01:00
Mark Jansen
cf08f9271e [COMCTL32] Fix edit UAF by importing wine commit fed0c33fe02a3fcb477086a32dc8d52c1e347889 2023-02-25 23:41:25 +01:00
Jose Carlos Jesus
ed4b16b7ff [SHELL32] Give a chance to rename new file or folder when created (#4950) 2023-02-25 23:38:42 +01:00
Katayama Hirofumi MZ
2284aa6e8b [COMDLG32] Follow-up of #5097 (f4bb0ae)
Do not change flags unless necessary.
https://bugs.winehq.org/show_bug.cgi?id=54567
CORE-17064
2023-02-25 10:31:43 +09:00
Katayama Hirofumi MZ
f4bb0ae376 [COMDLG32] Find/Replace: Correctly set flags (#5097)
The flags were not updated correctly. CORE-17064
2023-02-25 09:16:36 +09:00
Katayama Hirofumi MZ
13cf4c52f5 [USETUP] Speed up DoFileCopy +24% (#5089)
Make STRING_COPYING cached. CORE-18838
2023-02-24 10:19:53 +09:00
Jose Carlos Jesus
6d2012ac3b [BOOTDATA][INF] Add pt-PT translation (#4926) 2023-02-23 09:51:33 +09:00
Jose Carlos Jesus
23cd14d78b [SHELL32] Move error message to rc files so can be translated (CORE-18786) (#4997)
CORE-18786
2023-02-23 09:43:53 +09:00
Katayama Hirofumi MZ
a351943caa [NOTEPAD] Improve DIALOG_GoTo (#5082)
- Don't use text directly in DIALOG_GoTo function. Rely the EM_* message handlers.
- Fix and improve DIALOG_GOTO resource dialog (that was wrong in some points).
- Add STRING_LINE_NUMBER_OUT_OF_RANGE.
CORE-18837
2023-02-22 21:18:05 +09:00
Katayama Hirofumi MZ
95a64cbdd2 [NTUSER] Send WM_IME_SYSTEM:IMS_UPDATEIMEUI (#5075)
Send WM_IME_SYSTEM:IMS_UPDATEIMEUI message after window position change to improve IME UI sync. CORE-11700, CORE-15289
2023-02-22 08:35:55 +09:00
Katayama Hirofumi MZ
ead9366ef7 [NOTEPAD] Avoid half-initialized status of settings (#5078)
- Avoid buffer overrun in QueryString helper function.
- Improve NOTEPAD_LoadSettingsFromRegistry function.
CORE-18837
2023-02-21 09:22:41 +09:00
Katayama Hirofumi MZ
4c1e83d514 [SHLWAPI][SHLWAPI_APITEST] Expand string in SHLoadIndirectString (#5084)
- shlwapi!SHLoadIndirectString expands the environmental strings if the first character was '@'.
- Implement SHLoadRegUIStringA function.
CORE-10667
2023-02-21 09:17:47 +09:00
Katayama Hirofumi MZ
acd3148c1a [USETUP] Speed up CONSOLE_SetStatusTextXV +17% (#5086)
Get more speed by omitting erasing and overwriting whole line. CORE-18838
2023-02-21 09:14:26 +09:00
Atharva Kulkarni
f1de615b9c [MCIAVI32] Add ifdef guards to prevent regression (#5090)
as an addendum to (#5063) and CORE-18669
2023-02-20 20:23:37 +01:00
Mark Jansen
647f74d4ab [ATL] Remove some code that doesn't exist in the native ATL 2023-02-20 19:32:59 +01:00
Mark Jansen
33c2903e6d [RAPPS] Rework application handling
Previously, there would be function duplication between installed and available applications.
Now this is handled with polymorphism, which allows to re-use a lot of code.
Additionally, toolbar buttons are properly disabled now.
The mutex used to guard rapps' single instance is renamed,
so that the 'new' and old rapps can be run at the same time for testing.

CORE-18459
2023-02-20 19:30:02 +01:00
Katayama Hirofumi MZ
0cd80c17f6 [NOTEPAD] Simplify GetSelectionText (#5083)
Use EM_GETHANDLE message to get text. CORE-18837
2023-02-20 22:00:49 +09:00
Katayama Hirofumi MZ
f7f2ed201a [NOTEPAD] Make "UTF-8 without BOM" default (#5081)
- Define a constant ENCODING_DEFAULT that is equal to ENCODING_UTF8.
- Initialize Globals.encFile as ENCODING_DEFAULT.
- Reset encoding and line ending in DIALOG_FileNew.
- AnalyzeEncoding returns ENCODING_DEFAULT for non-zero ASCII text.
- Remove unnecessary DIALOG_StatusBarAlignParts calls.
CORE-18837
2023-02-20 21:59:16 +09:00
Katayama Hirofumi MZ
b2cac5cd6c [USETUP] Slightly optimize CONSOLE_SetStyledText (#5087)
Do not calculate Length unless necessary. CORE-18838
2023-02-20 18:31:34 +09:00
Joachim Henze
a5cd42c1ea [NETSHELL] Repair "Network Connection 'State' does nothing" CORE-18844
It regressed in master by 0.4.15-dev-5613-g 7a17c7d9ad

It was the only place within the ros sources where message WM_SHOWSTATUSDLG
was sent also from code. And therefore the only one that needed to be updated as well.
2023-02-19 18:44:51 +01:00
Gabriel Grondin
e400bd0861 [SYSDM] Fix french translation and layout (#4992)
Based on earlier PR #4704
- Fixed alignment for too long text.
- Improved translation.
- Minor adjustments.

CORE-18381

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Kyle Katarn <contact@kcsoftwares.com>
2023-02-19 18:29:08 +01:00
Joachim Henze
9672dc5047 [AUDIOSRV] Overhaul logging interfaces CORE-16912 (#5067) 2023-02-18 18:28:30 +01:00
Katayama Hirofumi MZ
504bf68e2a [NOTEPAD] Simplify FileExists function (#5079)
Simplify FileExists helper function by using GetFileAttributes function. CORE-18837
2023-02-18 21:40:11 +09:00
Atharva Kulkarni
ebc69d089f [MCIAVI32] Media Player: Don't open empty files (#5063)
Opening an empty file in media player could cause a crash. CORE-18669
2023-02-18 19:33:58 +09:00
Doug Lyons
874d317a71 [IP] Allow 0xFFFF as Valid Network Port Number (#5074)
* Allow 0xFFFF as valid port number

* Note possible reason for failure in TCPAllocatePort

* Return NtStatus error on TCP/IP out-of-ports failure

* Replace unavailable "ERR" with "DbgPrint"
2023-02-18 00:11:00 +02:00
Katayama Hirofumi MZ
1fdbc80e58 [NOTEPAD] Follow-up of #5076 (621439d)
- Add DIALOG_StatusBarUpdateAll() and use it.
- Fix the status bar initial contents.
2023-02-17 15:17:44 +09:00
Katayama Hirofumi MZ
bb67913156 [BROWSEUI] Add CAddressEditBox::RefreshAddress and use it (#5062)
Follow-up of #5026 [BROWSEUI] Execute command line from address bar. Elegantly reset the address bar after command line execution. CORE-15453
2023-02-17 12:29:30 +09:00
Katayama Hirofumi MZ
621439d6f2 [NOTEPAD] Fix and simplify Status Bar handling (#5076)
- Rename DoCreateStatusBar as DoShowHideStatusBar.
- Simplify WM_SIZE handler.
- Enable/disable CMD_STATUSBAR menu item correctly.
- Make DoShowHideStatusBar independent from DoCreateEditWindow.
2023-02-17 09:23:25 +09:00
Joachim Henze
d04e148d1c [NTUSER] Optimize Window Snap Disabling (#5061) 2023-02-16 19:33:37 +01:00
Suleyman Poyraz
2ea56af2e8 [TRANSLATION] Add/Update Turkish (tr-TR) translations (#4959)
Programs: at, charmap, diskpart, drwtsn32, explorer, fc, fontview, format, reg, timeout, where, wmic,
mspaint, regedit, runas, rundll32, subst, utilman, umandlg, w32time, winlogon

Tools: arping, vgafontedit, explorer-old, fraginator, fontsub, systeminfo, vcdcontroltool
CPLs: desk, hotplug, input, sysdm
DLLs: newdev, syssetup, user32

Themes: lunar
Screensavers: blankscr, butterflies, circles, cylfrac, matrix, mazescr, ssstars, starfield

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-02-15 17:29:52 +01:00
Katayama Hirofumi MZ
a5aea8e537 [NOTEPAD] Simplify NOTEPAD_EnableSearchMenu (#5077) 2023-02-15 10:15:51 +09:00
Robert Naumann
efb923073c [REGEDIT] Work around a Wine bug. Fixes CORE-18603
See https://bugs.winehq.org/show_bug.cgi?id=54491
2023-02-14 22:19:52 +01:00
Thamatip Chitpong
0fee1fc80c [NTUSER] IntWinListOwnedPopups: Exclude default IME window from the list (#5069)
And in IntShowOwnedPopups: Remove the window owner check hack as it's no longer needed.
Based on my observation, the owner of the default IME window can change and it depends on
the window that is being focused.

CORE-18659
CORE-18768
2023-02-14 21:57:41 +01:00
Katayama Hirofumi MZ
38c0da9978 [CRT] printf/wprintf: Support %zu (#5056)
"%zu" is a printf format specifier for type size_t. Some apps assume the implementation of this specifier. CORE-17787
2023-02-14 20:54:53 +09:00
Katayama Hirofumi MZ
324cda0835 [SHELL32][SHELL32_APITEST] Improve CommandLineToArgvW (#5055)
This PR will reduce the failures of CommandLineToArgvW testcase of shell32_apitest.
- Use isspace and isblank in shell32!CommandLineToArgvW.
- Strengthen shell32_apitest:CommandLineToArgvW testcase.
CORE-17787
2023-02-14 20:53:48 +09:00
Katayama Hirofumi MZ
647b67c1ac [NOTEPAD] Optimize AnalyzeEncoding
CORE-14641
2023-02-14 13:34:20 +09:00
Katayama Hirofumi MZ
361e0c72b8 [NOTEPAD] Follow-up of d3da0cb; *pBytes should be unsigned
CORE-14641
2023-02-14 13:25:44 +09:00
Katayama Hirofumi MZ
d3da0cb7ed [NOTEPAD] Follow-up of #5012 (0a851ea); Fix encoding
There was a bug in encoding analyzer.
CORE-14641
2023-02-14 13:12:47 +09:00
Katayama Hirofumi MZ
7014f63057 [NTUSER] Add 'Win:' comments to co_UserHideCaret and co_UserShowCaret
CORE-11700
2023-02-14 10:57:25 +09:00
Katayama Hirofumi MZ
73c1a8d19f [NTUSER] Add 'Win:' comment to IntRealChildWindowFromPoint
CORE-11700
2023-02-14 10:45:19 +09:00
Katayama Hirofumi MZ
83b8cb96f7 [NTUSER] Add 'Win:' comment to IntChildWindowFromPointEx
CORE-11700
2023-02-14 10:43:37 +09:00
Katayama Hirofumi MZ
798d0352a0 [NTUSER] Add 'Win:' comment to IntDeferWindowPos
CORE-11700
2023-02-14 10:39:26 +09:00
Katayama Hirofumi MZ
9140300c2a [NTUSER] Add 'Win:' comment to IntEndDeferWindowPosEx
CORE-11700
2023-02-14 10:30:22 +09:00
Mark Jansen
460a01b167 [BROWSEUI] Fix crash while editing a label in the folder tree
+ Add a missing break
CORE-18646
2023-02-13 23:20:20 +01:00
Atharva Kulkarni
2f6f24d0f6 [BROWSEUI] Don't show file names in Relevance column in search results (#5072)
* Dont show file names in Relevance column
* Define new column names
* Update CompareIDs to use newer defines
2023-02-13 20:49:45 +01:00
Atharva Kulkarni
a777cc2cc4 [EXPLORER] Fix crash on backspace while editing a label in the folder panel (#5059)
While editing a label, accelerator events should not be propagated.
2023-02-13 20:45:39 +01:00
Tibor Lajos Füzi
e60c0f6970 [DESK] Update Hungarian (hu-HU) translation (#5060) 2023-02-13 15:29:45 +01:00
Doug Lyons
57eb2a6bf4 [NTUSER] Missing "X" on "Folder" pane when Right Click > Explore from Desktop icons & Rapps toolbar errors (#5068)
Fix for right-clicking on 'My Computer' and selecting 'explore' and there is no 'X' for the title bar in the Folders pane
Also fixes Rapps missing toolbar combo box and edit box controls that were not displayed.

This is a complete revert of #4995 (commit 7866eb2) while still retaining its fixes.

CORE-18830, CORE-18817

Co-authored-by: I_Kill_Bugs
2023-02-13 15:27:40 +01:00
Katayama Hirofumi MZ
97db8a258d [NOTEPAD] Fix and improve DoSaveFile (#5066)
- Use EM_GETHANDLE to get the text.
- Check zero size and handle it elegantly.
CORE-18832
2023-02-13 08:32:09 +09:00
Doug Lyons
a050be0895 Fix Wine Internet Explorer Print hang (#5064)
When using wine internet explorer it crashes if you click print even if you click cancel, this fixes that issue.
nsIWebBrowserPrint_Print apparently causes issues for unknown reasons.

JIRA issue: CORE-16884

By returning S_OK print doesn't cause a crash.
Use ERR and S_OK return before hitting nsIWebBrowserPrint_Print
2023-02-12 19:17:55 +01:00
Rexx J. Larsson
3b5d917699 [RAPPS] Fix Installed Apps information display (#4973)
This fixes hyperlinks highlighting the text before it.

CORE-18397
2023-02-12 16:15:51 +01:00
Joachim Henze
5ad5737370 [NTUSER] Delete temporary workarounds in co_IntSetScrollInfo() (#4985)
fixes JIRA issue: CORE-18050

improves the code by removing ancient hacks (the static variables)

reduces testbot failures
VBox: https://reactos.org/testman/compare.php?ids=85831,85832 LGTM (-2 failures in user32:scroll for both bots)
KVM: https://reactos.org/testman/compare.php?ids=85829,85833 LGTM (-2 failures in user32:scroll for both bots)

co-authored by Doug-Lyons
2023-02-12 00:35:27 +01:00
Joachim Henze
a38d19ebce [BROWSEUI] Update de-DE.rc German translation
German accelerator for "&Datei" collided with "A&dresse".
Fix by switching to what MS uses in german XPSP3.

see the before-state with the [BROWSEUI] collision here:
https://jira.reactos.org/secure/attachment/65116/ros.png

Please note that in current master head the accelerators in
[BROWSEUI] filebrowser are generally broken for other reasons.
So this commit will not entirely fix CORE-18824

Also update to new-style header (inspired by es-ES.rc) and
https://reactos.org/wiki/Coding_Style
and add a missing translation.
2023-02-11 21:35:57 +01:00
Joachim Henze
cc54ecd779 [SYSSETUP] Fix a space-typo in IDS_WZD_PASSWORDEMPTY for *.rc (#5049)
Also update any existing old-school-headers to more compact newstyle.
2023-02-11 21:09:47 +01:00
Jose Carlos Jesus
f691efefc2 [SHLWAPI] No need extension to execute '.bat' files CORE-17612 (#4932)
When no extension is provided, add default extension with correct precedence using PathFileExistsDefExtW.
- Use PathFindOnPathExW when searching in current directory and PATH environment variable.
- Fix Width String terminator to UNICODE_NULL.
- Fix all failed tests on PathFindPathExW KVM test.
CORE-17612
2023-02-11 00:05:11 +09:00
Ratin Gao
5c22ce3742 [SHELL32] Remove unused flag SEE_MASK_UNICODE (#5033)
SEE_MASK_UNICODE does nothing, so we needn't mark it as "unsupported flag" and output FIXME
2023-02-10 23:56:13 +09:00
Ratin Gao
2f70f79904 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4979)
- Add and improve translation
- Fix mistakes
2023-02-10 23:15:25 +09:00
Katayama Hirofumi MZ
1b20c7312f [NOTEPAD] Treat empty file correctly (#5057)
#5012 had a regression on opening an empty file.
CORE-14641, CORE-18826
2023-02-09 21:54:20 +09:00
Joachim Henze
06b25bc9dd [EXPLORER][BROWSEUI] de-DE.rc fix 3 german keyboard accelerators
[BROWSEUI] German accelerator for "F&avoriten" collided with "&Ansicht".
[EXPLORER] German accelerator for "F&avoriten" must be "&Favoriten" also in the startmenu.
[BROWSEUI] German accelerator for "S&chnellstartleiste" was missing.
Fix all 3 by switching to what MS uses in german XPSP3.

see the before-state with the [BROWSEUI] collision here:
https://jira.reactos.org/secure/attachment/65116/ros.png

Please note that in current master head the accelerators in
[BROWSEUI] filebrowser are generally broken for other reasons.
So this commit will not entirely fix CORE-18824 yet, but just
rules out the small related glitches in the german rc-files.
2023-02-08 10:05:04 +01:00
Thamatip Chitpong
f73ac17e30 [WINMM] Constify some variables
Wine commit: 4aca7601265ca76339662aa4e1a9c6669cebc9a0

author: Andrew Talbot <andrew.talbot@talbotville.com>
Mon, 22 Aug 2011 19:31:51 +0000 (20:31 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Tue, 23 Aug 2011 14:53:53 +0000 (16:53 +0200)
2023-02-07 20:53:08 +01:00
Thamatip Chitpong
940bbd2e02 [WINMM] Fixed boundary condition in mmioOpen file name parsing
Wine commit: 4431c32c91206040d59d3eb82a971245594d1243

author: Alexander Puzankov <alxpnv@gmail.com>
Sun, 5 Dec 2010 14:24:59 +0000 (17:24 +0300)

committer: Alexandre Julliard <julliard@winehq.org>
Sun, 5 Dec 2010 15:44:28 +0000 (16:44 +0100)
2023-02-07 20:53:08 +01:00
Thamatip Chitpong
d27e2b0b23 [WINMM] Revert "Handle playing of files containing a '+' as part of the filename."
Wine commit: cc5f2b2c766bbe4975d7ee4a7c3b269650cbf874

author: Alexander Puzankov <alxpnv@gmail.com>
Mon, 29 Nov 2010 18:15:16 +0000 (21:15 +0300)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 1 Dec 2010 16:16:20 +0000 (17:16 +0100)
2023-02-07 20:53:08 +01:00
Joachim Henze
09dde2cff9 [REACTOS] "http://www.reactos" -> "https://reactos" (#5043)
To harmonize, to save some bytes, and last but not least for security reasons.
This can be understood as an addendum to (#2619).
2023-02-06 17:01:52 +03:00
Katayama Hirofumi MZ
7ce58e177c [BROWSEUI] Execute command line from address bar (#5026)
CORE-15453
2023-02-06 22:46:26 +09:00
Mark Jansen
ed972708f3 [ROSAPPS] Remove pice 2023-02-05 17:53:02 +01:00
Mark Jansen
c548b97328 [USERENV_WINETEST] Compare variable case insensitive
This fixes a test for TestWHS
2023-02-03 19:15:47 +01:00
Mark Jansen
eeaddf5bbc [DBGHELP_APITEST] Skip more tests on 2k3's dbghelp.dll 2023-02-03 17:45:14 +01:00
Mark Jansen
3bf4ef6fec [KMTESTS:CC] Disable Cc tests that seem to hang TestWHS 2023-02-02 19:08:00 +01:00
Mark Jansen
c35e75897d [UXTHEME_APITEST] Skip some tests that fail without a theme 2023-02-02 15:13:54 +01:00
Mark Jansen
83f076918a [KMTESTS:CC] Disable broken CcCopyRead / CcCopyWrite 2023-02-02 15:08:40 +01:00
Timo Kreuzer
9d19f8bf65 [WINESYNC] msvcrt: Use memmove to copy memory in memcpy_s.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 055ca5e4d9770d4f14e3c157f1288fa6308b86dd by Jacek Caban <jacek@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
6b8a981010 [WINESYNC] msvcrt: Use memmove to copy memory in wmemcpy_s.
Fixes memory corruption in Outlook 2016.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be56a83fd00cdaf9583a973b1e041f47c5277768 by Jacek Caban <jacek@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
c50fb470b4 [WINESYNC] msvcrt: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b917cc66f4f7b786e7f19f63ab0c0819a5455222 by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
3ff17d5d71 [WINESYNC] msvcrt: Don't include MSVC 8.0+ heap functions in SOs for older DLLs.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42ab0af66b74f7572db2f6d0256f49fae7527221 by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
8fdc1b0d38 [WINESYNC] msvcrt: Add helper for exception throwing.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 90307e067f985f5963b62829993b320537578333 by Piotr Caban <piotr@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
6360937cd4 [WINESYNC] ucrtbase: Implement _realloc_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8a69c5d81f8deb472df18a8e16e57efef2eb9a9a by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
aa77776eb0 [WINESYNC] ucrtbase: Implement _free_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4b8bc0edc640b36f2a2a26c53e18edea04fa74c by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
7757ebfbad [WINESYNC] ucrtbase: Implement _malloc_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5325b8c95112be75f4fa0e2e2e45bcc88434fb5d by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
0dfd5665c0 [WINESYNC] ucrtbase: Implement _calloc_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdc57d497bb305e90680c3b450fa172042fd79cd by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
1d6ec8555d [WINESYNC] msvcrt: Handle overflow in calloc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 50dd4b892825c75db35cd1f378291b51fa782f3e by Nikolay Sivov <nsivov@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
977e236102 [WINESYNC] msvcrt: memmove_s shouldn't zero its output buffer on error.
wine commit id 49560458426cf25b6a36bbf9bad35aa75c9f7aa7 by Dan Kegel <dank@kegel.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
8fa0886fb9 [CRT] Reduce diff to wine by adjusting white space 2023-02-02 14:58:08 +01:00
Thomas Faber
d5999c6b66 [ACPI_APITEST] Mark test failures as todos.
This is a true unit test and runs the same code on Windows as it does on
ROS, so this uses unconditional todos rather than todo_ros.
This avoids test failures on Windows and hopefully makes things less
confusing.
2023-02-01 20:20:17 -05:00
Katayama Hirofumi MZ
0a851eadcb [NOTEPAD] Speed up notepad loading (#5012)
- Use EM_GETHANDLE/EM_SETHANDLE message to get/set the internal buffer handle.
- Use LocalReAlloc to re-allocate the buffer.
- Use file mapping to speed up loading.
- Use also IS_TEXT_UNICODE_REVERSE_STATISTICS for IsTextUnicode.
CORE-14641
2023-02-02 10:10:30 +09:00
Katayama Hirofumi MZ
b6aaf5e332 [SHELL32_APITEST] Add CommandLineToArgvW testcase (#5013)
CORE-17787
2023-02-02 10:09:00 +09:00
Thomas Faber
04b35ecc23 [KMTESTS:IO] Fix some failures in IoDeviceObject test. ROSTESTS-380 2023-02-01 20:05:57 -05:00
Gabriel Grondin
144e984b40 [ZLIB] Update to v1.2.13. CORE-18752 2023-02-02 02:18:39 +03:00
Mark Jansen
6ae2f432b3 [APPHELP_APITEST] dwMinor indicates the current date on Windows below vista.... 2023-02-01 18:29:59 +01:00
Mark Jansen
c7b83d2ce4 [ZIPFLDR_APITEST] Fix the test on 2k3, where a zip folder is marked as 'file', not as 'folder' 2023-02-01 15:43:32 +01:00
Katayama Hirofumi MZ
64527aa948 [RICHED20] Fix word break procedure for punct (#5021)
Fix the hyperlink on Chinese Rapps. Check punctuation in the word break procedure by using iswpunct function.
Wine Bug: https://bugs.winehq.org/show_bug.cgi?id=54419
CORE-17091
2023-02-01 18:29:41 +09:00
Katayama Hirofumi MZ
ea55101aad [NTUSER] Allow Window Snap to be disabled (#5014)
- Add IntIsWindowSnapEnabled helper function that reads registry value WindowArrangementActive.
- Check the registry and store the value to newly-added g_bWindowSnapEnabled global variable on startup.
- Check the global variable before Window Snap.

Win+Left, Win+Right, Win+Up, and Win+Down can be disabled by registry value WindowArrangementActive.
Snapping mouse can be also disabled. CORE-16379
2023-02-01 18:13:32 +09:00
Mark Jansen
0dde428d00 [APPHELP_APITEST] Fix the db test again 2023-02-01 00:44:51 +01:00
Mark Jansen
b4bf2cda31 [DBGHELP_APITEST] Be less strict on error codes 2023-02-01 00:42:32 +01:00
Mark Jansen
2cd219eb23 [ATL_APITEST] Ignore known to be bad values for type 2023-02-01 00:34:39 +01:00
Victor Perevertkin
a0a19c60d0 [TCPIP] Rearrange LwIP glue code.
Reduce unnecessary stuff in LwIP itself.
2023-02-01 02:31:14 +03:00
Victor Perevertkin
1734f29721 [IP][LWIP][TCPIP] Move ip and lwip libraries to drivers/network/tcpip
These libraries are used only inside tcpip.sys driver so move them close
to it.
2023-02-01 02:31:14 +03:00
Victor Perevertkin
6c2df5a199 [TCPIP][ROSTESTS] Remove old and unused TCP tests code 2023-02-01 02:31:14 +03:00
Victor Perevertkin
d43d898ea9 [ACD] Remove the driver stub 2023-02-01 02:31:14 +03:00
Victor Perevertkin
b82353cadd [WINEFILE] Remove Winefile application.
Please use Explorer on ReactOS or download the latest Winefile from Wine
2023-02-01 02:30:09 +03:00
Timo Kreuzer
684b5ce86a [NTDLL_APITEST] Comment out a test that fails on Windows Server 2003 2023-01-31 18:39:21 +01:00
Timo Kreuzer
9237c1a455 [NTDLL_APITEST] Fix test for ProcessUserModeIOPL in Nt[Query/Set]InformationProcess 2023-01-31 18:39:21 +01:00
Timo Kreuzer
e6c192b556 [NTDLL_APITEST] Fix tests for StackOverflow 2023-01-31 18:39:21 +01:00
Timo Kreuzer
dda076a8b3 [COMPILER_APITEST] Comment out some tests, when PSEH is used 2023-01-31 18:39:21 +01:00
Timo Kreuzer
a6faa1b82d [CRT_APITEST] Fix test for strlen
The direction flag in eflags is preserved on x64, but not on x86.
2023-01-31 18:39:21 +01:00
Timo Kreuzer
8233aa5667 [COMPILER_APITEST] Fix pseh test that failed when compiled with GCC 2023-01-31 18:39:21 +01:00
Timo Kreuzer
6cad84a769 [WIN32KNT_APITEST] Fox tests for NtGdiCreateDIBSection 2023-01-31 18:39:21 +01:00
Timo Kreuzer
180207c516 [WIN32KNT_APITEST] Fix test for NtUserEnumDisplaySettings 2023-01-31 18:39:21 +01:00
Timo Kreuzer
82b3cd36d0 [WIN32KNT_APITEST] Comment out broken test for NtUserSystemParametersInfo 2023-01-31 18:39:21 +01:00
Timo Kreuzer
e5da567d87 [WIN32KNT_APITEST] Fix tests for NtGdiPolyPolyDraw 2023-01-31 18:39:21 +01:00
Timo Kreuzer
be7a7f8c22 [WIN32KNT_APITEST] Comment out broken test for NtGdiGetFontResourceInfoInternalW 2023-01-31 18:39:21 +01:00
Timo Kreuzer
329e065dbb [WIN32KNT_APITEST] Fix a test for NtGdiExtTextOutW 2023-01-31 18:39:21 +01:00
Timo Kreuzer
f981345756 [WIN32KNT_APITEST] Comment out btoken tests for NtGdiDdQueryDirectDrawObject 2023-01-31 18:39:21 +01:00
Victor Perevertkin
886670e914 [DRIVERS] Remove unused __NTDRIVER__ and KERNEL definitions 2023-01-31 20:18:18 +03:00
Julen Urizar Compains
8866b9d7b0 Update win32ss/user/ntuser/winpos.c
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-01-31 01:08:45 +01:00
Julen Urizar Compains
7866eb2886 [WIN32SS] Fix winpos hyperlink&images loop rendering (CORE-7652) 2023-01-31 01:08:45 +01:00
Mark Jansen
9bb0b9137f [USBSTOR_NEW] Add missing poppack.h 2023-01-30 15:12:06 +01:00
Katayama Hirofumi MZ
c3644fd4d3 [NTUSER] Move IME window creation code (#5009)
Move the code that creates the default IME window, from IntCreateWindow to co_UserCreateWindowEx, just before sending WM_NCCALCSIZE message.
CORE-18723 CORE-18754 CORE-18773 CORE-18785 CORE-18802 CORE-18803
2023-01-30 12:19:39 +09:00
Katayama Hirofumi MZ
f156f9a137 [SHELL32] Follow-up of #5008 (8e036fe)
Now the menu item actions on start button should work. CORE-16544
2023-01-30 08:01:15 +09:00
Joachim Henze
7a17c7d9ad [NETSHELL] LanStatusDlg should show on LBUTTONUP in systray CORE-18813
not on LBUTTONDOWN.
2023-01-29 21:05:33 +01:00
Thomas Faber
6b863f63c2 [KMTESTS:MM] Fix MmReservedMapping test failures on PAE kernels. 2023-01-29 11:39:56 -05:00
Katayama Hirofumi MZ
8e036fe74d [SHELL32] Improve StartButton context menu (#5008)
- Add uFlags argument to CDefaultContextMenu::AddShellExtensionsToMenu- CCopyToMenu, CMoveToMenu, and CSendToMenu check the uFlags against (CMF_NOVERBS | CMF_VERBSONLY).
CORE-16544
2023-01-29 22:40:40 +09:00
Thomas Faber
5f1fff696b [KMTESTS:KE] Correctly handle MP builds in KeSpinLock test. 2023-01-28 23:26:30 -05:00
Thomas Faber
2f63da62e3 [KMTESTS:MM] Fix failures in MmMdl test on machines with 2GB of free RAM. 2023-01-28 23:17:52 -05:00
Thomas Faber
afb953ae4d [BUTTERFLIES] Do not release the DC passed to OpenGL. CORE-18498 2023-01-27 22:31:37 -05:00
Thomas Faber
8b19b6ec5a [GDI32] Fix memory leak in case of public DC. CORE-18498 2023-01-27 22:30:35 -05:00
Timo Kreuzer
f34e425e1a [WINESYNC] msvcrt: Don't fail when _aligned_offset_malloc is used with size=0.
wine commit id 7771552f247660acc472b4862f32c4f8426be180 by Piotr Caban <piotr@codeweavers.com>
2023-01-24 18:53:13 +01:00
Timo Kreuzer
739c9a1e77 [WINESYNC] msvcrt: Fixed strncpy_s behavior when count equals 0.
wine commit id bdf9a9f9bd56354f70a7431a9682183b84353211 by Piotr Caban <piotr@codeweavers.com>
2023-01-24 18:53:13 +01:00
Timo Kreuzer
c36ea58f32 [CRT] Add a number of functions from wine
This adds _aligned_msize, _recalloc, wmemmove_s, memcpy_s, wmemcpy_s
2023-01-24 18:53:13 +01:00
Timo Kreuzer
d0a52a6d71 [CRT] Reduce diff
- use msvcrt_set_errno
- MSVCRT_CHECK_PMT already sets the error.
- NULL check is already in HeapFree
2023-01-24 18:53:13 +01:00
Timo Kreuzer
c47506a5f4 [CRT] Use the original wine heap functions 2023-01-24 18:53:13 +01:00
Timo Kreuzer
cf40758d76 [CRT] reduce diff to wine of heap code
No functional changes intended.
2023-01-24 18:53:13 +01:00
Timo Kreuzer
73ef1c3c8b [CRT] Get back MSVCRT prefix in wine heap code 2023-01-24 18:53:13 +01:00
Katayama Hirofumi MZ
d992c07239 [NTUSER] Check IME-like after WNDS_DESTROYED check (#5005)
The guilty commit a2c6af0 enabled the IMM mode. So we have to take care of the default IME windows.
Using IS_WND_IMELIKE against WNDS_DESTROYED window was the cause of BSoD. CORE-18777
2023-01-23 12:22:54 +09:00
Roy Tam
1321c802fc [USER32_WINETEST] Add test for WM_CONTEXTMENU from grandchild window
Cherry-picked from 3af8415ca9
2023-01-22 22:18:11 +03:00
Roy Tam
0bab3a1048 [NTUSER][USER32] Set WM_CONTEXTMENU's wParam to the child window's handle
Cherry-picked from 3af8415ca9

CORE-18801
2023-01-22 22:18:11 +03:00
Ratin Gao
5b3b4151e2 [OLEAUT32] OaBuildVersion: Add Windows Server 2003 case (#5004)
Fixes debug print in Visual Studio 6 PRO installation. CORE-18419
2023-01-22 21:34:54 +03:00
Ratin Gao
21a168e574 [ATL] CImage::Load(): Return E_FAIL without ATLASSERT on failure (#4993)
Application won't be interrupted by ATLASSERT when image load failure happens,
just like it was done in MS ATL.

CORE-18589
2023-01-22 20:38:16 +03:00
Thamatip Chitpong
74c45e0975 [WIN32K:NTUSER] ValidateHwndNoErr: Fix window handle validation (#4981)
Also check window state. Addendum to 4d48b88b.
2023-01-22 17:44:52 +03:00
Thomas Faber
c0e7eaf403 [NTOS:PNP] Avoid recursion when walking the device tree. 2023-01-22 09:42:08 -05:00
Dmitry Borisov
3dd3d10531 [PCI] Fix I/O range size of the resource descriptors
Fixes incorrect PCI IDE resources in VPC 2007
CORE-17256
2023-01-21 07:33:03 +01:00
Thomas Faber
d3a718eb01 [COMPBATT] Add inf entry. CORE-18167 2023-01-21 00:10:06 -05:00
Roy Tam
9293b975ef [NTDLL_APITEST] Add test for a section where PointerToRawData = 0 while SizeOfRawData != 0. CORE-18797 2023-01-20 17:02:37 +08:00
Roy Tam
0d4a8d0ea6 [NTOS:MM] Ignore sections either PointerToRawData or SizeOfRawData is zero
VC1 Linker fills BSS.SizeOfRawData with data in IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData but keeps PointerToRawData to zero.

CORE-18797
2023-01-20 17:02:12 +08:00
Joachim Henze
e89675768b [SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)
They got lost when the menu was translated to german during 0.4.9-dev'ing.
2023-01-18 22:40:05 +01:00
Julio Carchi
a999c43746 [NTGDI] Check if face->charmap is not zero before accessing its encoding (#4390)
This allows DevExpress Ribbon Notepad sample to start.

Also add a fat DPRINT1 suggested by Timo Kreuzer,
because there is a lot wrong in the code.

CORE-18091 CORE-18558
2023-01-18 21:24:40 +03:00
Wu Haotian
346477fb3c [NTOS:MM] Use image prefix in MmLoadSystemImage
MmLoadSystemImage has a PUNICODE_STRING NamePrefix parameter which is
currently unused in ReactOS. When the kernel loads the crash dump
storage stack drivers, the drivers will be loaded with MmLoadSystemImage
with a "dump_" or "hiber_" (for hibernation, which uses crash dump
stack too) prefix. This change adds in the prefix support, and is
supposed to push crash dump support forward.

CORE-376
2023-01-18 02:35:19 +03:00
Thomas Faber
543d390259 [NTOS:IO] Handle missing device instance in IopInitializeBuiltinDriver. CORE-18793 2023-01-14 17:52:17 -05:00
Thomas Faber
6c06760547 [HIVESYS] Move ndis to the "NDIS Wrapper" group. CORE-18790
Miniport drivers import from NDIS, but NDIS does not support being
loaded as a dependent driver (it does not have DllInitialize).
Instead, NDIS needs to load before all possible miniport drivers,
even boot-start ones. We achieve this by placing it in its own service
order group, which loads before the NDIS group.

All our miniport drivers are demand-start, so would automatically start
later. The ndisprot driver from the ticket is likely the first boot-start
miniport we've encountered. Since DriverEntry did not run,
AdapterListHead was NULL, resulting in the crash.
2023-01-14 15:33:30 -05:00
Denis Malikov
669b2f4465 [WIN32SS:NTUSER] restore snapped window to normal size by dragging window caption
CORE-15638
2023-01-08 22:49:59 +03:00
Joachim Henze
8d5011fb6b [THEMES][DOC] "Open Sans" -> "Trebuchet MS" (#4983)
[THEMES] Eliminates the last references to "Open Sans" font.

This is an addendum to 0.4.13-dev-765-g 04a361d091
"Open Sans" has been replaced by "Trebuchet MS" back then.

[DOC] Mention trebuc*.ttf as being based on 'Open Sans Fonts'
2023-01-08 16:07:30 +01:00
Hermès Bélusca-Maïto
84e32e4e90 [NTOS:KD] Revisit KdSendPacket() and KdReceivePacket() for DBGKD_DEBUG_IO. (#4914)
- Use SAL2 annotations.
- KdSendPacket(): Validate DEBUG_IO API call.
- KdReceivePacket(): Take the LengthOfStringRead into account; use
  KdbpReadCommand() to read the input, so that correct line edition
  is available (backspace, etc.)
2023-01-06 18:57:32 +01:00
Hermès Bélusca-Maïto
e619f89020 [NTOS:KDBG] Fix and improve KdbpReadCommand(). (#4914)
- Don't read anything and return immediately if the buffer size is zero.

- Allow the controlling keys (up/down arrows, backspace) even if the
  buffer is full! (especially backspace if too much has been written).

- Return the number of characters stored, not counting the NULL terminator.
2023-01-06 14:44:50 +01:00
Hermès Bélusca-Maïto
1b25fe161c [KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
Joachim Henze
51b4a38ab7 [BOOTDATA] Use the standard "Helv" -> "MS Sans Serif" (#4982)
This is what Windows does. And we forgot this location here.
This is an addendum to
0.4.15-dev-5365-g 9bb5627df6 [SETUP][INF] Use the standard "Helv" -> "MS Sans Serif" substitution... (#4864)
2023-01-06 13:31:03 +01:00
Thamatip Chitpong
51c38aeb89 [RAPPS] Add tooltip for "Refresh" and "Update Database" (#4975) 2023-01-06 13:23:25 +01:00
Hermès Bélusca-Maïto
2714e3ee48 [LIBWINE] Fix GCC build warning. (#4938)
In file included from ../sdk/lib/3rdparty/libwine/debug_ros.c:9:
../sdk/lib/3rdparty/libwine/debug.c: In function 'get_temp_buffer':
../sdk/lib/3rdparty/libwine/debug.c:343:33: warning: passing argument 1 of '_InterlockedExchangeAdd' from incompatible pointer type [-Wincompatible-pointer-types]
     idx = interlocked_xchg_add( &pos, 1 ) % (sizeof(list)/sizeof(list[0]));
                                 ^~~~
In file included from ../sdk/include/crt/mingw32/intrin.h:98,
                 from ../sdk/include/crt/intrin.h:1017,
                 from sdk/include/psdk/winnt.h:48,
                 from ../sdk/include/psdk/windef.h:202,
                 from ../sdk/include/reactos/wine/debug.h:26,
                 from ../sdk/lib/3rdparty/libwine/debug.c:32,
                 from ../sdk/lib/3rdparty/libwine/debug_ros.c:9:
../sdk/include/crt/mingw32/intrin_x86.h:215:70: note: expected 'volatile long int *' but argument is of type 'int *'
 __INTRIN_INLINE long __cdecl _InterlockedExchangeAdd(volatile long * Addend, long Value)
                                                      ~~~~~~~~~~~~~~~~^~~~~~
2023-01-06 13:17:21 +01:00
Timo Kreuzer
abb75b6214 [WIN32K] Add some NULL checks for THREADINFO::rpdesk
rpdesk should probably never be NULL, but it happens in rare circumstances, like csrss being terminated.
2023-01-04 10:32:28 +01:00
Timo Kreuzer
e56da4854f [WIN32K] Properly reference owner window 2023-01-04 10:32:28 +01:00
Timo Kreuzer
12ed9f30a7 [NTOS] Fix interrupt flag handling in KiPageFault
This fixes a crash in kmtest:ZwAllocateVirtualMemory
2023-01-04 10:32:28 +01:00
Timo Kreuzer
5b6e7eceda [NTOS] Fix KiGeneralProtectionFault 2023-01-04 10:32:28 +01:00
Timo Kreuzer
26f541aa97 [BEEPMIDI] Make DeviceInfo structure 64 bit compatible
Fixes winmm_winetest midi on x64
2023-01-04 10:32:28 +01:00
Timo Kreuzer
01f2426dcf [WINMM] Sync mci.c with wine
Date: 2022-02-22
Author: Eric Pouech
Commit: "winmm: Enable compilation with long types."
Hash 71189f62604c2cb8208c85372a0e027dd2b79055
2023-01-04 10:32:28 +01:00
Timo Kreuzer
7d4de5f8ea [SHELL32] Check for valid listview in CDefView::_PidlByItem and CDefView::RemoveObject
This fixes failing ATLASSERTs in shell32_winetest:shlview
2023-01-04 10:32:28 +01:00
Timo Kreuzer
902cdbc63a [ATL] Remove an assert that doesn't exist in the native ATL
This fixes an ATL assert in shell32_winetest:assoc and shell32_winetest:shfldr_special
2023-01-04 10:32:28 +01:00
Timo Kreuzer
d0c1df7882 [SHELL32] Add check to CMenuToolbarBase::ShowDW
This fixes an ATL assert in shell32_apitest:menu
2023-01-04 10:32:28 +01:00
Timo Kreuzer
c5158963a3 [ADVAPI32] Fix a buffer overflow in RegQueryValueExA
The code was trying to check whether the output string was already NULL terminated by RtlUnicodeToMultiByteN before NULL terminating it by checking DataStr[*count - 1] for a NULL terminator. But since RtlUnicodeToMultiByteSize always returns the size without the NULL terminator, DataStr[*count - 1] would always be the last actual character, never an optional NULL terminator.
For 0 sized strings this would actually lead to accessing the output buffer at position -1 (on 32 bit)  or 0xFFFFFFFF (on 64 bit).
Fix this by removing the check. This fixes a crash in advapi32_winetest:registry on x64.
2023-01-04 10:32:28 +01:00
Timo Kreuzer
2154e259e7 [PSDK] Fix definition of DRVCALLBACK for 64 bit 2023-01-04 10:32:28 +01:00
Timo Kreuzer
437f2b1b0e [KERNEL32] Silence 2 annoying DPRINTs 2023-01-04 10:32:28 +01:00
Cătălin Gabriel Drăghiță
911162a1c7 [TRANSLATIONS] Email update (#4974) 2023-01-03 19:47:55 +01:00
George Bișoc
0bdae2114a [NTOS:CM] Cleanup the hive in case linking it to master fails (#4969)
Currently the failure code path doesn't do any kind of cleanup against
the hive that was being linked to master. The cleanup is pretty
straightforward as you just simply close the hive file handles and free
the registry kernel structures.

CORE-5772
CORE-17263
CORE-13559
2023-01-03 16:48:03 +01:00
Hermès Bélusca-Maïto
95e5f07084 🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2023-01-01 00:00:00 +03:00
Muthu R Kumar
7fff96e7fe [NTOBJSHEX] Return early from GetInfoFromPidl when pcidl is null in LPCITEMIDLIST (#4946)
This fixes a crash when attempting to drag-n-drop items from NTObject Namespace and System Registry.
CORE-18480, CORE-18481
2022-12-31 16:53:02 +01:00
Egor Ananyin
d395c30967 [MSPAINT] Don't allow to set image as wallpaper if it has the wrong format (#4924)
CORE-18661

Our Paint allows user to try to set a .ico file as a wallpaper, which isn't possible. Different Windows versions have different behaviour, so it was decided that the simplest fix would be to just grey out "Set as wallpaper" buttons as in 2K3 (See the Jira ticket).
2022-12-31 16:08:14 +01:00
George Bișoc
bfe06cbfca [SDK][CMLIB] Properly check for failure if hive free list creation fails
HvpCreateHiveFreeCellList returns a NTSTATUS code yet the way the code path checks
checks for failure is just wrong. This was spotted whilst working on #4571 PR.
2022-12-30 19:58:37 +01:00
Timo Kreuzer
afbc446ec7 [WIN32NT_APITEST] Fix entirely broken win32knt_apitest NtGdiDdQueryDirectDrawObject 2022-12-30 11:19:26 +01:00
Timo Kreuzer
ad8c446814 [DBGHELP_APITEST] Comment out rsym test for anything other than x86 for now 2022-12-30 11:19:26 +01:00
Timo Kreuzer
64135505f2 [GDI32_APITEST] Fix test results for SetWorldTransform on Windows 2003 x64 2022-12-30 11:19:26 +01:00
Timo Kreuzer
284ee9dc9c [GDI32_APITEST] Fix test results for CombineTransform on Windows 2003 x64 2022-12-30 11:19:26 +01:00
Timo Kreuzer
3d1ca45934 [XMLLITE_WINETEST] Fix stack corruption on 64 bit 2022-12-30 11:19:26 +01:00
Timo Kreuzer
c1362c64b0 [WS2_32_WINETEST] Fix use of uninitialized variable 2022-12-30 11:19:26 +01:00
Timo Kreuzer
91b51f6e9c [NTDLL_APITEST] Fix LdrEnumResources test for x64 2022-12-30 11:19:26 +01:00
Timo Kreuzer
3b437b8a1c [NDK] Fix definition of RTL_DEBUG_INFORMATION
Fixes ntdll_aiptest RtlDebugInformation on x64
2022-12-30 11:19:26 +01:00
Timo Kreuzer
918c98a239 [NDK] Fix definition of LDR_ENUM_RESOURCE_INFO
This fixes ntdll_apitest LdrEnumResources on x64 Windows
2022-12-30 11:19:26 +01:00
Mark Jansen
a09d5bae0f [LOG2LINES] Compile the tool for MSVC builds 2022-12-29 16:51:40 +01:00
Justin Miller
24d124f99f [NTOS] Set SwapBusy properly for i386
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-12-28 21:09:41 +01:00
Justin Miller
2a33aed7cf [NTOS] Increment ActiveProcessors accurately 2022-12-28 21:09:41 +01:00
Justin Miller
fbd033df0a [NTOS] fix timer lock data and hardcod 2022-12-28 21:09:41 +01:00
Justin Miller
b5c35c03b6 [NTOS] Swap MAXIMUM_PROCESSORS with NUMBER_POOL_LOOKASIDE_LISTS 2022-12-28 21:09:41 +01:00
Joachim Henze
83e1363065 [INF] More deduplication and style harmonization (#4952)
- deduplication of manufacturer strings
- at some places harmonizes the different length of separator lines within the same file, centers the words (as requested by hbelusca during review), harmonizes those lines to 74characters length each
- moving some strings that are not to be localized into the non-localization string section
- other minor formatting preferences coauthored by StasM
2022-12-28 02:26:17 +01:00
Joachim Henze
f9dfc45375 [SYSSETUP] Fix *.rc combobox for the timezone is too small CORE-18587
Use the same width for COMBOBOX IDC_TIMEZONELIST that we use in timedate.cpl to
prevent strings from getting cut off for some timezones with long names.
To still make it look appealing afterwards, enlarge and move a bit to the right also IDC_TIMEPICKER.

IDC_AUTODAYLIGHT used different widths in several translations, we can harmonize
for all languages to the biggest one that was used: 230 (taken from eu-ES.rc).

And also fix a few additional whitespace-glitches in zh-CN, zh-HK, zh-TW and en-GB.

After this commit the whole dialog IDD_DATETIMEPAGE uses the exact same dimension for
all of its controls for all languages.
2022-12-26 19:58:31 +01:00
Joachim Henze
2ac931ce34 [TIMEDATE] Limit the expanded combobox height by using CBS_NOINTEGRALHEIGHT CORE-18665
It is good practice to not make the expanded combobox larger than the dialog itself.
CBS_NOINTEGRALHEIGHT will allow to set a fixed amount of pixels for the v6 combobox,
and therefore allows us to hide the problem for this specific dialog.

The problem was unhidden by 0.4.12-dev-882-g e3e173ffaa

Even after this patch I think Wines comctl32 can be improved for comboboxes with very
many elements that do not use this small trick yet. I will create a follow-up-ticket.
2022-12-26 16:26:51 +01:00
Hermès Bélusca-Maïto
068fcd3894 [REG] Fix mis-converted Yes-No-All keypress shortcuts strings.
The PO \"#msgctx\" control strings were not stripped out.
2022-12-26 13:16:31 +01:00
George Bișoc
9385830b33 [NTOS:CM] Enable verbose debug output of registry lazy flushing component
Log debug output of the lazy flusher as much information as possible so that we can examine how does the lazy flusher behave, since it didn't work for almost a decade. Verbose debugging will be disabled once we're confident enough the registry implementation in ReactOS is rock solid.
2022-12-23 19:45:25 +01:00
George Bișoc
578f2fc512 [NTOS:CM] Don't lazy flush the registry during unlocking operation
Whenever ReactOS finishes its operations onto the registry and unlocks it, a lazy flush is invoked to do an eventual flushing of the registry to the backing storage of the system. Except that... lazy flushing never comes into place.

This is because whenever CmpLazyFlush is called that sets up a timer which needs to expire in order to trigger the lazy flusher engine worker. However, registry locking/unlocking is a frequent occurrence, mainly when on desktop. Therefore as a matter of fact, CmpLazyFlush keeps removing and inserting the timer and the lazy flusher will never kick in that way.

Ironically the lazy flusher actually does the flushing when on USETUP installation phase because during text-mode setup installation in ReactOS the frequency of registry operations is actually less so the timer has the opportunity to expire and fire up the flusher.

In addition to that, we must queue a lazy flush when marking cells as dirty because such dirty data has to be flushed down to the media storage of the system. Of course, the real place where lazy flushing operation is done should be in a subset helper like HvMarkDirty that marks parts of a hive as dirty but since we do not have that, we'll be lazy flushing the registry during cells dirty marking instead for now.

CORE-18303
2022-12-23 19:45:13 +01:00
Fernando Isnaldo Silva de Faria
1247a16863 Translate favorites menu
Improve translation for Favorites menu
2022-12-22 23:50:36 +01:00
Jose Carlos Jesus
ef10fd0109 [TRANSLATION] Don't translate Documents and Settings folder 2022-12-22 23:18:57 +01:00
Jose Carlos Jesus
f59304098d [SHELL32][USER32] Improve pt-PT translation 2022-12-22 23:18:57 +01:00
Tibor Lajos Füzi
55d816df7c [TRANSLATION] Hungarian translation update for sysdm 2022-12-22 23:13:07 +01:00
Fernando Isnaldo Silva de Faria
5b8886de26 [DXDIAG] Fix Portuguese (pt-BR) translation (#4953)
Fix minor translation error.
2022-12-22 13:30:51 +01:00
Thamatip Chitpong
ca9ded7af8 [NTUSER] Fix zombie window created by CTRL+ALT+DEL (#4935)
Based on patch by I_Kill_Bugs. CORE-18258
See also commit 58b0558f9.
2022-12-22 01:38:53 +01:00
Serge Gautherie
8efde69a25 [WIN32K:NTGDI] PATH_PathToRegion(): Update documentation (#4941)
Addendum to 215e0d9 (r64177).
2022-12-22 01:27:51 +01:00
Serge Gautherie
0b6775505a [NTOBJSHEX] Fix displayed registry value type and icon (#4949)
- RegistryTypeNames[]: Remove an unwanted space

- CRegistryFolderExtractIcon::GetIconLocation():
  Add the REG_ENTRY_VALUE_WITH_CONTENT case

- CRegistryFolder::GetDetailsOf(): Fix copypasta

- CRegistryFolder::FormatValueData(): Fix magic constant

CORE-18747
2022-12-21 15:42:36 +03:00
Egor Ananyin
e0248f4f51 [NTOBJSHEX] Fix sorting elements by different columns (#4947)
- Add ability to sort NT objects by symlinks
- Add ability to sort registry entries by type/value

CORE-18761 CORE-18762
2022-12-20 23:58:30 +03:00
Egor Ananyin
d1718366de [SHELL32] Read the label for a CD from autorun.inf (#4945)
Some CDs may set a custom label using autorun.inf.
Read the label from the file, and if it succeeds, show it to the user.

CORE-18567
2022-12-20 22:30:09 +03:00
Stanislav Motylkov
ba03ffd645 [NTOBJSHEX] Formatting only 2022-12-20 20:08:08 +03:00
Muthu R Kumar
4c25af5bd4 [SHELL32] Fix detailed list views in Control Panel and Registry Folder
- Add enums for Control Panel and Registry Folder columns
- Fix iColumn values in GetDetailsOf() and fix checks in
  GetDefaultColumnState()

Current CControlPanelFolder::CompareIDs was using wrong lparam column
index. Actual column index should be 1 instead of 4. Because of this
the comment column next to name in details view was not being displayed
correctly. The same fixes for CRegFolder class functions.

PR #4944. CORE-18743 CORE-18501
2022-12-20 18:42:07 +03:00
Eric Kohl
28088ab25d [RPCRT4_WINETEST] Remove obsolete todo_wine
Addendum to 00ccbd2f
2022-12-19 17:58:02 +01:00
Eric Kohl
00ccbd2f39 [RPCRT4] RpcStringBindingParseA/W must fail, if a colon is missing in the string binding
This fixes a bug in the rpc winetest.
This patch will be sent upstream.
2022-12-19 16:13:58 +01:00
Eric Kohl
d01de6dc8b [RPCRT4] Call WSAStartup in rpcrt4_ip_tcp_get_top_of_tower
This fixes the crash in the rpc winetest.
2022-12-19 13:39:52 +01:00
Eric Kohl
2a783979ff [RPCRT4] RpcStringFreeA/W must set the pointer to NULL
Add a matching wine test.

This change will be sent upstream.
2022-12-19 09:18:48 +01:00
Joachim Henze
5ecb9e8cb5 [DESK] Update german translation de-DE.rc (#4943) 2022-12-16 16:29:17 +01:00
Eric Kohl
5ff50741dd [NTOS:IO] Replace an outdated E-Mail Address
The old Address will be gone soon.
2022-12-16 10:34:51 +01:00
Joachim Henze
e8e38b8301 [SYSSETUP] Fix missing comma in german translation de-DE.rc
The old string lacked a *mandatory* comma before the word "übereinstimmen"
as the part "die Sie nutzen wollen" is a relative clause,
relative to the noun "Anwendungen".
But we can fix it without having to add the comma by some shuffling.
That also improves the reading flow.
2022-12-15 00:14:57 +01:00
Joachim Henze
e54c7fa740 [WINLOGON] Update german translation de-DE.rc
Addendum to 0.4.15-dev-2358-g 5f03339239
to avoid regressing the german translation compared to releases/0.4.14
2022-12-14 23:27:37 +01:00
Timo Kreuzer
9762ef9480 [WIN32K] Workaround for broken/retarded (on non-x86) FLOATOBJ_GetFloat
The official definition in winddi.h always returns the result in an ULONG. This works to assign to a FLOATL on x86, which is also an ULONG, but it doesn't work on any other architecture, where FLOATL is actually a FLOAT, so the assignment would convert the ULONG encoding of the FLOAT to an actual float, which gives broken results. Work around this by simply replacing the definition with a sane one in win32k.
2022-12-13 07:18:24 +01:00
Timo Kreuzer
a206b55838 [WIN32K] Fix memory leak on failure in REGION_SetPolyPolygonRgn 2022-12-13 07:18:24 +01:00
Timo Kreuzer
4f0f5f6ff8 [WIN32K] Fix a bug in PATH_PathToRegion 2022-12-13 07:18:24 +01:00
Timo Kreuzer
84b09285c8 [WIN32K] Fix missing NULL check in NtGdiPathToRegion 2022-12-13 07:18:24 +01:00
Timo Kreuzer
60af8194bb [WIN32K] Fix uninitialized variable in IntExtTextOutW 2022-12-13 07:18:24 +01:00
Timo Kreuzer
2e3fe5de90 [NTOS] Fix saving of XMM registers on some trap handlers 2022-12-13 07:18:24 +01:00
Timo Kreuzer
52fe43e87b [KMTEST] Add a NULL check 2022-12-13 07:18:24 +01:00
Timo Kreuzer
9e12af569f [KMTEST] Handle failure in KmtLoadDriver and KmtOpenDriver 2022-12-13 07:18:24 +01:00
Victor Perevertkin
53de4fd93e [NTOS:IO] Bring back the NDEBUG definition
Addendum to 947f60b207
2022-12-13 01:49:32 +03:00
Victor Perevertkin
947f60b207 [NTOS:IO] Allow REG_SZ type for ImagePath of a driver
Fixes the load of the Sysinternals FileMon driver.

CORE-18725
2022-12-13 01:46:20 +03:00
Serge Gautherie
475c0d1b4d [BTRFS] btrfs.inf: Comment out mkbtrfs.exe (#4937)
It is not imported into ReactOS.

Addendum to 0.4.13-dev-788-g c8875c182a and 0.4.14-dev-1535-g 194ea909fd
2022-12-11 23:10:02 +01:00
Hermès Bélusca-Maïto
e942eeaff8 ['OLD'_WORDPAD] General resources in rsrc.rc are language-neutral. 2022-12-10 00:40:53 +01:00
Hermès Bélusca-Maïto
1103104227 [ROSAPPS] Exclude the templates from compilation by default. 2022-12-10 00:36:13 +01:00
Hermès Bélusca-Maïto
49ceac2efc [MDI] Template MDI app is Win32 GUI, not CUI. 2022-12-10 00:36:12 +01:00
Joachim Henze
5123edd731 [CONSOLE] Improve font preview and Update de-DE.rc (#4933)
An addendum to bc1e2dbb92 == SVN r74465
from CORE13182 (I intentionally did not want JIRA to auto-link)
2022-12-09 21:28:38 +01:00
Thamatip Chitpong
7ca2710d64 [SHELL32] Improve "Empty Recycle Bin" sound code (#4927)
Split off from PR #4755. This change doesn't require WINMM fixes (#4635).

- Remove `MAX_PATH` limit
- Use ATL classes
- Play the sound asynchronously
2022-12-09 23:14:09 +03:00
Thamatip Chitpong
f0c20caf32 [SHELL32] Fix My Documents properties (#4906)
Tell the caller to run default action by returning S_FALSE in else case.

CORE-17509
2022-12-09 16:00:24 +03:00
Oleg Dubinskiy
82cf6c2b06 [NTOS:IO] Properly zero-initialize a file object created by IopParseDevice (#4931)
Fix uninitialized kernel memory leakage for a case when a file object extension is appended.

CORE-18711
2022-12-08 01:15:42 +03:00
Hermès Bélusca-Maïto
1341c384f2 [MSPAINT] Fix manifest for mspaint. 2022-12-06 15:26:30 +01:00
Thamatip Chitpong
ebf10528c2 [SYSDM] System Parameters: Add close button (#4928)
Follow-up of PR #4891 (commit f125cd1c7).
2022-12-06 13:50:12 +01:00
Hermès Bélusca-Maïto
b577ac073e [KDGDB] Fix compilation following commit de81021ba (#4930)
Use cast to be compatible with "public" structure definition.
2022-12-06 00:53:53 +01:00
Katayama Hirofumi MZ
599ba9cefb [BOOTDATA][INF] Add Japanese (ja-JP) translation to timezone
CORE-18706
2022-12-05 11:29:02 +09:00
Egor Ananyin
71123b72fa [DESK] Fix screensaver preview after calling its settings (#4921)
Fix a bug when after closing the settings window for a screensaver,
the preview for it wouldn't restart.

- Keep waiting for messages from the settings window while it's open
- Fix leaking two handles to avoid creating zombie processes

CORE-18680
2022-12-04 18:04:23 +03:00
Thamatip Chitpong
cae51e8f77 [MMSYS] Prevent the same sound from being added multiple times (#4898)
Check if the list already contains the sound.
2022-12-04 17:12:36 +03:00
Katayama Hirofumi MZ
11ee1fa88e [NTGDI][FREETYPE] Follow-up of #4920 (e316d61); Rename functions
Follow the naming policy.

- ftGdiGetRealGlyph --> IntGetRealGlyph
- ftGdiGlyphCacheGet --> IntFindGlyphCache
- ftGdiGlyphSet --> IntGetBitmapGlyphNoCache
- ftGdiGlyphCacheSet --> IntGetBitmapGlyphWithCache
- FtMatrixFromMx --> IntMatrixFromMx

CORE-11848
2022-12-04 22:11:46 +09:00
Katayama Hirofumi MZ
47f3a4e144 [OSK] Delete WS_EX_NOACTIVATE workaround code
CORE-18528
2022-12-04 10:15:56 +09:00
Katayama Hirofumi MZ
1fbed1710e [NTUSER] Fix SetActiveWindow return value
Apply set-active.patch. CORE-13257
2022-12-04 08:58:34 +09:00
Thamatip Chitpong
7c2b22c4de [SENDMAIL] Fix Send To -> Desktop (create shortcut) behavior (#4913)
Several fixes and improvements to the CDeskLinkDropHandler:
- Set default working directory for shortcuts (except folders and zip files)
- Copy existing shortcut to the desktop if the source file is a shortcut
- Prevent destination file name collision

Verified on Windows XP SP3 and Windows 7 SP1.
2022-12-03 20:06:45 +03:00
Thamatip Chitpong
feff2b1e6c [EXPLORER] Fix Windows XP compatibility (#4923)
CORE-18694
It regressed by 0.4.15-dev-4596-g 1aa95f3897
2022-12-03 16:00:22 +01:00
Katayama Hirofumi MZ
e316d61215 [NTGDI][FREETYPE] lfEscapement for TextOut (#4920)
Rotation and shearing transformation of font/text is now available. Retrial of PR #1207.
- Rename ftGdiGetTextWidth as IntGetTextDisposition and add a Y parameter.
- Apply lfEscapement values (by multiplying matrices).
- Add IntEngFillPolygon and IntEngFillBox helper functions.
CORE-11848
2022-12-03 13:03:28 +09:00
Timo Kreuzer
e7bbbf049e [NTOS] Fix double free on allocation failure in ObCreateObject 2022-12-01 20:17:40 +02:00
Timo Kreuzer
51a09e7358 [SPOOLSS] Fix prototype of BuildOtherNamesFromMachineName 2022-12-01 20:17:40 +02:00
Timo Kreuzer
561b71b644 [NTOS] Improve MmDeleteProcessAddressSpace 2022-12-01 20:17:40 +02:00
Timo Kreuzer
10fbefdeb0 [NTOS] Improve MmCleanProcessAddressSpace 2022-12-01 20:17:40 +02:00
Timo Kreuzer
9fc56bfc9d [WIN32K] Fix missing NULL check in IntCreateDIBitmap 2022-12-01 20:17:40 +02:00
Timo Kreuzer
b89a4eed72 [NTOS:EX] Initialize ExpTimeRefreshLock 2022-12-01 20:17:40 +02:00
Timo Kreuzer
eb502bbc10 [KERNEL32] Fix a bug in GetVolumeNameForRoot 2022-12-01 20:17:40 +02:00
Timo Kreuzer
866918c785 [WS2_32_APITEST] Fix uninitialized variable 2022-12-01 20:17:40 +02:00
Timo Kreuzer
f71940efb1 [CRT_APITEST] Restore direction flag to avoid false RTC break
With set direction flag the variables will not be initialized properly.
2022-12-01 20:17:40 +02:00
Timo Kreuzer
dacbc603b6 [CRT] Add simplistic fallback implementation of sincos to make GCC 11 happy 2022-12-01 15:21:59 +02:00
Timo Kreuzer
28c41b7d22 [CRT] Replace amd64 math functions/stubs with libm 2022-12-01 15:21:59 +02:00
Timo Kreuzer
20e6e17070 [FREELDR] Add stubs for pow and log to avoid pulling in the data from CRT (maybe fix printf functions instead?) 2022-12-01 15:21:59 +02:00
Timo Kreuzer
1ad4106b84 [CRT] Add basic version of handle_error 2022-12-01 15:21:59 +02:00
Timo Kreuzer
3d497ca883 [CRT] Improve _matherr handling 2022-12-01 15:21:59 +02:00
Timo Kreuzer
4d50f81419 [CRT] Implement _set_statfp 2022-12-01 15:21:59 +02:00
Timo Kreuzer
61cc62d1b2 [ASMPP] Implement asm preprocessor
This converts ML style assembly to GAS compatible syntax
2022-12-01 15:21:59 +02:00
Timo Kreuzer
7277e26944 [LIBM] Fix ldexp.c / ldexpf.c 2022-12-01 15:21:59 +02:00
Timo Kreuzer
4f348ee971 [LIBM] Add ldexp.c and ldexpf.c from aocl-libm-ose 2022-12-01 15:21:59 +02:00
Timo Kreuzer
105426b81a [LIBM] Fix up some asm files
This allows to compile them with GAS after translation
2022-12-01 15:21:59 +02:00
Timo Kreuzer
af6d3bb18f [LIBM] Convert tables from asm to C 2022-12-01 15:21:59 +02:00
Timo Kreuzer
9e8ed3f817 [LIBM] Fix build 2022-12-01 15:21:59 +02:00
Timo Kreuzer
4afb647c78 [LIBM] Import win-libm from AMD
Source: https://github.com/amd/win-libm
2022-12-01 15:21:59 +02:00
Timo Kreuzer
081c637c06 [XDK] Silence some GCC x64 warnings 2022-12-01 15:21:59 +02:00
Timo Kreuzer
06f1ac5fa4 [CRT] Add a workaround for CORE-18255 2022-12-01 15:21:59 +02:00
Katayama Hirofumi MZ
138eb58b95 [NTGDI][FREETYPE] lfWidth for GetTextMetrics and GetCharWidth (#4919)
- Add lfWidth member into FONTGDI structure.
- Delete IntWidthMatrix function.
- Fix IntRequestFontSize behavior for processing lfWidth value.
- Apply lfWidth in GetTextMetrics and GetCharWidth.
- Ignore the XFORM values in GetTextMetrics and GetCharWidth.
CORE-11848
2022-12-01 08:54:39 +09:00
Katayama Hirofumi MZ
4d0d22aee2 [NTGDI][FREETYPE] Add special structure for hashing (#4916)
Add FONT_CACHE_HASHED structure and use it.
CORE-11848
2022-11-29 19:41:09 +09:00
Mark Jansen
062a8f20a9 [RPCRT4] Sync msvc.S with WINE's inline assembly,
as suggested by Thomas

CORE-18505
2022-11-28 20:12:57 +01:00
Hermès Bélusca-Maïto
8398b28ae4 [PSDK] Fix x64 incompatibilities in ***Box_GetItemData(). Addendum to 6572dd7f4. 2022-11-28 15:02:39 +01:00
Katayama Hirofumi MZ
b85f0056a8 [NTGDI][FREETYPE] lfWidth for GetTextExtentPoint32 (#4912)
- Apply LOGFONT.lfWidth in TextIntGetTextExtentPoint function.
- Delete XFORM transformation in TextIntGetTextExtentPoint (to be simply ignored).
CORE-11848
2022-11-28 07:34:58 +09:00
Thomas Faber
991e2bd45b [LIBPNG] Update to version 1.6.39. CORE-18670 2022-11-27 10:10:53 -05:00
Thomas Faber
c5febe93f0 [LIBPNG] Update to version 1.6.38. CORE-18670 2022-11-27 10:10:51 -05:00
Jose Carlos Jesus
45c8e4dcd0 [NEWDEV][SHELL32][SYSSETUP] Improve browse driver folder dialog (#4293)
[NEWDEV] Enable OK button in "Browse For Folder" only when driver is found

Implement BrowseCallbackProc() function which sends BFFM_ENABLEOK message
to the browse dialog whether the driver is found in the selected folder.

Pass the search path to the browse dialog depending on the current index
of the drop down combobox. If the index is not set, just get window text.
Then, automatically expand the tree view to the specified path by sending
BFFM_SETSELECTION message.

Also fix a bug in SearchDriverRecursive() where a duplicate backslash
was added to the PathWithPattern string variable.

[SHELL32] Do not add Recycle Bin to the tree view items in FillTreeView()

[SYSSETUP] Add source path to the "Installation Sources" multi-string key

Each time the ProcessSetupInf() is being called, add the source path
to the "Installation Sources" registry key, if it's not added there yet.
The driver search path combobox will be then populated using its value.
2022-11-27 18:00:46 +03:00
Katayama Hirofumi MZ
015cd2596c [NTGDI][FREETYPE] Follow-up of #4901 (57702ed)
- Drop APIENTRYs for static functions.
- Use FIELD_OFFSET instead of offsetof.
- Delete unnecessary ASSERTs.
- Add annotations.
CORE-11848
2022-11-27 12:42:25 +09:00
Katayama Hirofumi MZ
57702ed401 [NTGDI][FREETYPE] Font cache: Use hash (#4901)
- Modify FONT_CACHE_ENTRY structure to use hash.
- Use hash in ftGdiGlyphCacheGet and ftGdiGlyphCacheSet functions.
- Reduce function call overheads by using FONT_CACHE_ENTRY, in getting glyph.
CORE-11848
2022-11-27 11:26:44 +09:00
Katayama Hirofumi MZ
430674022a [GDI32_APITEST] Strengthen TextTransform testcase (#4908)
- Simplify and refactor the tests.
- Add the tests for LOGFONT.lfWidth and LOGFONT.lfEscapement.
CORE-11848
2022-11-27 11:25:11 +09:00
Hermès Bélusca-Maïto
3c95c95369 [NDK] Fix description for PIO_APC_ROUTINE.
[RTL] Typo fix.
2022-11-26 02:38:52 +01:00
Hermès Bélusca-Maïto
5871716c64 [HALX86] Update the PCI hardware IDs database.
Extracted from the pci.ids database at https://pci-ids.ucw.cz/ from 2022-11-25 03:15:01 .
Maintained by Albert Pool, Martin Mares, and other volunteers from the PCI ID Project.
2022-11-25 16:17:10 +01:00
Thomas Faber
c0027d117c [LIBXML2] Update to version 2.10.3. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber
19da1718e5 [LIBXSLT] Update to version 1.1.37. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber
1dbad942d8 [LIBXML2] Update to version 2.10.2. CORE-17766 2022-11-25 09:30:39 -05:00
Thomas Faber
0d5a4166a4 [LIBXML2] Update to version 2.10.1. CORE-17766 2022-11-25 09:30:36 -05:00
Katayama Hirofumi MZ
3f3714bad4 [NTGDI][FREETYPE] Font cache: Use FT_Matrix instead of MATRIX (#4900)
- Use FT_Matrix instead of MATRIX in FONT_CACHE_ENTRY structure.
- Use FtMatrixFromMx and FT_Set_Transform instead of FtSetCoordinateTransform.
CORE-11848
2022-11-25 11:23:29 +09:00
Timo Kreuzer
9658c6a220 [NTOSKRNL] Print boot cycles on x64 just like on x86 2022-11-24 21:17:58 +02:00
Timo Kreuzer
225e0c89d9 [NTOS] Fix a bug in KiPrepareUserDebugData 2022-11-24 21:17:58 +02:00
Timo Kreuzer
e923912f94 [NTOS] Fix unwinding through KiThreadStartup 2022-11-24 21:17:58 +02:00
Timo Kreuzer
66aa25b1cd [RTL] Implement RtlUnwind 2022-11-24 21:17:58 +02:00
Timo Kreuzer
8d3bc7c572 [RTL] Set unwind flags in RtlUnwindEx 2022-11-24 21:17:58 +02:00
Timo Kreuzer
0c211b975f [RTL] Fixes for RtlpUnwindInternal 2022-11-24 21:17:58 +02:00
Timo Kreuzer
aade1ab01b [RTL] Fix RtlVirtualUnwind 2022-11-24 21:17:58 +02:00
Timo Kreuzer
90d2e12dfa [RTL] Fix RtlpCaptureNonVolatileContextPointers 2022-11-24 21:17:58 +02:00
Timo Kreuzer
f4d4b31c61 [RTL] Implement x64 version of RtlInterlockedPushListSList 2022-11-24 21:17:58 +02:00
Timo Kreuzer
20a6cff4dd [CRT] Implement _InterlockedCompareExchange128 intrinsic for GCC 2022-11-24 21:17:58 +02:00
Timo Kreuzer
3381bf39db [HAL/x64] Fix x86BiosCall
Use an INT call stub and exit on the address after the stub instead or using iret (some BIOS code uses int / iret internally). This fixes the messed up display when trying to switch modes.
2022-11-24 21:17:58 +02:00
Timo Kreuzer
38fc6e1274 [OLEAUT32] Implement x64 call_method in asm
This is based on the inline implementation for GCC.
2022-11-24 21:17:58 +02:00
Timo Kreuzer
a007f5e490 [NTOS] Fix NtContinue for x64 2022-11-24 21:17:58 +02:00
Timo Kreuzer
6744368755 [NTDLL_APITEST] Implement NtContinue test for x64 2022-11-24 21:17:58 +02:00
Hermès Bélusca-Maïto
f7024d6c72 [PSDK][NTOS:KD64] Turns out, that even Clang in MSVC mode needs the 64-bits pointer extension hack!
Addendum to commit de81021ba.
Otherwise, we get the following build error:

 \ntoskrnl\kd64\kddata.c(532,5): error: initializer element is not a compile-time constant
      PtrToUL64(RtlpBreakWithStatusInstruction),
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 \ntoskrnl\kd64\kddata.c(526,26): note: expanded from macro 'PtrToUL64'
 #define PtrToUL64(x)    ((ULPTR64)(x))
                          ^~~~~~~~~~~~
2022-11-24 13:30:43 +01:00
Katayama Hirofumi MZ
375b02f337 [NTGDI][FREETYPE] Simplify IntRequestFontSize and FONTGDI
FONTGDI.lfWidth and FONTGDI.EmHeight are not used.
Simplify code without setting these members.
CORE-11848
2022-11-24 14:18:20 +09:00
Katayama Hirofumi MZ
476f94c0fe [NTGDI][FREETYPE] Formatting code; Follow up #4865 (a620c6f)
CORE-11848
2022-11-24 12:28:10 +09:00
Thomas Faber
911153da10 [LIBXML2] Update to version 2.10.0. CORE-17766 2022-11-23 22:02:47 -05:00
Thomas Faber
608bbe1136 [MSXML3][MSXML3_WINETEST] Partial sync to Wine to enable libxml2 update. CORE-17766
xml2: Import upstream release 2.10.0.

wine commit id 015491ab32742ace5218d37b1149c58803858214 by Alexandre Julliard <julliard@winehq.org>

Note: Upstream msxml3_test has switched away from WINE_NO_LONG_TYPES, so
I've kept the old printf format specifiers for now. Once we do a full
sync, we can get rid of __ROS_LONG64__ for this test and use them
unmodified.
2022-11-23 22:02:47 -05:00
Thomas Faber
21ab4d93c7 [LIBXSLT] Update to version 1.1.36. CORE-17766
This version was released after libxml2 2.10.0, but it removes
usage of some now-deprecated functions that would break the build.
2022-11-23 22:02:43 -05:00
Katayama Hirofumi MZ
a620c6f82e [NTGDI][FREETYPE] Simplify font rendering (#4865)
- Add ftGdiGetRealGlyph and ftGdiGetTextWidth helper functions.
- Optimize font rendering.
CORE-11848
2022-11-24 11:51:04 +09:00
Hermès Bélusca-Maïto
968b264300 [NTOS:KD] Rename the private acquire/release lock functions to fix GCC compilation.
If you ask why there are two sets of functions that do the same, it's
because this file (and the kdmain.c) will very soon some day be moved to
a transport dll, outside the kernel, and it will need these functions.
2022-11-24 01:44:14 +01:00
Hermès Bélusca-Maïto
ffb05406e6 [NTOS:KD64] Implement KdLogDbgPrint() for the WinDbg !dbgprint command.
See this command's documentation:
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/-dbgprint
and the section "DbgPrint buffer and the debugger"
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/reading-and-filtering-debugging-messages#dbgprint-buffer-and-the-debugger
for more details.

- Loosely implement the function, based on our existing circular printout
  buffers in kdio.c.
- Enable its usage in the KdpPrint() and KdpPrompt() functions.

Notice that this function will *only* capture the strings being sent **to**
the debugger, and not the strings the debugger itself produce. (This means
that we cannot use the KdPrintCircularBuffer as a replacement for our
KDBG dmesg one, for example...)

How to test:
Run ReactOS under WinDbg, and use the !dbgprint command to view the
buffer. You can also use the Memory Window, place yourself at the
address pointed by KdPrintCircularBuffer and KdPrintWritePointer, and
read its contents.

What you should observe:
Prior notice: The circular buffer in debug builds of ReactOS and Windows
is 0x8000 bytes large. In release builds, its size is down to 0x1000.
1- When you start e.g. the 2nd-stage GUI installation of ReactOS, going
   past the initial "devices installation" and letting it stabilize on
   the Welcome page, break into WinDbg and run the !dbgprint command. You
   should notice that the end of its output is weirdly truncated, compared
   to what has been actually emitted to the debug output. Comparing this
   with the actual contents of the circular buffer (via Memory Window),
   shows that the buffer contents is actually correct.
2- Copy all the text that has been output by the !dbgprint command and
   paste it in an editor; count the number of all characters appearing +
   newlines (only CR or LF), and observe that this number is "mysteriously"
   equal to 16384 == 0x4000.
3- Continue running ReactOS installation for a little while, breaking back
   back into WinDbg and looking at !dbgprint again. Its output seems to be
   still stopping at the same place as before (but the actual buffer memory
   contents shows otherwise). Continue running ROS installation, and break
   into the debugger when ROS is about to restart. You should now observe
   that the dbgprint buffer rolled over:
     dd nt!KdPrintRolloverCount shows 1.
   Carefully analysing the output of !dbgprint, however, you will notice
   that it looks a bit garbage-y: the first part of the output is actually
   truncated after 16384 characters, then you get a second part of the
   buffer showing what ReactOS was printing while shutting down. Then
   you get again what was shown at the top of the !dbgprint output.
   (Of course, comparing with the actual contents of the circular buffer
   in memory shows that its contents are fine...)

The reason of these strange observations, is because there is an intrinsic
bug in the !dbgprint command implementation (in kdexts.dll). Essentially,
it displays the contents of the circular buffer in two single dprintf()
calls: one for the "older" (bottom) part of the buffer:
  [WritePointer, EndOfBuffer]
and one for the "newer" (upper) part of the buffer:
  [CircularBuffer, WritePointer[ .
The first aspect of the bug (causing observation 3), is that those two
parts are not necessarily NULL-terminated strings (especially after
rollover), so for example, displaying the upper part of the buffer, will
potentially also display part of the buffer's bottom part.
The second aspect of the bug (explaining observations 1 and 2), is due
to the implementation of the dprintf() function (callback in dbgenv.dll).
There, it uses a fixed-sized buffer of size 0x4000 == 16384 characters.
Since the output of the circular buffer is not done by little chunks,
but by the two large parts, if any of those are larger than 0x4000 they
get truncated on display.
(This last observation is confirmed in a completely different context by
https://community.osr.com/discussion/112439/dprintf-s-max-string-length .)
2022-11-24 01:18:18 +01:00
Hermès Bélusca-Maïto
36335d9cee [NTOS:KD64] Correctly initialize the KdPrint buffer data in KdDebuggerDataBlock so as to fix the WinDbg !dbgprint command.
Now, !dbgprint just shows an empty log (since we don't fill it), instead
of showing the following error:

  kd> !dbgprint
  Can't find DbgPrint buffer
2022-11-24 01:18:17 +01:00
Hermès Bélusca-Maïto
de81021bab [PSDK][NTOS:KD64] Rename GCC_ULONG64 to ULPTR64 to self-document the fact it stores a pointer as a 64-bit quantity.
But the underlying GCC stupidity is still there (15 years later).

However, enable it only in 32-bit GCC builds, not in 64-bits nor with MSVC.
See commit b9cd3f2d9 (r25845) for some details.

GCC is indeed still incapable of casting 32-bit pointers up to 64-bits,
when static-initializing arrays (**outside** a function) without emitting
the error:

  "error: initializer element is not constant"

(which might somehow indicate it actually tries to generate executable
code for casting the pointers, instead of doing it at compile-time).

Going down the rabbit hole, other stupidities show up:

Our PVOID64 type and the related POINTER_64 (in 32-bit archs), or the
PVOID32 and POINTER_32 (in 64-bit archs), are all silently broken in
GCC builds, because the pointer size attributes __ptr64 and __ptr32,
which are originally MSVC-specific, are defined to nothing in _mingw.h.
(And similarly for the __uptr and __sptr sign-extension attributes.)

Clang and other sane ompilers has since then implemented those (enabled
with -fms-extensions), but not GCC. The closest thing that could exist
for GCC is to do:

  #define __ptr64 __attribute__((mode(DI)))

in order to get a 64-bit-sized pointer type with

  typedef void* __ptr64 PVOID64;

but even this does not work, with the error:

  "error: invalid pointer mode 'DI'"
2022-11-24 01:18:16 +01:00
Hermès Bélusca-Maïto
1c0950b557 [PSDK][NTOS:KD64] Update the KDDEBUGGER_DATA64 structure with new fields.
Information from the Windows 10 SDK and from
https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/NativeStructs.h
2022-11-24 01:18:15 +01:00
Hermès Bélusca-Maïto
1847474aaa [PSDK] Clarify the FIXME comment about this mysterious warning.h (here for WDK compatibility). 2022-11-24 01:18:11 +01:00
Marcin Jabłoński
edb7575faa [NTOS:KE/x64] Implement KeDisconnectInterrupt() for amd64 (#4883)
Choose the correct element of the KiUnexpectedRange array,
depending on the interrupt vector, the same way as here:
a2c6af0da4/ntoskrnl/ke/amd64/except.c (L77)

And guard KeConnectInterrupt() execution with dispatcher lock.

CORE-14922
2022-11-22 23:52:18 +03:00
Hermès Bélusca-Maïto
d15f126143 [NTOS:KDBG] Fix the ANSI escape sequences used to get terminal characteristics when printing with paging.
- Line-wrapping is enabled with 'ESC[?7h' (the '?' was forgotten).
  Notice that the following reference also shows it wrong:
  https://www.cse.psu.edu/~kxc104/class/cse472/09s/hw/hw7/vt100ansi.htm

- Terminal type is actually queried with 'ESC Z' (VT52-compatible), or
  with 'ESC[c' (VT100-compatible). The antediluvian CTRL-E ('\x05')
  control code gives instead a user-configurable (usually empty) string,
  so it's not reliable.
  Also, we don't really care about the returned result, we just need to
  know that one has been sent.

Cross-checked with online documentation:
* "Digital VT100 User Guide" (EK-VT100-UG-001) (1st edition, August 1978,
  reviewed November 1978).
* https://www.real-world-systems.com/docs/ANSIcode.html
* https://geoffg.net/Downloads/Terminal/TerminalEscapeCodes.pdf
* https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
* https://en.wikipedia.org/wiki/Enquiry_character

- Retrieve the size of the *controlling terminal* with escape sequences
  only when it's a serial one: serial output is enabled *and* KDSERIAL
  is set (i.e. user input through serial). See code for the actual logic
  (the corresponding truth table is left as an exercise for the reader).

- Fix also a "Buffer" vs. "InBuffer" mismatch, that caused the whole
  code to fail.

- For fallback terminal size values, use meaningful ones when SCREEN
  is instead the controlling "terminal" (based on full-size BOOTVID
  values).

- When echoing read characters during line-cooking, do direct output by
  using KdpDprintf() instead of going through the heavy KdbpPrint() function.
  This fixes some input artifacts like: 1. extra slowdowns due to
  querying terminal size at each keypress, and 2. getting obnoxious
  "--- Press q to abort ..." prompts in the middle of typing a long
  comamnd because you are at the very bottom of the screen.
2022-11-22 02:10:55 +01:00
Hermès Bélusca-Maïto
c29d6806b8 [NTOS:KD] Remove last remnant of KdpDetectConflicts, deprecated since 2007.
Addendum to commit be2645ad8 (r25987).
2022-11-22 02:10:54 +01:00
Hermès Bélusca-Maïto
9337ea6a3c [NTOS:KDBG] Deduplicate code between KdbpPrint() and KdbpPager(). 2022-11-22 02:10:54 +01:00
Thomas Faber
8940614a78 [LIBXML2] Update to version 2.9.14. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber
7244e0c5c6 [LIBXML2] Update to version 2.9.13. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber
df1adce32c [LIBXML2] Fix forgotten config.h update. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber
f7671c1be8 [LIBXSLT] Update to version 1.1.35. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber
e524b1bcf6 [LIBXSLT] Improve sync with upstream. CORE-17766
Makefile.am: this hasn't been updated in a while
security.c: WIN32 -> _WIN32 to keep the ROS-diff consistent with the rest
win32config.h/libxslt.h: remove unnecessary ROS-diff
xsltwin32config.h: this was missed in the 1.1.34 sync
xsltexports.h: mark a ROS-diff as such
2022-11-21 19:46:08 -05:00
Zebediah Figura
dee3e6e7cd [WINESYNC][WORDPAD] paint_ruler(): Use GetSysColorBrush()
Import wine-4.7 commit:
dcd9376ae7

Follow-up to 0.4.15-dev-5248-g be014129a5.
2022-11-21 23:08:27 +03:00
Zebediah Figura
0828e16462 [WINESYNC][USER32] MDI_AugmentFrameMenu(): Use GetSysColorBrush()
Import applicable part of wine-4.7 commit:
8d251a1dd1

Follow-up to 0.4.15-dev-5248-g be014129a5.
2022-11-21 23:08:09 +03:00
Thomas Faber
79b0fce5dc [NTOS:CM] Consistently use synchronous I/O for registry hives.
Our current CmpFileRead/CmpFileWrite do not wait for completion,
so will cause stack corruption if used on files opened in async
mode.
2022-11-20 16:02:39 -05:00
Jose Carlos Jesus
dfb7e2d639 [TRANSLATION] Improve Portuguese (pt-PT) translation (#4886)
- [APPWIZ] Improve pt-PT translation
- [INPUT] Update pt-PT translation
- [INTL] Fix typos in pt-PT translation
- [LICCPA] Improve pt-PT translation
- [SYSDM] Update and improve pt-PT translation
- [NTOBJSHEX] Update pt-PT translation
- [ZIPFLDR] Update and improve pt-PT translation
2022-11-20 23:20:11 +03:00
Jose Carlos Jesus
685728bc24 [SHELL32] Prevent a second call to Drive Properties dialog (#4888)
CDefaultContextMenu::DoProperties provides a fallback call
to the property sheet testing the return value of the _DoCallback method,
which is ultimately the return value of SH_ShowDriveProperties().

SH_ShowDriveProperties() sometimes returns an HRESULT, however it is marked
as returning a BOOL. Then, DrivesContextMenuCallback() always handles this
result as an HRESULT.

Fix SH_ShowDriveProperties() to always return a BOOL as it is intended,
and in DrivesContextMenuCallback() handle the result accordingly.

CORE-18537
2022-11-20 21:10:11 +03:00
Jose Carlos Jesus
c093d4f803 [TASKMGR] Prevent context menu on idle process (#4889)
In Win2K3, there is no context menu on the System Idle Process.

CORE-18640
2022-11-20 20:22:30 +03:00
Thamatip Chitpong
f125cd1c71 [SYSDM] System Parameters: Close dialog on ESC (#4891)
CORE-18610
2022-11-19 20:08:04 +03:00
Katayama Hirofumi MZ
f908d37bb3 [REGEDIT] F4, Alt+D, Tab, and Shift+Tab (#4885)
CORE-12323
2022-11-19 08:42:20 +09:00
Hermès Bélusca-Maïto
ffe3109d37 [NTOS:KD] Handle work-buffer allocation failure in KdpDebugLogInit. It can be ignored in KdpScreenInit. 2022-11-18 18:48:46 +01:00
Hermès Bélusca-Maïto
271b985981 [NTOS:KD] Cleanup of some old code.
- Remove KdbInit() macro and directly use KdbpCliInit() (since the place
  where it was used was already within an #ifdef KDBG block).

- Declare KdpKdbgInit() only when KDBG is defined, move its definition
  into kdio.c and remove the legacy wrappers/kdbg.c file.
  And in KdbInitialize(), set KdpInitRoutine directly to the former,
  instead of using the KdpKdbgInit indirection.

- Don't reset KdComPortInUse in KdpDebugLogInit().

- Minor refactorings: KdpSerialDebugPrint -> KdpSerialPrint and make it
  static; argument name "Message" -> "String", "StringLength" -> "Length".
2022-11-18 18:11:30 +01:00
Hermès Bélusca-Maïto
98e585364b [NTOS:KD] Annotate KdInitSystem and remove redundant declaration in kd.h 2022-11-18 18:11:29 +01:00
Hermès Bélusca-Maïto
4a93b0a463 [NTOS:IO] Show the captured/generated driver name in one failure path of IoCreateDriver. 2022-11-18 18:11:28 +01:00
Hermès Bélusca-Maïto
56be4eafd5 [NTOS:IO][NDK] Add the exported IoDeleteDriver to the NDK headers. 2022-11-18 18:11:26 +01:00
Joachim Henze
9c5bb096bc [COMCTL32] Remove a rosdiff TOOLBAR_EraseBackground() (#4887)
This fixes the toolbar in FileZilla 3.8 being drawn wrong (grey)
It regressed by 0.4.15-dev-1603-g 232c45fcd7

And todays fix is a partial revert of that guilty rev.
The reverted part is not even necessarily needed for what we had in mind back then,
It was just a first tiny step with the aim to get rid of the comctl32.h changes of that commit.
But that goal was and even is far out of reach for many other reasons also.
Actually we should have reverted the toolbar.c change back then already,
before committing the "flipfix9".

CORE-18263
2022-11-18 12:42:32 +01:00
Katayama Hirofumi MZ
7cc89e520c [NTUSER] Implement IntCheckImeShowStatusInThread
CORE-11700
2022-11-17 10:27:12 +09:00
Joachim Henze
bcb9abc133 [SYSDM][SMSS] Addendum to (#4843) (#4844) CORE-18574
[SYSDM] Prevent my german-teacher from getting a heart-attack by that misplaced comma.

[SMSS] Prevent myself from getting a heart-attack by that superfluous dot.

Furthermore this addendum serves the purpose of actually linking both PRs
and their 4 previous commits to the actual JIRA ticket CORE-18754, which wasn't
the case before:
0.4.15-dev-5392-g 04b2d35f5b
0.4.15-dev-5391-g a8e06d92e8

0.4.15-dev-5390-g a4274ad548
0.4.15-dev-5389-g 5dc43c0f32
2022-11-16 23:08:52 +01:00
Serge Gautherie
770b3a3ce5 [HHPCOMP:CHMC] chmc_crunch_lzx(): Disable a dead check (#4880)
CORE-18642
2022-11-16 22:19:52 +01:00
Hermès Bélusca-Maïto
04b2d35f5b [SYSDM] Improvements for the Paging File settings dialog. (#4844)
- Implement the architecture-specific pagefile size limits.
  In particular, verify that the selected volume on which to create
  the page file can accomodate the theoretical maximum limit (e.g.
  FAT32 cannot accomodate a 16 TB pagefile on x64, and the limit must
  be lowered down to 4 GB).

- Change the IDS_WARNINITIALRANGE and IDS_WARNMAXIMUMRANGE strings
  so that the maximum limit mentioned is the dynamic one.

- Review, improve and fix other aspects of the code.

Parts of this PR: addendum to commits 4d2d2dbb2 (#2597), 3bee3b92a (#2706).
2022-11-16 21:55:23 +01:00
Hermès Bélusca-Maïto
a8e06d92e8 [SYSDM] Make ResourceMessageBox() support printf-like messages. (#4844)
+ Make usage of this new functionality.
+ Cleanup precomp.h.
2022-11-16 21:55:22 +01:00
Hermès Bélusca-Maïto
a4274ad548 [SMSS][NTOS:MM] Implement the architecture-specific pagefile size limits + code review. (#4843)
What we have:
- Maximum number of pagefiles: 16
- Minimum pagefile size: 256 pages (1 MB when page size = 4096 bytes)
- Maximum pagefile size:
  * 32-bit platforms: (1024 * 1024 - 1) pages (~ 4095 MB)
  * x86 with PAE support: same size as for AMD x64
  * x64 platform:  (4 * 1024 * 1024 * 1024 - 1) pages (~ 16 TB)
  * IA64 platform: (8 * 1024 * 1024 * 1024 - 1) pages (~ 32 TB)

Those are the values as supported and verified by the NT kernel.
Now,  user-mode programs (including SMSS.EXE)  have different opinions
on these, namely, they consider estimates directly in MB, respectively:
4095 MB, (16 * 1024 * 1024) MB, and (32 * 1024 * 1024) MB
(verified on Win2k3 and Win7 32 and 64 bits).
Also here, the minimum pagefile size is set to 2 MB.

Starting Windows 8+ (and 10), those values change slightly, and are
still not fully synchronized between NTOS:MM and SMSS. Finally, while
(x86 PAE and) AMD64 and ARM64 seem to share the maximum pagefile
size limit, 32-bit ARMv7 appears to use different limits than regular
x86 (2 GB instead of 4).

Please keep those values as they are for NT compatibility!

See the following references:
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/mm/modwrite/create.htm
https://techcommunity.microsoft.com/t5/ask-the-performance-team/what-is-the-page-file-for-anyway/ba-p/372608
+ Manual extraction of the values from different NT 6.2,6.3,10 builds.

[SMSS] Fill out in particular the x86-specific case for PAE.

[NTOS:MM] Some cleanup in the NtCreatePagingFile() code, namely:
- Clarify some comments;
- Validate the lower and upper bounds of the Minimum and Maximum sizes
  (based on Windows behaviour as explained by Geoff + manual tests).
- Open the pagefile in case-insensitive;
- Simplify the loop that finds an existing matching pagefile;
- Simplify some failure exit paths;
- Add a "Missing validation steps TODO" comment block explaining the
  existing code-hole.
2022-11-16 21:54:31 +01:00
Hermès Bélusca-Maïto
5dc43c0f32 [SMSS] Improve some comments. 2022-11-16 21:54:21 +01:00
Hervé Poussineau
12ef61ba10 [WIN32SS:ENG] Set VGA device as child of primary device
That way, we don't have anymore the VGA device together with primary device in device list.

Change also EngpUnlinkGraphicsDevice() function to add back VGA device to device list
when removing its parent from device list.

CORE-18522
2022-11-15 23:16:10 +01:00
Hervé Poussineau
b3cdb7e713 [WIN32SS:ENG] Add EngpLinkGraphicsDevice, to add a device to gpGraphicsDeviceFirst list 2022-11-15 23:16:10 +01:00
Hervé Poussineau
3d01a103d7 [WIN32SS:ENG] Zero memory when allocating GRAPHICS_DEVICE structures 2022-11-15 23:16:10 +01:00
Hervé Poussineau
ea30b96334 [WIN32SS:ENG] When VGA mode is requested, drop all graphic devices except VGA one
We don't need driver cooperation anymore to handle VGA mode request.
2022-11-15 23:15:26 +01:00
Hervé Poussineau
0ecd997bdf [WIN32SS:NTUSER] Extract InitVideo() prototype and gbBaseVideo variable to header 2022-11-15 23:15:26 +01:00
Hervé Poussineau
79f16507c4 [VGAMP/VGADDI] Be consistent in IOCTL_VIDEO_GET_CURRENT_MODE and IOCTL_VIDEO_SET_CURRENT_MODE
As IOCTL_VIDEO_GET_CURRENT_MODE returns 2 as ModeIndex, wait for the same value
in IOCTL_VIDEO_SET_CURRENT_MODE.
Also change vgaddi to send this hardcoded value.

vga_new also uses 2 as index for 640x480x16
2022-11-15 23:15:26 +01:00
Katayama Hirofumi MZ
a2c6af0da4 [BOOTDATA][NTUSER] Add UserIsIMMEnabled and use it (#4882)
This PR enables SRVINFO_IMM32 also for non-CJK. You can disable this flag by setting zero to the LoadIMM registry value if you're non-CJK.
CORE-11700
2022-11-15 17:10:06 +09:00
Serge Gautherie
ba1ed89f91 [HALX86] HalpQueryInterface(): Debug log InterfaceType param (#4772)
This should help to find out which GUIDs are actually wanted.
Based on CircularTriangle06's patch.

CORE-11632
2022-11-15 02:04:04 +03:00
Serge Gautherie
5efb6e3d97 [NTFS] NtfsCreateFCB(): Check allocation result (#4795) 2022-11-15 01:28:33 +03:00
Stanislav Motylkov
a09e903398 [SHELL32] CDrivesFolder: Unhardcode pqcminfo->idCmdFirst value
DFM_MERGECONTEXTMENU handler works better now. However there is difference
between ours and Windows' menu building systems, which has to be fixed.

Addendum to 64657051c3. CORE-13841 CORE-18577
2022-11-14 21:56:01 +03:00
Katayama Hirofumi MZ
2628309baf [IMM32_APITEST] Follow-up of #4876 (7355810)
CORE-11700
2022-11-14 22:02:17 +09:00
Katayama Hirofumi MZ
73558102e7 [IMM32_APITEST] Add ImmEnumInputContext testcase (#4876)
Verify the IMM implementation. CORE-11700
2022-11-14 18:01:42 +09:00
Hermès Bélusca-Maïto
2dddbd5c54 [SMSS] Fix three SmpLoadSubSystem bugs related to the SB_CREATE_SESSION callback.
This fixes starting the Windows 2000 POSIX subsystem in ReactOS.

- The CreateSession pointer was initialized against the SbApiMsg variable, but
  it was the other SbApiMsg2 that was being initialized and sent through LPC.

- Do not overwrite the MuSessionId (Terminal Services session ID) variable with
  the generated environment subsystem session ID from SmpAllocateSessionId().

- Actually initialize the SbApiMsg ApiNumber for the CreateSession LPC call.

(dll\win32\kernel32\client\proc.c:3690) Retrying with: POSIX /P C:\ReactOS\system32\posix\ls.exe /C ls
Breakpoint 1 hit
csrsrv!CsrSbApiRequestThread+0x64:
001b:1000ac34 837dfc00        cmp     dword ptr [ebp-4],0
kd> ??ReceiveMsg
struct _SB_API_MSG
   +0x000 h                : _PORT_MESSAGE
   +0x018 ConnectionInfo   : _SB_CONNECTION_INFO
   +0x018 ApiNumber        : 0xcccccccc (No matching name)
   +0x01c ReturnValue      : 0n0
   +0x020 u                : <unnamed-tag>
kd> p
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 2
...
<Retrying>
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 3

All those bugs could have been avoided *IF*, rather than (badly) duplicating
its code, the existing SmpSbCreateSession() function had been used instead.

- "Not sure these field mean what I think they do -- but clear them" ... ◔_◔
  Those fields are related to the debug client interface (DbgUi) and session
  in case the subsystem being started is going to be debugged. These have
  nothing to do with the MuSessionId. Clarify this in the SB_CREATE_SESSION_MSG
  structure and in the SmpSbCreateSession() function.
2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto
f43ce46566 [SMSS] Improve comments/code/some DPRINTs. Reorganize smss.h header. 2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto
06a0451415 [SMSS][CSRSRV] Undefine CreateProcess symbol. Name the union inside SB_API_MSG.
Undefine CreateProcess because it can be #define'd (to CreateProcessA/W)
if winbase.h is included prior (as it is in SMSS).
2022-11-14 00:10:32 +01:00
Hermès Bélusca-Maïto
9c8a8cf2aa [CSRSRV][NTOS:PS] Misc typos fixes. 2022-11-14 00:10:30 +01:00
Joachim Henze
1dd9d2ef37 [NTUSER][USER32] Classic Theme: disabled "checked" checkboxes should be grey (#4874)
Classic Theme: disabled "checked" checkboxes should be grey CORE-18609
and not black, like they erroneously were.
This patch does not seem to have any impact on how they are rendered
for themed ros.

Ftr: We experimented also with COLOR_GRAYTEXT instead of COLOR_BTNSHADOW
but that did result in incorrect drawing of disabled "checked" checkboxes for
the 'High Contrast' Color Schemes.
2022-11-14 00:01:29 +01:00
Joachim Henze
45e79c3f23 [MSPAINT] Update de-DE.rc CORE-12356
An addendum to 0.4.14-dev-843-g	15bc263b07
2022-11-13 22:41:05 +01:00
Katayama Hirofumi MZ
3d298831db [IMM32] Get gHighestUserAddress in ImmInitializeGlobals
CORE-11700
2022-11-13 20:04:34 +09:00
Stanislav Motylkov
51f78918da [USER32] Rewrite CharPrev(Ex)A functions and fix tests (#4860)
Fixes 48 failing tests of user32:CharFuncs.
Only 12 minor failing tests are left!

Thanks to Simone Mario Lombardo for the problem analysis!

CORE-18415 CORE-18452
2022-11-13 13:22:26 +03:00
Katayama Hirofumi MZ
6b53f6d824 [USER32] Follow-up of e1f8b32; Delete unnecessary empty line
CORE-11700
2022-11-13 11:50:54 +09:00
Katayama Hirofumi MZ
e1f8b32c3d [INCLUDE][USER32] Add WM_FINALDESTROY and improve ImeWndProcA/W
CORE-11700
2022-11-13 09:59:17 +09:00
Katayama Hirofumi MZ
c7e8b544bc [USER32] Fix ImeWndProc_common comment
CORE-11700
2022-11-13 08:49:38 +09:00
Hermès Bélusca-Maïto
9bb5627df6 [SETUP][INF] Use the standard "Helv" -> "MS Sans Serif" substitution... (#4864)
... and let the latter one substitute to whatever we want.
Hindi however had "Helv" -> "Tahoma", but "MS Sans Serif" -> "FreeSans".
Now its "Helv" will go to "FreeSans".
2022-11-13 00:26:13 +01:00
Hermès Bélusca-Maïto
34c0bd0d5a [SETUP] muifonts.h Formatting only. 2022-11-13 00:25:53 +01:00
Marcin Jabłoński
6a3a79bb72 [DISKPART] Fix help for multi-word command crashing. (#4873)
* [DISKPART] Fix help for multi-word command crashing.

When the HELP command is executed for a multi-word command,
for example "HELP CREATE PARTITION PRIMARY", diskpart crashes.
This happens because before the desired form of the command
is encountered, its single word form is found - since the first word
of the command matches the one HELP is looking for, it tries to
compare the second word of the input command with the second
(nonexistent) word of the encountered single word command,
which is NULL. This results in diskpart crashing.
The fix makes HELP check if the to-be-compared word is not NULL,
before calling wcsicmp.
2022-11-12 13:02:33 +01:00
Joachim Henze
c47758b102 [SETUP][INF][MEDIA] Get rid of the last Ubuntu references CORE-18607 (#4871)
An addendum to 0.4.14-dev-20-g 2f4fb903b4
because since then we don't have the Ubuntu font anymore.

The substitutes are also not needed any longer.
We can use Tahoma here without causing any change in the current rendering,
because for all languages the former
Ubuntu substitutions did point either to Tahoma,
or to the same thing, that Tahoma atm points to
(for those language that do require additional glyphs).

This way we do not only get the substitutions closer to 2k3sp2, but will also
simplify our maintenance and testing, because the same font is guaranteed to be used then
for all themes: Classic, Blackshade and Lautus: The font which has the needed glyphs for
that specific language.

E.g.
"FreeSans" for Hindi,
"Tahoma" for most Western languages, and
"Droid Sans Fallback" for Chinese and Japanese language.

Things are cleaner and simpler this way.
2022-11-12 12:44:54 +01:00
Katayama Hirofumi MZ
0bc6bd6480 [NTGDI][NTUSER][INCLUDE] Add 'See also:' comments for structures (#4872)
Add 'See also' URLs to some undocumented structures.
2022-11-12 20:27:50 +09:00
Katayama Hirofumi MZ
f73a4d6bab [IMM32] ImmDllInitialize's first argument is an HINSTANCE
CORE-11700
2022-11-12 20:25:29 +09:00
Joachim Henze
a33fe38418 [SHELL32] Show 'comment' column for folders, make it rightmost CORE-18615 (#4868)
In explorer filebrowser 'details' view
the column 'comments' had invalid length of zero, and therefore
was hidden under the 'attributes' column.

I guess even after this patch, it will not display any
sane contents in there yet.
Therefore I chose a small width of 10 only, to reduce the chance for
it to trigger an undesired horizontal scrollbar.

As far as I see we don't support manual showing and hiding of additional columns yet.
By default my Windows does not show this column. But when activated manually, it is always
shown on the right hand side of the 'attributes' column.
2022-11-11 18:25:50 +01:00
Hervé Poussineau
d117765e71 [BOCHSMP] Move related registry entries to bochsmp directory 2022-11-11 15:14:13 +01:00
Katayama Hirofumi MZ
11a71418d5 [SHELL32] Implement IsLFNDriveA/W and improve PathResolve (#4866)
- Fix IsLFNDriveA and IsLFNDriveW functions.
- Add IsRemovableDrive helper function.
- Fix PathQualifyExW by using IsLFNDriveW.
CORE-11335
2022-11-10 23:18:04 +09:00
Katayama Hirofumi MZ
40863aebc4 [NTUSER] Add 'Win:' comments around IntDefWindowProc 2022-11-10 15:59:52 +09:00
Katayama Hirofumi MZ
0484beb04b [NTUSER] Don't redraw scrollbar if it is hidden (#4849)
Fix redrawing bug on Command Prompt. CORE-18593
2022-11-10 13:12:20 +09:00
Piotr Hetnarowicz
3fc6d90c58 [SYSSETUP] Update Polish (pl-PL) translation (#4859)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-11-10 02:10:19 +03:00
Piotr Hetnarowicz
2a400b29c0 [INPUT] Update Polish (pl-PL) translation (#4858)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-11-10 02:08:40 +03:00
Simone Mario Lombardo
6755921560 [DDRAW] Sync the fix for swap_interval from Wine (#4831)
Sync the barebone fix from Wine (wine-7.19-557-g13cc08e32d6):
https://source.winehq.org/git/wine.git/?a=search&h=HEAD&st=grep&s=ddraw_surface_update_frontbuffer%28
and
13cc08e32d:/dlls/ddraw/surface.c

- Added "swap_interval" argument to ddraw_surface_update_frontbuffer()
- Added ddraw_swap_interval_from_flags() function for dispatching
  the integer type of required swap interval
- Updated ddraw_surface_update_frontbuffer() function for managing the
  swap interval between backbuffer and frontbuffer (and relative flipping)
- Updated the ddraw_surface7_Flip() function for relaying the swap interval
  to ddraw_surface_update_frontbuffer() function.
- Added 0 value (as Wine) when the swap interval is not required

This fixes empty white screen issue on rendering because of lacking
swap interval for the software / games that use ddraw.

CORE-18547
2022-11-09 20:44:30 +03:00
Hermès Bélusca-Maïto
f1908c8959 [SMSS] Fix build. 2022-11-09 00:05:13 +01:00
Hermès Bélusca-Maïto
b076800dd8 [SMSS] Fix the displayed subsystem name in the failure path of SmpSbCreateSession().
The SubSystemNames array didn't correlate with the possible values of
SubSystemType (e.g. index 4 was "Posix" whereas Posix is type 7; Posix
and OS/2 entries were inverted; Windows CUI subsystem (type 3) was
mapped to "Posix"), and the array dereferencing was out of bounds if the
SubSystemType of the image happened to be larger than 8.

I know (strings extraction from debug build of Windows' SMSS.EXE) that
they use that same old'n'broken array. Perhaps a leftover from very old
times (NT 3.1 betas) where the PE format was under work and the
subsystem numbers didn't have their definitive values... (This has
already happened with the NT PDK v1.196 from September 1991.)
2022-11-08 23:47:02 +01:00
Hermès Bélusca-Maïto
bcbfcd2278 [CSRSRV] Minimally-adapt CSRSRV to make it able to host other subsystems than Win32.
This is really ReactOS-specific, so I surround them with __REACTOS__
(even if this is our code) to differentiate these from Win2k3 behaviour,
even though they were strongly inspired by what was possible in the beta
versions of NT 3.1 (pre-3.10.404).
Interestingly, Windows 7+ partially re-introduced that functionality
(just in differencing "Windows=On" from "Off").

See https://reactos.org/wiki/User:Hbelusca/CSRSS for more information.
2022-11-08 23:46:32 +01:00
George Bișoc
2fef8be892 [NTOS:SE] Dump security debug info in case no every right has been granted in SepAccessCheck
The "failed to grant access rights" message isn't enough to understand what kind of access rights haven't been granted and why. Dumping information of the captured security descriptor, the ACL and its ACEs with mask rights and token SIDs should be enough to understand the reason of the failure in question.
2022-11-08 18:24:37 +01:00
George Bișoc
e2ee126c23 [NTOS:SE] Add new ACE types for SepGetSidFromAce routine 2022-11-08 18:24:37 +01:00
George Bișoc
caa3571cd7 [NTOS:SE] Implement security debug facility routines
debug.c will serve as a centralized facility for security debugging routines and everything related to that. This file will be expanded with further debug functions for the Security subsystem if needed.
2022-11-08 18:24:37 +01:00
Hermès Bélusca-Maïto
9f48c69231 [SMLIB][SMSS] Implement SmLoadDeferedSubsystem() client and server-side. (#4821)
Loosely based on the deprecated ReactOS-specific SmExecuteProgram().
On server-side, we lookup into the list of deferred subsystems that
has been initialized at init time.

Dedicated to Justin Miller (The_DarkFire) work on reviving the
POSIX subsystem!
2022-11-08 17:41:02 +01:00
Hermès Bélusca-Maïto
8fea507d9b [SMSS] Logically group the LIST_ENTRY-ies. 2022-11-08 17:41:01 +01:00
Hermès Bélusca-Maïto
0e14378d3e [SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821)
This DLL was exporting legacy NT-incompatible or ROS-specific SM client
functions, that have been since 10 years now (2012) replaced by the new
NT-compatible SM:

- SmConnectApiPort(): was just SmConnectToSm().

- SmCompleteSession():
  The legacy SMSS used it for when a subsystem initialization was finished.
  Now (NT-compatible) this function is called by subsystems **only** when a
  subsystem session **terminates**: SmSessionComplete().

- SmExecuteProgram(): was just the client side of SmLoadDeferedSubSystem()
  (whose server side is not implemented yet). The legacy SM "old" SmExecPgm
  implementation actually was "SmLoadDeferedSubSystem"...

- SmLookupSubsystem(): is a utility-only function to read any registry value
  inside "Session Manager\SubSystems".

Move SMDLL's readme into SMLIB and update its contents.

Collect some residual useful functions into smutils.c (and moved in SMLIB,
though not compiled yet):
- SmExecuteProgram(), now implemented as a wrapper around SmExecPgm();
- SmLookupSubsystem(), described above;
- SmQueryInformation(), that retrieves a list of currently-running subsystems.

[SMLIB] Validate SbApiPortName's length in SmConnectToSm().
Fix CommandLine length validation in SmStartCsr().

Add documentation (+ SAL annotations) to the NT-compatible SMSS client functions.

smmsg.h: Add both Win32 and Win64 struct sizes C_ASSERTs for those whose size
change between these two processor architecture sizes.

[SMLIB] Introduce SmSendMsgToSm() as helper to send data into the SM LPC port.
+ Make the other API functions use it.

It should be observed that in Vista+, both functions SmConnectToSm() and this
new SmSendMsgToSm() are exported by NTDLL under the names RtlConnectToSm()
and RtlSendMsgToSm() (and use the same signature).
See: https://www.geoffchappell.com/studies/windows/win32/ntdll/history/names60.htm

[NTDLL] Correctly stub RtlConnectToSm() and RtlSendMsgToSm().
[NTDLL_VISTA] Link to SMLIB and simply export RtlConnectToSm() and RtlSendMsgToSm().
2022-11-08 17:40:53 +01:00
Katayama Hirofumi MZ
9f36a9d4a7 [NTGDI][FREETYPE] Optimize MatchFontNames (#4861)
Optimize MatchFontNames helper function for speed.
CORE-15554
2022-11-08 16:35:01 +09:00
Katayama Hirofumi MZ
467768f766 [NTGDI][FREETYPE] Reduce font size request (#4862)
- Delete some IntRequestFontSize function calls.
- Enable cache on font size requests.
- Add two members into FONTGDI structure, for font size cache.
CORE-15554
2022-11-08 16:31:10 +09:00
Katayama Hirofumi MZ
140aa11c36 [SHELL32] shlexec: Initial support of App Paths (#4850)
- Fix SHELL_TryAppPathW helper function by using SHRegQueryValueExW function.
- Fix SHRegQueryValueExA/W functions.
CORE-11335
2022-11-08 09:23:06 +09:00
Tony Lambregts
05d2935eed [USER32] Fix bug in CharPrevExA().
Import Wine commit wine-20050111-258-gffc17dbe0d0:
ffc17dbe0d

Fixes 20 failing tests of user32:CharFuncs.

CORE-18415 CORE-18452
2022-11-07 20:36:06 +03:00
Stanislav Motylkov
59f0ed43b9 [USER32] Coding style fixes only 2022-11-07 20:30:02 +03:00
Stanislav Motylkov
4b10fdbce9 [USER32_APITEST] Add tests for CharPrev/Next/Ex/A/W
CORE-18415 CORE-18452
2022-11-07 19:02:09 +03:00
Katayama Hirofumi MZ
bd40c13f6f [SETUP][BOOTDATA][FONTS][INF] Delete DejaVu Sans Mono and re-map (#4856)
- Delete "DejaVu Sans Mono" font files (DejaVuSansMono.ttf etc.).
- Re-map "Terminal" font substitute to "Lucida Console" except for HebrewFonts and UnicodeFonts.
- Re-map HebrewFonts "Terminal" font substitute to "Courier New".
- Re-map UnicodeFonts "Terminal" font substitute to "Courier New". And then, re-map UnicodeFonts "Courier" font substitute to "Courier New". Delete UnicodeFonts "Courier New" font substitute.
CORE-18605
2022-11-07 11:34:19 +09:00
Katayama Hirofumi MZ
a4193ade03 [SETUP][FONTS][INF][GDI32_APITEST] Delete FreeMono and re-map (#4852)
- Delete FreeMono fonts.
- Re-map "Courier" font substitutes to "Courier New" fonts.
CORE-18605
2022-11-07 08:04:38 +09:00
Tuur Martens
075ec50298 [DEVMGR] Fix wrong menu item hint (#4854)
Item hint for "Resources by connection" was incorrectly set to the hint for "Resources by type".

CORE-18608
2022-11-06 20:00:18 +03:00
Hermès Bélusca-Maïto
c48ca5b022 [SMSS] Fix some x64 warnings C4267 "conversion from 'size_t' to 'ULONG', possible loss of data" 2022-11-06 16:58:45 +01:00
Thomas Faber
f0dd1e7b57 [ACPICA] Update to version 20221020. CORE-17905 2022-11-06 08:33:29 -05:00
Thomas Faber
03b24380a7 [ACPICA] Update to version 20220331. CORE-17905 2022-11-06 08:33:29 -05:00
Thomas Faber
8129fee128 [ACPICA] Update to version 20211217. CORE-17905 2022-11-06 08:33:28 -05:00
Thomas Faber
9b247f6ae3 [ACPICA] Update to version 20210930. CORE-17905 2022-11-06 08:33:25 -05:00
Katayama Hirofumi MZ
7e9f1e67f3 [CHARMAP] Improve keyboard usability (#4839)
- Use IsDialogMessage function in message loop to enable Tab.
- Add WS_TABSTOP style to IDC_FONTCOMBO control.
- Set focus on create.
- Handle WM_KEYDOWN and WM_GETDLGCODE messages.
- Add UpdateCells, LimitCaretXY SetCaretXY, MoveUpDown, and MoveLeftRight helper functions.
- Delete DrawGrid, and DrawActiveCell functions for simplicity.
- Add and delete some members in MAP structure.
CORE-13806
2022-11-06 08:37:18 +09:00
Jeff Smith
c8ef276778 [COMDLG32] Set background to transparent for font dialog sample text
Import Wine commit wine-5.19-325-g4273004e65a:
4273004e65

CORE-18588
2022-11-05 02:42:13 +03:00
Mark Jansen
f89b406de6 [SDK] Fix missing comma in check_packing.py 2022-11-04 23:02:25 +01:00
Mark Jansen
2567a66399 [SHELL32] Fix CDefView UAF 2022-11-04 23:01:31 +01:00
Joachim Henze
d035452148 [SETUP][INF][ROSTESTS] Delete font substitutions and tests for "DejaVu Sans" (#4829)
I manually applied the final state of the reviewed (#4829) by hand.

The commit relies on (#4837) which added the Greek Tahoma glyphs, and the result now
does finally draw fine with unbold Tahoma also for the Greek ros installation.
See the final screenshot that I added today within (#4829).

Since 0.4.14-dev-6-g f45dd65 we do have a proper "Verdana" font,
so there is no need for substitution with "DejaVu Sans" any longer. That is the proper MS name for such a font.

And with 0.4.14-dev-20-g 2f4fb90 we even deleted the "DejaVu Sans" font,
so it makes no sense to keep it as a substitution target.

So adapt fonts.inf and muifonts.h, and also a test where it was still referenced.
MS 2k3sp2 does neither have such a font substitute, nor such a font.
2022-11-04 15:39:32 +01:00
Katayama Hirofumi MZ
94c8f271c9 [CPL:INTL] Use Japanese package for Far-East files (#4834)
Implement IDC_INST_FILES_FOR_ASIAN checkbox action. It will install/uninstall "ReactOS JPN Package" in Japanese ReactOS.
JIRA issue: CORE-12748
2022-11-04 21:48:07 +09:00
Katayama Hirofumi MZ
1a1a8a8303 [SHELL32][INCLUDE] Fix PathResolve for double-backslash (#4833)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

Fix shell32!PathResolve and shell32!PathQualifyExW functions for double-backslash. However it doesn't fix CORE-15204.
CORE-18080, CORE-15204
2022-11-04 21:44:46 +09:00
Katayama Hirofumi MZ
2c4cb40d8e [SHELL32_APITEST] Workaround on wine_dbgstr_w bugs
Double wine_dbgstr_w calls makes output broken.
I used two buffers and kept the results of wine_dbgstr_w to do workaround.

CORE-18080
2022-11-04 19:58:10 +09:00
Katayama Hirofumi MZ
02d92979d9 [SHELL32_APITEST] Add dots tests to PathResolve testcase
CORE-18080
2022-11-04 11:37:01 +09:00
Hermès Bélusca-Maïto
e944dfa75f Remove '.html' from spdx.org license page URLs. (#4845) 2022-11-03 18:25:37 +01:00
Tuur Martens
be970d8d31 [EXPLORER] Implement "Undo Cascade/Tile" menu items (#4817)
Implement taskbar context menu items "Undo Cascade" and "Undo Tile".
Based on patch by KRosUser.

CORE-18383
2022-11-03 15:48:18 +03:00
Katayama Hirofumi MZ
9642031d2a [MEDIA:FONTS] Add Greek glyphs to tahoma.ttf (#4837)
- Copy Greek vector glyphs from DejaVu Sans font by using FontForge.
- Add Greek bitmap glyphs by hand with using FontForge.
- Add Greek charset on font info.
- Underline position is hacked because FontForge has a bug in saving Underline position.
CORE-14343
2022-11-03 14:05:57 +09:00
Hermès Bélusca-Maïto
258caa85d1 [SMSS] Call SmpConfigureEnvironment() twice in order to resolve forward environment variables references.
Example: environment variable EnvVar1 that refers to a later-defined
variable EnvVar2.
2022-11-03 02:55:51 +01:00
Hermès Bélusca-Maïto
4ac263c93a [NTOS][NTDLL][NDK] Nt/ZwCreatePagingFile: Fix parameter names + use SAL; fix NTDLL spec file. 2022-11-03 02:55:50 +01:00
Hermès Bélusca-Maïto
ab5fdac922 [NTOS] Add TAG_DACL in tag.h and use it. 2022-11-03 02:55:49 +01:00
Hermès Bélusca-Maïto
33e0a69dad [NTOS] tag.h formatting (align values on 4-space tab stops). 2022-11-03 02:55:48 +01:00
Hermès Bélusca-Maïto
25958a7c3d [KERNEL32] Spec file: GetCurrencyFormatW takes wide strings in parameters. 2022-11-03 02:50:23 +01:00
Hermès Bélusca-Maïto
671d7e4741 [RTL] RtlDefaultNpAcl(): Don't hardcode SidBuffer size, but deduce it through FIELD_OFFSETs. 2022-11-03 02:50:21 +01:00
Hermès Bélusca-Maïto
9f938ea3bb [KERNEL32] Reformat K32CreateDBMonMutex(). 2022-11-03 02:50:20 +01:00
Adam Stachowicz
75da7ad212 [DESK] Improve Polish (pl-PL) translation (#4840)
Fix typo, addendum to f1102742.
2022-11-03 03:40:12 +03:00
Stanislav Motylkov
5daf5cd057 [REGEDIT] Use shell icons for the tree view
- This makes regedit.exe smaller
- Reduces resource duplication in the source tree
- Potentially improves support for theming

CORE-10764
2022-11-03 02:58:05 +03:00
Stanislav Motylkov
ed7b0d0bd9 [REGEDIT] Use MessageBoxW instead of outputting to console
Our regedit is a Win32 GUI application, so do it properly.
Also fix STRING_USAGE linebreak sync problem.

Addendum to 36a7f0dc.
2022-11-03 00:24:16 +03:00
Robert Naumann
683d81b7db [REGEDIT] Readd ILC_COLOR32 to the Treeview icons
Fixes regression introduced in 36a7f0dc
2022-11-02 21:17:40 +01:00
Jérôme Gardou
2ae9feb59f [NTOS] Properly implement and use FsRtlAcquireFileForModWriteEx 2022-11-02 19:41:04 +01:00
Robert Naumann
36a7f0dc7c [REGEDIT] Partially sync Regedit to Wine-7.17 (#4717)
* [REGEDIT] Partially Sync to Wine 7.17

- regproc.c and regedit.c are now in sync.
- some other mostly depending fixes for the remaining files

* [REGEDIT_WINETEST] Sync to Wine-7.0
2022-11-02 19:02:14 +01:00
Jose Carlos Jesus
66030257b1 [TRANSLATION] Improve Portuguese (pt-PT) translation (#4830)
- [RAPPS] Improve pt-PT translation
- [SNDVOL32] Add pt-PT translation
- [TASKMGR] Improve pt-PT translation
- [DESK] Update pt-PT translation
- [MMSYS] Update pt-PT translation. Adjust object size to fit all text
- [ACPPAGE] Improve pt-PT translation
2022-11-02 19:52:21 +03:00
Piotr Hetnarowicz
f110274208 [DESK] Improve Polish (pl-PL) translation (#4826)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-11-02 18:50:23 +03:00
Katayama Hirofumi MZ
802a87dfb2 [EXPLORER] Hide Start Menu before Run dialog (#4823)
- Add HideStartMenu helper method.
- Hide Start Menu before opening Run dialog.
CORE-13330
2022-11-02 11:29:08 +09:00
Mark Jansen
e3ac541360 [RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
Mark Jansen
d82185f104 [SDK] Define CCoInit in shellutils 2022-11-01 21:24:14 +01:00
Ratin Gao
8083ef9ad7 [IPCONFIG] Localized datetime format (#4777)
IPconfig used a fixed format for time/date display (for DHCP lease), while it should respect local settings.
CORE-18396
2022-11-01 20:56:43 +01:00
Artyom Ovsyannikov
b1854d7cad [TRANSLATION] Minor Russian (ru-RU) translation fixes (#4835)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-11-01 17:22:18 +03:00
Katayama Hirofumi MZ
a17664cec2 [SHELL32_APITEST] Consider more tests in PathResolve testcase
Consider:
- Double-backslash.
- Name with trailing backslash.
- Directory with trailing backslash.
- Non full path.
CORE-18080
2022-11-01 11:19:55 +09:00
Serge Gautherie
b5fcf9fe07 [PSDK] SECURITY_ATTRIBUTES: Remove size_is(nLength) (#4832)
nLength is the size of the struct itself, not a number of descriptors.
Addendum to 1f12113 (r26428).
2022-11-01 03:14:09 +01:00
Hermès Bélusca-Maïto
d8cc88ca80 [KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828)
Partially revert some aspects of commits 5696e4ba4 and bf40c7a31.
(See PR #4340.)

In order for Win2k3 kernel32.dll to operate with our basesrv.dll (or our
kernel32.dll to operate with Win2k3 basesrv.dll), we need in particular
to have the CreateNlsSecurityDescriptor() helper to exactly take the
expected parameters. Namely, a pointer to a **user-allocated**
SECURITY_DESCRIPTOR buffer, its size (and an access mask).

The function expects its caller to provide all this, and the caller expects
the function to initialize the security descriptor buffer. Note that the
function does *NOT* allocate a new descriptor buffer to be returned!

Indeed, with the way it currently is in master, using Win2k3 kernel32
with our basesrv is now failing with the errors:
```
NLSAPI: Could NOT Create ACL - c0000023.
(subsystems/win/basesrv/nls.c:279) NLS: CreateNlsSecurityDescriptor FAILED!: c0000023
NLSAPI: Could NOT initialize Server - c0000023.
(dll/ntdll/ldr/ldrinit.c:867) LDR: DLL_PROCESS_ATTACH for dll "kernel32.dll" (InitRoutine: 77E40D95) failed
```
(and, if we ever attempted to increase the so-claimed "dummy parameter"
descriptor size in the basesrv call, we would end up with its stack
corrupted and a crash).
Conversely, using our kernel32 with Win2k3 basesrv, would end up with
basesrv receiving a wrongly-initialized descriptor that would not work
(the buffer not being initialized with the contents of a descriptor, but
instead receiving some address to a descriptor allocated somewhere else).
2022-11-01 02:34:04 +01:00
Hermès Bélusca-Maïto
5bf0c00ddc [KERNEL32] Minor code style changes + add documentation for BasepMoveFileDelayed().
+ cut the too long lines; don't hardcode types in sizeofs; correctly specify COPY_FILE_FAIL_IF_EXISTS flag.
2022-11-01 02:29:24 +01:00
Hermès Bélusca-Maïto
b4dfef73e5 [PSDK] Formatting for COPY_FILE_* and FILE_FLAG_* defines.
As flags it's easier to see hex values than decimal numbers.
Also I wonder who made those headers, it's as if they "unformatted" them
on purpose (looks like some autodump from somewhere). Just ugly smh...
2022-11-01 02:29:23 +01:00
Hermès Bélusca-Maïto
df95d05f5f [SYSDM.CPL] Remove useless ', 0, 0, 0x0' in the resource dialog FONT statements.
Those are the default values, so...
2022-11-01 02:29:17 +01:00
Katayama Hirofumi MZ
346d12bcd9 [SHELL_APITEST] Add double-backslash tests for PathResolve testcase
- Add s_LinkTargetDoubleBackslash variable.
- Add double-backslash tests.
- Add curly brackets for for-loop.
CORE-18080
2022-11-01 10:11:20 +09:00
Katayama Hirofumi MZ
6fe0a082ec [SHELL32_APITEST] Follow-up of 83e690c
Forgotten the section numbers.
CORE-18080
2022-11-01 09:05:24 +09:00
Katayama Hirofumi MZ
83e690cd92 [SHELL32_APITEST] Improve PathResolve testcase
- Use line numbers instead of entry numbers.
- Add LFN check.
- Delete some test entries outside of test data directory.
- Add some test entries.
CORE-18080
2022-11-01 08:55:42 +09:00
Joachim Henze
4615c824db [SETUP][INF] Delete obsolete font substitutions "DejaVu Serif" (#4827)
[INF] These 2 lines are nonsense now for 2 different reasons even:
Since 0.4.13-dev-764-g dbb4432b25
we do have a proper "Times New Roman" font, so there is no need for
substitution any longer.

And since 0.4.14-dev-20-g 2f4fb903b4
we don't even have the substitution-target "DejaVu Serif" anymore.

[SETUP] Similar glitch in muifonts.h

[ROSTESTS] Thin out gdi32:GetTextMetrics test
 Deletes tests for 3 fonts that we do not longer have
2022-10-31 02:00:01 +01:00
Thomas Faber
885459d8b4 [WIN32K:NTUSER] Fix parameter check in NtUserGetAsyncKeyState. CORE-18124 2022-10-30 10:46:33 -04:00
Stanislav Motylkov
9c21d0c124 [DESK] Do not load system-defined class name
In fact Windows XP/2003 desk.cpl uses only user-defined values,
and performs fallback to shell32.dll strings in case they are missing.

CORE-18565 CORE-8427
2022-10-30 15:04:41 +03:00
Katayama Hirofumi MZ
6f03be8570 [KBSWITCH] Don't activate target window on WM_CREATE
CORE-10667
2022-10-30 08:30:10 +09:00
Katayama Hirofumi MZ
4d9026c852 [CPL:INPUT] Return TRUE against WM_INITDIALOG and add WS_TABSTOP
This affects control focus.
2022-10-30 08:01:57 +09:00
Katayama Hirofumi MZ
06cd45353b [KBSWITCH] Menu with icons (#4822)
Add icons to the left-click menu. CORE-10667
2022-10-30 06:18:58 +09:00
Hermès Bélusca-Maïto
6259be3afa [CSRLIB] Remove old hack in CsrpConnectToServer(). ObjectDirectory cannot be NULL (otherwise it's caller's bug). 2022-10-29 18:52:34 +02:00
Hermès Bélusca-Maïto
141daf4de8 [CSRLIB] Add comments regarding the calculation of the data and total message lengths in CsrClientCallServer(). 2022-10-29 17:36:09 +02:00
Hermès Bélusca-Maïto
8cd01eaf25 [CSRLIB] Add SAL annotations to the CSR client functions. 2022-10-29 17:17:30 +02:00
Hermès Bélusca-Maïto
d2aeaba5f8 [CSR][NTDLL] Move the CSR subsystem into its own "csr" sub-directory. (#4802)
Move CSRSS, CSRSRV there, as well as CSR client calls from NTDLL into a "CSRLIB" library.
2022-10-29 17:17:29 +02:00
Katayama Hirofumi MZ
a6df7ddb95 [KBSWITCH] Fix shutdown and logout dialog CORE-18563
20221028-0.4.15-dev-5273-g36f7d1a introduced bug.
Quick fix.
CORE-18563
2022-10-29 20:36:45 +09:00
Katayama Hirofumi MZ
433240feec [KBSWITCH] Follow-up of #4815 (36f7d1a); Less flicker Alt+Shift
Add bNoActivate argument to ActivateLayout function.
CORE-11700, CORE-2699, CORE-18546
2022-10-29 16:23:58 +09:00
Katayama Hirofumi MZ
8f9283398a [NTUSER] Add 'Win:' comment to InitThreadCallback 2022-10-29 14:08:15 +09:00
Katayama Hirofumi MZ
fb58782012 [IMM32_APITEST] Add JapanImeConvTestA/W testcases (#4820)
Add IME conversion tests to verify IMM/IME support. CORE-11700
2022-10-29 13:49:28 +09:00
Katayama Hirofumi MZ
36f7d1a953 [KBSWITCH][CPL:INPUT][NTUSER][EXPLORER] Fix keyboard layout icon (#4815)
Fix keyboard layout icon in taskbar notification area. JIRA issue: CORE-11700, CORE-2699, CORE-18546
- Call ActivateKeyboardLayout to select the keyboard layout correctly.
- Modify WM_INPUTLANGCHANGEREQUEST parameter.
- Modify BroadcastSystemMessageW parameter.
- Revert Taskbar Notification Area MA_NOACTIVATE HACK 8344291 . This fixes Context Menu display.
- Load the "IME File" value and set the IME icon if necessary.
- Correctly implement global hooks.
2022-10-29 07:35:19 +09:00
Mark Jansen
a06f10d0c0 [BROWSEUI] Fix CAutoComplete use after free
CORE-18395
2022-10-27 23:45:18 +02:00
Justin Miller
98b90e7394 [DBGHELP] Add ARM64 definitions into compat.h (#4810)
This fixes ARM64 build in preparation for PR #4809.
CORE-18200
2022-10-27 18:14:10 +03:00
Tuur Martens
df77f88f0d [CONTRIBUTING] Fix broken hash links. (#4816)
These links did not actually work, as GitHub expected no question mark, but we did provide one.
2022-10-27 16:37:16 +02:00
Katayama Hirofumi MZ
7a8ddbf147 [NTUSER] Support SM_DBCSENABLED and SM_IMMENABLED (#4806)
- Don't set SRVINFO_CICERO_ENABLED flag because we don't have Cicero support.
- Improve UserGetSystemMetrics for SM_DBCSENABLED and SM_IMMENABLED.
- Delete useless UserIsDBCSEnabled function.
CORE-11700
2022-10-27 21:53:58 +09:00
Hermès Bélusca-Maïto
58983061e9 [NTOS:MM] Remove residual hack from commit 864a1bc6a (r55323). 2022-10-27 01:08:07 +02:00
Mark Jansen
a0b1a01c59 [MSI] Add jira ticket to debug logging 2022-10-26 20:19:31 +02:00
Mark Jansen
d284c81494 [APPHELP] Stop shimeng being initialized multiple times
This is a hack, but is required when MSI is loaded in a process that is already shimmed.
It should be removed when the MSI shim integration is fixed.
CORE-18532
CORE-13283
2022-10-26 20:19:31 +02:00
Mark Jansen
21e68b0dba [SHELL32] Fix empty 'Send to' menu
CORE-18517
2022-10-26 20:18:40 +02:00
Mark Jansen
15d491fb29 [NTDLL] Implement LdrInitShimEngineDynamic.
This is the final step required to properly support SE_DynamicShim
CORE-13283
2022-10-26 20:12:21 +02:00
Robert Naumann
b544640c29 [SHELL32] Update German (de-DE) translation (#4808)
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
2022-10-26 19:48:27 +03:00
Konrad Dybcio
b55658b396 [WININET] Update Polish (pl-PL) translation (#4811)
Reviewed-by: Adam Słaboń <asaillen@protonmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-26 18:30:39 +03:00
Konrad Dybcio
97a61654c5 [BROWSEUI] Update Polish (pl-PL) translation (#4813) 2022-10-26 16:22:56 +03:00
Konrad Dybcio
e15490a2b8 [RASDLG] Fix typos in Polish (pl-PL) translation (#4812)
`tą` and `tę` are very often mistaken for each other by native speakers.
2022-10-26 16:22:05 +03:00
Konrad Dybcio
1f3cee73e9 [MMSYS] Fix English string in PL translation
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2022-10-26 14:54:53 +02:00
Katayama Hirofumi MZ
e1df4f2d8f [IMM32] Add reasoning for tracing (#4807)
Follow-up of c2a9436 (#4798).
Improve trace messages.
CORE-11700
2022-10-26 12:01:33 +09:00
Thamatip Chitpong
dd75ae8eca [WIN32SS] Use GDI_HANDLE_* macros for readability (#4797) 2022-10-26 02:17:01 +02:00
Adam Słaboń
23e5d3fe25 [NTOS:MM] MmPurgeSegment: Fix wrong return value (#4801)
Return TRUE instead of NTSTATUS code which has a value of FALSE and may confuse caller.
Fixes sporadic 0x7B bugcheck when booting from corrupted NTFS volume using WinXP ntfs.sys.
2022-10-26 02:15:16 +02:00
Hermès Bélusca-Maïto
e774423689 [NTDLL:CSR] Don't hardcode types in sizeofs; move local variables into code blocks where they are used. 2022-10-26 01:45:26 +02:00
Hermès Bélusca-Maïto
cb8c8693e0 [SMSS] Initial SmpInit() call initializes the *first handle* (index 0) in the array. 2022-10-26 00:44:41 +02:00
Hermès Bélusca-Maïto
5cfb71baf8 [NTDLL] Properly stub out RtlRegisterThreadWithCsrss() in spec file. 2022-10-26 00:43:57 +02:00
Hermès Bélusca-Maïto
0997e9023c [SMSS][NTOS:MM] Get rid of the remaining sprintf_nt hacks. (#4799) 2022-10-26 00:41:23 +02:00
Hermès Bélusca-Maïto
426598c6f7 [CSRSRV] Remove deprecated dependency on smdll. (#4799) 2022-10-26 00:41:13 +02:00
Jose Carlos Jesus
9701bbcf6d [NTUSER] Fix issue when cursor/caret is static
Also remove the check that Windows doesn't do.

CORE-17929
2022-10-25 23:54:31 +03:00
Jose Carlos Jesus
c0eb407130 [ACCESS][MAIN] Fix setting cursor/caret blinking rate
- Save uCaretBlinkTime to CursorBlinkRate registry key
- Also fix blinking rate never reaching None

CORE-17929
2022-10-25 23:54:28 +03:00
Jose Carlos Jesus
be014129a5 [ACCESS][MAIN] Do not delete system stock object 2022-10-25 17:42:39 +03:00
Piotr Hetnarowicz
126afdaa6f [DISKPART] Update Polish translation for message table (#4548)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-24 17:08:35 +03:00
Piotr Hetnarowicz
bb406c4c18 [DISKPART] Update Polish (pl-PL) translation v2 (#4547)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-23 14:00:51 +03:00
Katayama Hirofumi MZ
67d8ffb60b [USER32] Fix UpdatePerUserImmEnabling tracing bug
CORE-11700
2022-10-23 13:02:37 +09:00
Katayama Hirofumi MZ
a65014e3a0 [IMM32] Add UNEXPECTED() macro for detailed debugging
CORE-11700
2022-10-23 12:49:37 +09:00
Katayama Hirofumi MZ
c2a943653e [IMM32] Improve debuggability at all (#4798)
- Strengthen tracing.
- Introduce IS_NULL_UNEXPECTEDLY, IS_ZERO_UNEXPECTEDLY etc. macros to manage tracing.
CORE-11700
2022-10-23 09:51:24 +09:00
Joachim Henze
e6fb0e0c25 [SHELL32] Delete old unused implementation of OLD_SHAppBarMessage() (#4800)
SHAppBarMessage() was reimplemented at a different place by
0.4.14-dev-1209-g 10d1afea18
That was a reimport from Wine.
2022-10-22 21:48:11 +02:00
Katayama Hirofumi MZ
5166ffa447 [SHELL32] Improve Japanese translation (ja-JP) 2022-10-21 23:20:50 +09:00
Piotr Hetnarowicz
b4dedecff3 [DESK] Update Polish (pl-PL) translation (#4794)
- Addendum to bb43363416
- Also update resource file header

Reviewed-by: Adam Słaboń <asaillen@protonmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-21 16:22:10 +03:00
Katayama Hirofumi MZ
16ba3ff2ed [DESK.CPL] Improve Japanese translation (ja-JP) Part 2 2022-10-21 19:06:35 +09:00
Katayama Hirofumi MZ
b562f50707 [DESK.CPL] Improve Japanese translation (ja-JP) 2022-10-21 18:44:22 +09:00
Katayama Hirofumi MZ
5462d4adad [IMM32] Imm32InternalLockIMC: Unlock hIC on failure
CORE-11700
2022-10-21 16:40:25 +09:00
Katayama Hirofumi MZ
143ed5e72d [IMM32] Improve ImmSetCompositionFontA/W
CORE-11700
2022-10-21 16:37:59 +09:00
Katayama Hirofumi MZ
6585803681 [IMM32] Add uCodePage parameter to Imm32WideFromAnsi/Imm32AnsiFromWide
This needs for multiple codepage support.
CORE-11700
2022-10-21 16:04:59 +09:00
Katayama Hirofumi MZ
e1d3a7d08c [IMM32] Improve ImmGetCandidateWindow
CORE-11700
2022-10-21 15:22:06 +09:00
Katayama Hirofumi MZ
633ed86af2 [IMM32][INCLUDE] s/CLIENTIMC_UNKNOWN5/CLIENTIMC_ACTIVE/
CORE-11700
2022-10-21 13:21:02 +09:00
Katayama Hirofumi MZ
962c4557b5 [IMM32] Fix ImmSetActiveContext
CORE-11700
2022-10-21 13:08:49 +09:00
Katayama Hirofumi MZ
2865423abe [IMM32] Minor fix of ImmSetCompositionWindow
CORE-11700
2022-10-21 11:29:47 +09:00
Katayama Hirofumi MZ
b086f910d8 [IMM32] Fix and improve Imm32SelectInputContext
CORE-11700
2022-10-21 11:23:34 +09:00
Katayama Hirofumi MZ
edbeaa3c87 [IMM32] Move CtfImmTIMCreateInputContext calls
CORE-11700
2022-10-21 10:52:43 +09:00
Katayama Hirofumi MZ
db16a1f783 [IMM32] ImmGetImeInfoEx minor fix
CORE-11700
2022-10-21 10:40:38 +09:00
Katayama Hirofumi MZ
1f1dc9d84a [IMM32] s/ImmNt3Trans/WINNLSTranslateMessage/
CORE-11700
2022-10-21 10:32:33 +09:00
Katayama Hirofumi MZ
8f0e22ac23 [IMM32] Simplify Imm32WriteImeLayout
CORE-11700
2022-10-21 10:11:59 +09:00
Stanislav Motylkov
a8ee11e0ff [HHCTRL.OCX] Fix toolbar icons order
In `hhtoolbar.bmp` the "Expand" icon comes first, then "Collapse".

Import Wine commit wine-7.19-39-g4f4b342ad44:
4f4b342ad4

CORE-12198
2022-10-20 21:20:36 +03:00
Katayama Hirofumi MZ
4572aad16a [IMM32][INCLUDE] s/IMEDPI_FLAG_UNKNOWN/IMEDPI_FLAG_UNLOADED/
CORE-11700
2022-10-20 13:50:37 +09:00
Katayama Hirofumi MZ
27cc079d90 [IMM32] Fix ImeDpi_Escape by adding !IS_16BIT_MODE()
CORE-11700
2022-10-20 13:48:11 +09:00
Katayama Hirofumi MZ
91e3d06cdb [IMM32] Fix and improve Imm32InquireIme
CORE-11700
2022-10-20 12:47:15 +09:00
Katayama Hirofumi MZ
72c56c2f1f [IMM32] Improve ImmAssociateContext readability
CORE-11700
2022-10-20 12:32:45 +09:00
Katayama Hirofumi MZ
f9b2b1a6cd [IMM32] Use UNICODE_NULL for null characters
CORE-11700
2022-10-20 12:29:29 +09:00
Katayama Hirofumi MZ
378d0e814c [IMM32] ImmTranslateMessage: Minor fix
CORE-11700
2022-10-20 11:32:23 +09:00
Katayama Hirofumi MZ
4af3372c23 [IMM32] s/Imm32PostMessages/ImmPostMessages/
CORE-11700
2022-10-20 11:29:33 +09:00
Stanislav Motylkov
5f14928763 [DESK] Refactor the work with registry parameters
Use SHGet/Set functions instead of talking directly to registry.
This makes the code a lot more simple and readable.

CORE-3567
2022-10-20 04:10:04 +03:00
Stanislav Motylkov
769fcd895b [DESK] Add desktop icon change feature
- All functions now implemented, except no support for themes.
- Fixed listview height to avoid vertical scrollbar in Windows.
- Refactored existing code for show/hide desktop icons.

CORE-3567 CORE-8427
2022-10-19 23:24:03 +03:00
Stanislav Motylkov
43ecf7e4e4 [SHELL32] Add missing strings for desktop icons
Reuse existing translations where possible.

CORE-8427
2022-10-19 21:00:22 +03:00
Katayama Hirofumi MZ
39fe905efa [NTUSER] Improve IntSetImeHotKey (#4789)
- Use the LOWORD value for VK_PACKET detection.
- IntGetImeHotKeyByKeyAndLang accepts the neutral language identifier (that is zero).
CORE-11700
2022-10-20 02:57:47 +09:00
Mark Jansen
122423238a [PSDK] Add arguments for SearchPathW 2022-10-19 19:39:29 +02:00
Mark Jansen
8e16f28789 [RUNDLL32] Try to resolve the manifest file manually
This fixes f.e. Ctrl+A not working in the Create Shortcut wizard
CORE-16669
2022-10-19 19:39:29 +02:00
Mark Jansen
0452d3415a [SHELL32] Fix 'Paste' command in context menu not working
Bug found by Rosen Iliev
2022-10-19 19:38:33 +02:00
Mark Jansen
5bd86b8487 [SHELL32] Fix menu item handling
This restores the 'properties' functionality on the desktop
Bug found by Hervé Poussineau
2022-10-19 19:37:41 +02:00
Mark Jansen
7b33915adc [SYSSETUP] Add support for shortcut arguments 2022-10-19 19:36:26 +02:00
Dmitry Borisov
9d06e79373 [FREELDR] Partially implement docking station detection (#4751) 2022-10-19 16:48:27 +02:00
Katayama Hirofumi MZ
774c3b3c92 [USER32] CliGetPreloadKeyboardLayouts: Use _ultow
CORE-11700
2022-10-19 17:52:31 +09:00
Katayama Hirofumi MZ
7523bf84a5 [USER32] Fix build; Appendum to 21feb52
CORE-11700
2022-10-19 17:40:40 +09:00
Katayama Hirofumi MZ
21feb529fe [USER32] Improve CliGetPreloadKeyboardLayouts
CORE-11700
2022-10-19 17:36:04 +09:00
Katayama Hirofumi MZ
10acb335fa [USER32] Improve CliGetImeHotKeysFromRegistry
CORE-11700
2022-10-19 17:03:54 +09:00
Katayama Hirofumi MZ
dff4579bd6 [NTUSER][USER32][INCLUDE] s/SETIMEHOTKEY_DELETEALL/SETIMEHOTKEY_INITIALIZE/
CORE-11700
2022-10-19 12:15:11 +09:00
Vadim Galyant
2580889cfa [SETUPLIB] Add NTFS boot support. (#3778) 2022-10-19 02:02:24 +02:00
Hervé Poussineau
a33719500c [BOCHSMP] Add driver for QEMU and Bochs graphic card 2022-10-17 18:20:22 +02:00
Katayama Hirofumi MZ
ac0a0adc51 [NTUSER][USER32] Improve DrawFrameControl:DFC_MENU and DFC_BUTTON (#4783)
A retrial of 13868ee (#4779).
- Fill the background if necessary, and set the text color and the back mode in DrawFrameControl:DFC_MENU.
- Use UITOOLS95_DrawFrameMenu in menu drawing instead of DrawFrameControl.
CORE-18515, CORE-18417
2022-10-17 13:28:56 +09:00
Katayama Hirofumi MZ
227e596f68 Revert "[USER32][NTUSER] Fill by white in DrawFrameControl:DFC_MENU (#4779)" (#4784)
This reverts commit 13868ee0e8.
CORE-18515
2022-10-16 00:18:50 +09:00
Hervé Poussineau
f0b8a1730e [VIDEOPRT] Correctly detach from device stack in case of failure 2022-10-15 15:06:53 +02:00
Katayama Hirofumi MZ
13868ee0e8 [USER32][NTUSER] Fill by white in DrawFrameControl:DFC_MENU (#4779)
DrawFrameControl:DFC_MENU draws the monochrome image of menu arrow or checkmark. However, the function didn't draw the entire rectangle correctly when the rectangle was not a square. CORE-18417
2022-10-15 21:00:13 +09:00
Mark Jansen
b448fbdf59 [SHELL32] Fix using the wrong context menu 2022-10-15 11:09:25 +02:00
Katayama Hirofumi MZ
dac807e237 [RAPPS] Improve Japanese translation (ja-JP) 2022-10-15 12:27:32 +09:00
Katayama Hirofumi MZ
26caef2336 [INCLUDE] immdev.h: Adapt INPUTCONTEXTDX to C++
CORE-11700
2022-10-15 08:13:22 +09:00
Mark Jansen
57d0e1d207 [SHELL32] Remove unused function 2022-10-15 00:01:45 +02:00
Mark Jansen
6a9696f10b [SHELL32] CFolderItemVerb: Zero-initialize output parameters 2022-10-14 21:04:19 +02:00
Mark Jansen
9efa7cc498 [SHELL32] Fix CDefaultContextMenu DFM_MERGECONTEXTMENU handling 2022-10-14 21:04:19 +02:00
Mark Jansen
6a1f287820 [SHELL32] Show file / drive properties at the position where the mouse was.
CORE-18386
2022-10-14 21:02:33 +02:00
Katayama Hirofumi MZ
26408144a1 [INF][INTL.INF][SETUPLIB] We don't have preinstalled IMEs (#4774)
Don't write the preinstalled IME keyboard layouts in Chinese, Japanese and Korean (CJK). CORE-18506
2022-10-14 07:17:24 +09:00
Robert Naumann
abaf0d1cbb [WMIC] Update German translation 2022-10-13 21:30:22 +02:00
Thamatip Chitpong
9cc9a26392 [SYSDM] Improve license dialog icon (#4773)
- Use `mimetypes/application-certificate` icon
  from Tango Icon Theme 0.8.90 instead of `IDI_CPLSYSTEM`
- Set large icon correctly
- Add NULL check for DestroyIcon
- Minor code formatting
2022-10-13 17:52:14 +03:00
Katayama Hirofumi MZ
bbef618032 [KBSWITCH][IMM32][USER32] Consider keyboard layout corner cases
Considering invalid Keyboard Layout registry entries.
CORE-11700
2022-10-13 16:01:02 +09:00
Katayama Hirofumi MZ
fb86db15bb [IMM32] Silence CtfImmDispatchDefImeMessage's fixme
Too noisy. CORE-11700
2022-10-13 12:08:02 +09:00
Katayama Hirofumi MZ
337cbf5888 [BROWSEUI] Follow-up of 2e67c18 (#4767); Also check 'MenuText'
CORE-18394
2022-10-13 11:07:03 +09:00
Katayama Hirofumi MZ
31a33c5fcb [IMM32] Implement Imm32ImeNonImeToggle (#4769)
- Rename Imm32ImeNonImeToggle as Imm32CImeNonImeToggle (Win: CIMENonIMEToggle).
- Add Imm32ImeNonImeToggle (Win: IMENonIMEToggle) function.
- Improve IME hot-key functions.
CORE-11700
2022-10-13 07:14:24 +09:00
Jose Carlos Jesus
a3eda784a5 [COMCTL32] Don't hardcode dwCaretWidth parameter while calling CreateCaret
Also replace 0 with NULL for the second argument of the function call.

CORE-18151
2022-10-12 22:12:19 +03:00
Jose Carlos Jesus
9789e9c409 [COMCTL32] Read caret width from registry
Add caret width value to EDITSTATE structure.
To keep the same behavior as Windows Server 2003,
we need to update dwCaretWidth when EDIT_WM_SetFocus is called.

CORE-18151
2022-10-12 22:12:19 +03:00
Jose Carlos Jesus
d794996217 [NTUSER] Call SpiSetDWord when processing SPI_SETCARETWIDTH message
This corresponds to REG_DWORD type of CaretWidth value.

CORE-18151
2022-10-12 22:12:12 +03:00
Hermès Bélusca-Maïto
0dd6aa6ca5 [WINDOWSX.H] Make header compatible with MS PSDK + Add missing original license. (#4768)
To hypothetical future sync'ers: If you ever try to sync this file with
MinGW-w64, please be extremely careful to port all the fixes (including
x64-compatible casting fixes, missing definitions, etc.) that have been
brought to this file along the years by your dear ReactOS colleagues.
2022-10-12 16:10:35 +02:00
Hermès Bélusca-Maïto
6572dd7f48 [WINDOWSX.H] Fix some x64 incompatibilities. (#4768) 2022-10-12 16:10:22 +02:00
Hervé Poussineau
162de4a0d8 [WIN32SS:ENG] Call display mouse functions only when using hardware pointer
Otherwise, use software pointer functions.

This fixes graphical glitches on cursor change, when the display driver
provides accelerated pointer functions (DrvSetPointerShape/DrvMovePointer),
but refuses to handle a certain cursor.

These graphical glitches may be reproduced:
- by using Voodoo driver SFFT 1.9
- by using framebuf_new.dll instead of framebuf.dll
- by using the panning driver (setting DefaultSettings.XPanning and
  DefaultSettings.YPanning in registry)
2022-10-11 19:04:59 +02:00
Stanislav Motylkov
e6841944b8 [RAPPS] Fix inconsistencies in the translations
- Fix truncated dialogs
- Fix element positions
- Fix element misc flags
- Also uniform resource file headers per Coding Style

Addendum to e3fdbe5806, 1866b89100, and 9186a358da.

CORE-18497
2022-10-11 19:32:12 +03:00
Katayama Hirofumi MZ
72dbd87b1a [IMM32] Follow-up of deb4f4e; Add comments
CORE-11700
2022-10-11 12:06:51 +09:00
Katayama Hirofumi MZ
00bd373e88 [NTOSKRNL] Revert 53ac8da and use UNIMPLEMENTED_DBGBREAK() 2022-10-11 07:39:40 +09:00
Stanislav Motylkov
e63be36c68 [BROWSEUI] Update Russian (ru-RU) translation
Addendum to 2e67c18d. CORE-18394
2022-10-11 00:48:31 +03:00
Katayama Hirofumi MZ
2e67c18d2b [BROWSEUI][INCLUDE] Localize 'Address' on CBandSiteMenu (#4767)
- Add IDS_ADDRESSMENUTEXT resource string (whose ID matchs the string of addressband.rgs).
- Add SHLoadRegUIStringA/W function prototype to <shlwapi_undoc.h>.
- Use SHLoadRegUIStringW to load MenuTextPUI.
CORE-18394
2022-10-11 06:15:28 +09:00
Stanislav Motylkov
bb43363416 [DESK] Implement dialog to manipulate desktop icons (#4766)
For now only add ability to show or hide desktop icons.

CORE-8427
2022-10-10 18:30:25 +03:00
Stanislav Motylkov
3188f93fd4 [PSDK] Add some missing Shell State Flags to shlobj.h
See https://docs.microsoft.com/en-us/windows/win32/shell/ssf-constants

CORE-8427
2022-10-10 18:30:24 +03:00
Peter Meerwald-Stadler
6bf909d66a [ZLIB] Restore 'uncrypt' functionality in minizip (using #ifdef REACTOS)
CORE-18339
2022-10-10 11:03:55 -04:00
Peter Meerwald-Stadler
3e1f407439 [ZLIB] Update to v1.2.12. CORE-18339
Upstream commit 21767c654d31d2dccdde4330529
2022-10-10 11:03:41 -04:00
Katayama Hirofumi MZ
deb4f4e4e2 [IMM32] Add ImmGetAppCompatFlags and epilogue of ImmProcessKey
CORE-11700
2022-10-10 15:50:13 +09:00
Katayama Hirofumi MZ
9a3a11d26b [USERINIT] Improve Japanese translation (ja-JP) 2022-10-10 14:58:22 +09:00
Katayama Hirofumi MZ
53ac8dae4d [NTOSKRNL] Write 'if (var) ASSERT(FALSE);' as 'ASSERT(!var);'
Based on Serge Gautherie's patch.
CORE-13216
2022-10-10 09:33:08 +09:00
Katayama Hirofumi MZ
92c904addc [SHELL32] DestroyMenu on m_pShellMenu->SetMenu failure
CORE-13194
2022-10-10 08:48:59 +09:00
Katayama Hirofumi MZ
924a8fea10 [SHELL32] De-select m_marlett on CMenuToolbarBase::OnCustomDraw
CORE-13194
2022-10-10 08:45:04 +09:00
Stanislav Motylkov
62f09debc1 [SYSDM] Fix element positions and general consistency 2022-10-09 18:12:02 +03:00
Stanislav Motylkov
c3daf56d6e [NETPLWIZ] Add Russian (ru-RU) translation 2022-10-09 16:40:28 +03:00
Andrei Miloiu
5b4a145453 [TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701)
- [CALC] Improve Romanian (ro-RO) translation
- [SOLITAIRE] Improve Romanian (ro-RO) translation
- [MSPAINT] Improve Romanian (ro-RO) translation
- [MSTSC] Improve Romanian (ro-RO) translation
- [SNDVOL32] Improve Romanian (ro-RO) translation
- [REACTOS] Improve Romanian (ro-RO) translation
- [USETUP] Improve Romanian (ro-RO) translation
- [DESK] Improve Romanian (ro-RO) translation
- [INPUT] Improve Romanian (ro-RO) translation
- [INTL] Improve Romanian (ro-RO) translation
- [JOY] Improve Romanian (ro-RO) translation
- [MMSYS] Improve Romanian (ro-RO) translation
- [POWERCFG] Improve Romanian (ro-RO) translation
- [SYSDM] Improve Romanian (ro-RO) translation
- [ACPPAGE] Improve Romanian (ro-RO) translation
- [DESKADP] Improve Romanian (ro-RO) translation
- [MYDOCS] Add Romanian (ro-RO) translation
- [NETPLWIZ] Add Romanian (ro-RO) translation
- [NTOBJSHEX] Improve Romanian (ro-RO) translation
- [SENDMAIL] Add Romanian (ro-RO) translation
- [ZIPFLDR] Improve Romanian (ro-RO) translation
- [JSCRIPT] Improve Romanian (ro-RO) translation
- [MSGINA] Improve Romanian (ro-RO) translation
- [SYSSETUP] Improve Romanian (ro-RO) translation
- [MC] Add Romanian (ro-RO) translation

Reviewed-by: Ștefan Fulea <stefan.fulea@mail.com>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: George Bișoc <george.bisoc@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-09 14:00:20 +03:00
Robert Naumann
2e56c3bc14 [MORE] Update German translation (#4761) 2022-10-08 13:19:28 +02:00
Robert Naumann
20b915dab3 [FC] Add German translation (#4760) 2022-10-08 13:19:06 +02:00
Robert Naumann
19ab5fa310 [GIT] Add .DS_Store files to .gitignore (#4762)
When working on macOS, the system creates a .DS_Store file in every accessed directory. They are marked as new files
in git, which is very annoying. This change will exclude these files.
2022-10-08 13:18:18 +02:00
Katayama Hirofumi MZ
bf2f5a70a5 [USETUP] Clear underlined text correctly
CORE-18446, CORE-5052
2022-10-08 08:47:22 +09:00
Katayama Hirofumi MZ
d707916605 [USETUP][VGAFONTS] Improve Japanese character display
- Modify media/vgafonts/932-8x8.bin Japanese VGA font.
- Use special codepoints of new font 932-8x8.bin.
Appendum of #4750. Line connection bug still remains.
CORE-5052
2022-10-08 08:22:24 +09:00
Katayama Hirofumi MZ
3c5a56ed93 [USETUP][VGAFONTS] Improve Romanian character display (#4750)
- Modify media/vgafonts/28606-8x8.bin Romanian VGA font to display special characters.
- Add global variables for special characters "Char..." for Romanian VGA font.
- Toggle the global variables "Char..." in SetConsoleCodePage function.
CORE-18446
2022-10-08 07:46:00 +09:00
Jose Carlos Jesus
fece68b63f [TRANSLATION] Improve Portuguese (pt-PT) translation (#4758)
- [WINNLS] Update pt-PT translation
- [NETCFGX] Update pt-PT translation
- [SHELL32] Update pt-PT translation
2022-10-06 22:48:38 +03:00
Mas Ahmad Muhammad
0753202cf1 [TRANSLATION] Update Indonesian (id-ID) translation (#4585)
- [WRITE] Add Indonesian (id-ID) translation
- [WINLOGON] Update Indonesian (id-ID) translation
2022-10-06 22:44:46 +03:00
Hermès Bélusca-Maïto
3d64217f70 [FC] Add missing period at the end of the usage sentence.
Except for German as it's going to be handled by PR #4760.
2022-10-06 19:55:25 +02:00
Hermès Bélusca-Maïto
61cfc0f055 [KERNEL32] Fix DisableThreadLibraryCalls function argument type in spec file.
+ Remove space between function name and parentheses there too.
2022-10-06 16:16:46 +02:00
Hermès Bélusca-Maïto
b764a42db8 [ACLEDIT][MSIMG32][HIDCLASS] Fix DLL-main function argument type in spec file. 2022-10-06 16:16:40 +02:00
Hermès Bélusca-Maïto
2c244eafe0 [IMM32][LPK] Remove msvcrt dependency; fix entrypoint. (#4759) 2022-10-06 15:52:20 +02:00
Hermès Bélusca-Maïto
58740bfbc1 [GDI32][USER32] Order the set_module_type arguments the usual way ("UNICODE" before the entrypoint).
+ Harmonize the entrypoints as well.
2022-10-06 15:37:23 +02:00
Hermès Bélusca-Maïto
069b08da0b [EVENTVWR] Fix settings loading. Remove usage of Rtl functions. Use Win32 CRT assert. (#4752)
- Don't create the settings registry key when trying to load them.
  Defer its creation when saving the settings.

- Use more restricted access rights when opening/creating the key.

- Ensure read and written string settings are NULL-terminated.

- Use the Win32 CRT assert so that if an assertion fails we get a
  message on the screen, not via the kernel debugger.
2022-10-06 01:59:33 +02:00
Stanislav Motylkov
cdf907074d [KEYBOARD] Fix problems in our keyboard layouts
- Fix failing API tests added in 6aacfa93 and c1c12793:
  'KbdLayout' test: All failures fixed now
  'VirtualKey' test: One of two failures fixed

- This also should fix related problems with "F17" shortcut key
  in the menu items of some programs.

CORE-17906 CORE-3903
2022-10-05 21:28:15 +03:00
Stanislav Motylkov
6aacfa93c0 [USER32_APITEST] Add tests for Keyboard Layouts
CORE-17906
2022-10-05 16:18:16 +03:00
Ratin Gao
badd97043f [RTL][NTDLL_APITEST] Implement RtlRemovePrivileges (#4614)
Vista+ API, compile-time guarded.
Add tests for it.
2022-10-05 14:31:39 +02:00
Hermès Bélusca-Maïto
967f5b9898 [WINLOGON] Protect function calls to '3rd-party' DLLs by SEH. (#4743)
This includes:
- Notification dll calling in CallNotificationDll().
- winmm.dll API calling (e.g. PlaySound) in PlaySoundRoutine().

Also:
- Fix dwKeyName usage in RegEnumKeyExW() specifying a number of *characters*.
2022-10-04 23:14:35 +02:00
Stanislav Motylkov
ab3e0002a6 [DESK] Fix screensaver preview drawing
Use window subclassing to override WM_PAINT message handling
and use RedrawWindow function along with WS_CLIPCHILDREN style
for the parent window in order to preserve screensaver drawing.

CORE-15929
2022-10-04 21:16:08 +03:00
Stanislav Motylkov
092fc8edd0 [DESK] Show screensaver preview in a monitor
Reuse the same monitor bitmap for the top preview control.
Also use Windows-compatible class name for it.

CORE-10606
2022-10-04 21:16:07 +03:00
Stanislav Motylkov
d5bd08fca4 [REACTOS][CPL] Coding style fixes only 2022-10-04 21:14:31 +03:00
Hermès Bélusca-Maïto
ff3d1b7bb1 [EVENTVWR] Improve behaviour on event item selection. (#4746)
CORE-18438

- Each event detail control stores its own "current" item index, so
  that there can be different event detail dialogs showing different
  events concurrently (half-plemented; this is a Win7-like feature).
  As such, give the index of the selected event item when sending
  the EVT_DISPLAY message, instead of having the details dialog
  retrieve everytime by itself the current selected item (that may
  change in-between calls, and can trigger the "No Items in ListView"
  error).

- When pressing "Prev"/"Next" buttons, detect whether we already are
  at the top/bottom of the event log, and if so, prompt the user to
  continue around.
  Clear up any selected event in the list, before selecting the new
  one. (Note: the event list supports multiple selection, for future
  functionality.)
2022-10-04 17:29:10 +02:00
Katayama Hirofumi MZ
826bd41d88 [NTUSER][USER32] Initial support of WS_EX_NOACTIVATE flag (#4731)
WS_EX_NOACTIVATE flag forbids the window to be activated. CORE-18417
2022-10-04 09:40:43 +09:00
Doug Lyons
bd027c9de4 [NTUSER] Fix 'Trying to link windows to itself' (#4478) CORE-18132
Fix 'Trying to link windows to itself' on DestroyWindow. Patch by I_Kill_Bugs.
This fixes a potential BSOD 0x50 observable in the app Localizer Editor"
2022-10-04 00:26:02 +02:00
Hermès Bélusca-Maïto
efd11b7f56 [EVENTVWR] Simplify some duplicated code. (#4745) 2022-10-03 23:17:02 +02:00
Hermès Bélusca-Maïto
89bdca6177 [EVENTVWR] Update file headers. 2022-10-03 23:16:57 +02:00
Stanislav Motylkov
12526424d5 [DESK] Fix screensaver layouts for all translations
Also remove trailing "0" for the preview static control styles.
2022-10-03 21:04:33 +03:00
Stanislav Motylkov
3aa5e8b897 [DESK] Show monitor on "Settings" page when only one monitor detected
Hide multiple monitor selection controls in this case.
Otherwise, show them when multiple monitors are detected
and hide the monitor preview bitmap.

This fixes the focus on the resolution slider when tested in Windows XP.

Also use the monitor bitmap globally, because it's used on multiple pages.

CORE-17939 CORE-10606
2022-10-03 17:34:09 +03:00
Stanislav Motylkov
311fcc612e [WLANCONF] Fix getting the interface GUID value
GetInterfaceInfo returns interface name in Windows XP and 2003
in this format: `\DEVICE\TCPIP_{GUID}`.

MSDN says that the `Name` member of the `IP_ADAPTER_INDEX_MAP`
may start with '{' character on Windows Vista and later.
https://docs.microsoft.com/en-us/windows/win32/api/ipexport/ns-ipexport-ip_adapter_index_map

Change the code to support both cases. CORE-18032
2022-10-02 15:36:45 +03:00
Stanislav Motylkov
c1c127932d [USER32_APITEST] Add tests for MapVirtualKeyW
For @julcar. See PR #4730 for details. CORE-17906
2022-10-02 02:46:24 +03:00
Mark Jansen
cd2d284142 [EXPLORER][BROWSEUI][SHELL32][NETSHELL] Fix wrong usage of CComPtr 2022-10-02 00:38:23 +02:00
Mark Jansen
a414c88dae [ATL] Prohibit the use of AddRef/Release on objects inside CComPtr
This mimics what MS's CComPtr is doing:
https://learn.microsoft.com/en-us/cpp/atl/reference/ccomptrbase-class?view=msvc-170#operator_ptr
The reasoning behind this is that AddRef/Release is handled by the CComPtr,
so anyone calling that is most likely not using the CComPtr correct.
2022-10-02 00:38:23 +02:00
Mark Jansen
544b734498 [SHELL32] CDefView: Rework context menu handling
Previously, we would share one object between a multitude of options.
Now, the only two options that need to store something for later use each have their own space for it.
The context menu always cleans up after itself, the File menu does not.
CORE-18345
CORE-18361
CORE-18366
2022-10-02 00:36:42 +02:00
Hermès Bélusca-Maïto
3bb451b1d3 [ROSAPPS] Rename template filesystem to a better name. 2022-10-01 01:28:19 +02:00
Hermès Bélusca-Maïto
23b7c7b823 [FASTFAT] And now use the MS-open-sourced fastfat_new as our official FAT12/16/32 FS driver. 2022-10-01 01:28:19 +02:00
Hermès Bélusca-Maïto
b9217c0e35 [EXPLORER] Addendum in translation (missing indentation). 2022-09-30 18:08:14 +02:00
Nikolay Dimitrov
f2bc613fda [TRANSLATION] Update Bulgarian translation (#4429)
Update translations for:
Explorer, Calculator, MSPaint, MSGina, USetup.

Add translations for:
INetCPL, Crypt32, CryptUI.

Signed-off-by: Nikolay Dimitrov <delphipro@gmail.com>
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Rosen Iliev <winterhell2002@gmail.com>
2022-09-30 18:08:13 +02:00
Stanislav Motylkov
72bdbdd4fa [TRANSLATION] More Russian (ru-RU) translation fixes
Addendum to 3f411c5d.
2022-09-29 12:00:04 +03:00
Stanislav Motylkov
0ee5e4c7e3 [INPUT] Update Russian (ru-RU) translation
Addendum to 5f4bb73e.
2022-09-29 11:08:17 +03:00
Hermès Bélusca-Maïto
fb68e76c51 [TRANSLATION][INPUT.CPL] Update french translation. 2022-09-29 04:27:15 +02:00
Hermès Bélusca-Maïto
dbe4abab4f [KBSWITCH][INPUT.CPL] Correctly do the input language indicator.
Addendum to commits 5f4bb73e and c6ccb92b.

- GetLocaleInfo() returns an int, not a bool: makes it clear in the test.

- No need to use StringCchCopy() to just initialize two chars to the
  same value.

- The question about the test in https://github.com/reactos/reactos/pull/4723#discussion_r981331634
  was meant to discover that CreateDIBSection() was unnecessary, since
  the very original code (before commit 0991cedc) did not use it and was
  working fine in that regard. The simple fix was to use GetDC(NULL).

- Use SM_CXSMICON/SM_CYSMICON metrics for the KBSWITCH indicator as well.

- Override the font size obtained from SPI_GETICONTITLELOGFONT with a
  known one (allows to get a correct indicator even if the user font
  is very large).

- Do the initialization in such a way that in case SPI_GETICONTITLELOGFONT
  or CreateFontIndirect fails, we always fall back to the default stock
  font that is ensured to always exist.

- Initialize *all* the fields of the IconInfo structure.
2022-09-29 04:06:17 +02:00
Katayama Hirofumi MZ
c6ccb92bdd [KBSWITCH] Fix keyboard indicator text and font (#4723)
- Do the same behaviour as input.dll in getting indicator text.
- Use full color DIB (device-independent bitmap) to improve icon.
- Use SPI_GETICONTITLELOGFONT for font.
CORE-10667
2022-09-29 07:32:39 +09:00
Katayama Hirofumi MZ
5f4bb73eda [CPL][INPUT] Make the ListView a TreeView (#4726)
- Make the list a TreeView.
- Modify IDD_PROPPAGESETTINGS resource dialog for UI compatibility.
2022-09-29 07:31:43 +09:00
Serge Gautherie
f0e13157c6 [DNSAPI] DNSRSLVR_HANDLE_bind(): Demote 1 DPRINT1() (#4733)
Addendum to b79246c534 (0.4.14-dev-174).
CORE-18384
2022-09-28 22:38:35 +03:00
Serge Gautherie
421b89eea1 [DOC] 3rd Party Files.txt: Update WinBtrfs to v1.8.1 (#4732)
Addendum to 29d1938258 (0.4.15-dev-5113).
CORE-18322
2022-09-28 21:38:42 +03:00
Hervé Poussineau
7278ed2015 [WIN32SS] Change LDEVOBJ_bProbeAndCaptureDevmode to account for not provided fields when searching an exact mode
This fixes mode change if an application requests (for example) 640x480x32, without providing display frequency.
2022-09-28 18:31:19 +02:00
Johannes Obermayr
29d1938258 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.8.1 (#4729)
CORE-18322

v1.8.1 (2022-08-23):
- Fixed use-after-free when flushing
- Fixed crash when opening volume when AppLocker installed
- Compression now disabled for no-COW files, as on Linux
- Flushing now scales better on very fast drives
- Fixed small files getting padded to 4,096 bytes by lazy writer
- Added NoDataCOW registry option
2022-09-28 18:08:10 +02:00
Hervé Poussineau
22d8c0fd54 [FRAMEBUF] Implement required DirectDraw functions
However, do not support any optional callback.

dxdiag now accepts to run DirectDraw tests.
2022-09-26 23:45:56 +02:00
Hervé Poussineau
06b3ee43c2 [NTOS:PNP] Partially implement NtPlugPlayControl(PlugPlayControlQueryAndRemoveDevice)
CORE-12307
2022-09-26 23:35:09 +02:00
Hervé Poussineau
5eeeb1c235 [NETSHELL] Return error if disconnection failed
CORE-12307
2022-09-26 23:33:57 +02:00
Katayama Hirofumi MZ
2469ce2c31 [NTUSER][KBSWITCH] Realize Alt+Shift keyboard switch (retry) (#4721)
Alt+Shift is a useful key combination to switch the current keyboard layout. CORE-11737
- Add ID_NEXTLAYOUT command to kbswitch.
- Send command ID_NEXTLAYOUT to kbswitch on Alt+Shift key combination in WM_SYSKEYDOWN handling of IntDefWindowProc function.
- Make IntFindWindow a non-static function.
2022-09-26 08:07:50 +09:00
Hermès Bélusca-Maïto
38870875ba [CMD] Fix build. Addendum to 67ac583b5. 2022-09-25 23:59:18 +02:00
Hermès Bélusca-Maïto
67ac583b5b [CMD] COPY: Always remove the read-only attribute, for MS-DOS backwards-compatibility.
Tested and compared with MS CMD.EXE when copying files within the
same directory, across directories and across drives.
This is not done for the MOVE, REN and REPLACE commands however.

CORE-18090
2022-09-25 23:55:27 +02:00
Serge Gautherie
66d50537f4 [BCRYPT_WINETEST] Wine Sync to 8d8936cbb6fea3cac862e059e814527f5361f48b (#208)
Import, as is, the next 2 commits from Wine:
8d8936cbb6fea3cac862e059e814527f5361f48b  2016-12-06  Bruno Jesus  bcrypt/tests: Normalize all tests to use function pointers.
b5e5be13d20adff5d7b784e71c7a48fb95fde2c8  2016-12-06  Bruno Jesus  bcrypt/tests: Workaround RegGetValueW not being present in XP.

These let this test load on WS03 and even WXP, too.
Notice though, that even after the change, the test does not manage to load bcrypt.dll yet on Windows XPSP3 yet, even when copying it next the test.

No functional changes.
ROSTESTS-296
2022-09-25 20:35:23 +02:00
Mark Jansen
815dd140c7 [ACLAYERS] Fix RtlGetVersion 2022-09-25 19:33:51 +02:00
Mark Jansen
05637a5e3d [MSI] Abuse SE_DynamicShim until we have proper shims integration
CORE-18362
2022-09-25 19:33:51 +02:00
Mark Jansen
93e88edbb6 [APPHELP] Implement SE_DynamicShim 2022-09-25 19:33:36 +02:00
Hermès Bélusca-Maïto
18d40ebe81 [BOOTDATA] hivesys.inf: Remove redundant fastfat "Start" entry.
The one in the [AddReg] section has the very same value.
2022-09-25 17:52:35 +02:00
Hermès Bélusca-Maïto
5901897933 [OPENGLCFG] Fix encoding of Japanese translation (was using Shift-JIS, now using UTF8).
Addendum to commit 555bec6a4.
2022-09-25 17:40:46 +02:00
Joachim Henze
63fa674782 [EXPLORER] Cleanup after last commit (#4722)
Improves code that was added by 0.4.15-dev-5078-g 46de3a22ac
without any review yesterday.

CORE-15369
2022-09-25 16:48:54 +03:00
Thamatip Chitpong
1f2b7e5a56 [MMSYS] Fix "Speaker settings" image transparency (#4716)
- Use 72x72 icon instead of a bitmap
- Use correct control position and size for IDC_SPEAKIMG
- VolumeDlgProc: Add NULL check for DestroyIcon and fix cleanup order

Addendum to 781c247b.
2022-09-25 16:46:30 +03:00
Andrei Miloiu
be04c6358a [DEVMGR] Update Romanian (ro-RO) translation (#4699)
Reviewed-by: Ștefan Fulea <stefan.fulea@mail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-25 11:44:41 +03:00
Stanislav Motylkov
328cc41192 [FREELDR] Allow to boot from FATX volume using vfatfs driver
Also copy vfatfs.sys to disk in 1st stage setup.
CORE-16216 CORE-16329 CORE-16373
2022-09-24 23:56:10 +03:00
Stanislav Motylkov
542e9f2ba0 [FS_REC][VFATFS] Update headers per our current coding style
No code changes. Addendum to 14c39362 and 6d65da93.
2022-09-24 16:24:08 +03:00
Hervé Poussineau
6d65da93e3 [FS_REC] Add FATX recognizer
CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
fa809fd2fe [VFATFS] Correctly init dirIndex/startIndex on FATX subdirectories
'.' and '..' entries do not exist on FATX subdirectories. We have to fake them when
enumerating the directory, and ignore them when creating a FCB from a directory entry.

CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
0979fb29e2 [VFATFS] Always provide a short name for FATX files (equal to long name)
If no short name is provided, driver will think that the partition is corrupted.

CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
b935bfe6cb [VFATFS] Return 'FATX' as FsType for FATX volumes
CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
15ea997774 [VFATFS] Use device name FatX, to not collide with fastfat.sys
CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
14c3936251 [VFATFS] Add it back to build on XBOX, with the name vfatfs.sys
Adapt some comments to new name.

CORE-16373
2022-09-24 12:12:33 +02:00
Katayama Hirofumi MZ
555bec6a49 [CPL][OPENGLCFG] Add Japanese translation (ja-JP) 2022-09-24 13:15:51 +09:00
Katayama Hirofumi MZ
b77b7919a1 [CPL][MMSYS] Improve Japanese translation (ja-JP) 2022-09-24 13:12:08 +09:00
Katayama Hirofumi MZ
8ee308d700 [CPL][LICCPA] Improve Japanese translation (ja-JP) 2022-09-24 13:09:12 +09:00
Katayama Hirofumi MZ
48141d2eb6 [HOTPLUG] Improve Japanese translation (ja-JP) 2022-09-24 13:07:03 +09:00
Katayama Hirofumi MZ
a509f9a30d [JOY] Add Japanese translation (ja-JP) 2022-09-24 13:03:59 +09:00
Katayama Hirofumi MZ
7f1c77c875 [SHIMGVW] Improve Japanese translation (ja-JP) 2022-09-24 12:33:22 +09:00
Katayama Hirofumi MZ
7b73da2c41 [SHELL32] Improve Japanese translation (ja-JP) 2022-09-24 12:31:07 +09:00
Katayama Hirofumi MZ
d29c27127d [EXPLORER] Improve Japanese translation (ja-JP) 2022-09-24 12:22:55 +09:00
Hervé Poussineau
3a32d5980c [ISAPNP] Generate hardware ids and compatible ids in upper case 2022-09-23 23:07:45 +02:00
Hervé Poussineau
f3506ee626 [SHELL32] Prevent use after free
'buffer' is local to the function, while m_sPath is an instance class member.
Fix that by calling the IShellLink::Resolve() function, which will allocate
and fill the m_sPath variable.

CORE-15229
2022-09-23 23:07:26 +02:00
Katayama Hirofumi MZ
f79e80c520 [USER32][IMM32] Use wcscspn instead of wcsspn
b4575ec and db00a75 were my mistakes.
CORE-11700
2022-09-23 13:50:24 +09:00
Katayama Hirofumi MZ
46de3a22ac [EXPLORER] Follow-up of #4718 (ba2cead)
Handle click OnNcLButtonUp instead of OnNcLButtonDown/OnNcLButtonDblClick.
CORE-15369
2022-09-23 08:25:27 +09:00
Katayama Hirofumi MZ
ba2cead8a2 [EXPLORER] 'Show Desktop' button should work on button up (#4718)
Follow-up of PR #4715. CORE-15369
- The 'Show Desktop' button of taskbar works on button up instead of button down.
- Add NULL checks for m_ShowDesktopButton.
- Fix hung-up in rebooting.
2022-09-22 23:01:12 +09:00
Katayama Hirofumi MZ
26efda4d8d [EXPLORER] Add 'Show Desktop' button at right edge of taskbar (#4715)
This PR adds a tiny button of window class "TrayShowDesktopButtonWClass" at right/bottom edge of taskbar.
This button allows the user to access "Show/Restore Desktop" feature by mouse.
You can toggle visibility of this button by registry value "TaskbarSd" in key "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced".
The button is themed when theme is available.
CORE-15369
2022-09-22 12:18:59 +09:00
Katayama Hirofumi MZ
34635e1585 [CPL][INTL] Realize automatic Japanese IME installation (#4705)
In intl.cpl, realize semi-automatic Japanese IME installation by checkbox "Install files for East Asian languages" by using rapps.exe. CORE-11700
2022-09-19 18:13:17 +09:00
Kyle Katarn
32c20ab112 [SHELL32] Fix property sheets that can't be closed due to failed init (#4709)
When a PropertySheet fails to init, that fact is being logged
and it shows an empty page, but it can't be closed.

Handle second failure properly by using FAILED_UNEXPECTEDLY macro.

CORE-18333
2022-09-19 04:06:47 +03:00
Kyle Katarn
456f9f96e7 [HOTPLUG] Add French (fr-FR) translation (#4703) 2022-09-19 02:14:23 +03:00
Andrei Miloiu
5f0132ee95 [APPWIZ] Update Romanian (ro-RO) translation (#4700) 2022-09-19 02:10:49 +03:00
Thamatip Chitpong
7244a4a2f5 [ZIPFLDR] Set large icon correctly (#4708)
Now it's correctly displayed in Alt+Tab window selection.
2022-09-19 01:56:35 +03:00
Joachim Henze
305aae75f5 [DDRAW] Handle DDLOCK_WRITEONLY in wined3dmapflags_from_ddrawmapflags() CORE-18378 (#4713)
Mutes the logging:
fixme:(dll/directx/wine/ddraw/utils.c:584) Unhandled flags 0x20.
gets logged many times per second.

It does affect several applications, e.g. the game 'Anno 1602' from 1998, and the 'Diablo 2 demo' from rapps,
For both games it can be observed with both: our VBEMP driver and the VBox4.3.12 3D-accelerated-driver.

Muting may improve performance a bit in such apps.
It gets logged although no missing features can be perceived visually in the rendering.

Fix it by importing Wine-commit b943c7910b3261c9603343369cd632f7a3b56bba
 ddraw: Handle DDLOCK_WRITEONLY in wined3dmapflags_from_ddrawmapflags().
 Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
 Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-09-18 20:53:30 +02:00
Mark Jansen
d84b76a69e [GDI32] Fix ExtTextOutA with ETO_GLYPH_INDEX
CORE-18365
2022-09-18 20:51:12 +02:00
Jérôme Gardou
75125228be [NTOS] Add some sanity checks when synchronizing PDEs 2022-09-17 13:48:56 +02:00
Katayama Hirofumi MZ
e5ebbc8afa [CPL] Boundary check of Control Panel applets (#4706)
- Check the boundary (i < NUM_APPLETS) of the variable i in CPlApplet functions.
- Use UINT type for the variable i.
2022-09-17 13:59:51 +09:00
Katayama Hirofumi MZ
37ccb9e594 [MEDIA][INF] The name of rapps in Japanese is too long (#4707)
Renaming: 「アプリケーション マネージャ」→「アプリ マネージャ」
2022-09-17 07:56:41 +09:00
Katayama Hirofumi MZ
fd46398b63 [INPUT] Fix IsRebootNeeded condition
If there is any IME HKL, reboot is needed.
Follow-up to #4666 (596f04b). CORE-11700, CORE-18364
2022-09-17 07:12:05 +09:00
Katayama Hirofumi MZ
75116d6b87 [USER32] Avoid szImeFileName buffer overrun
CORE-11700
2022-09-16 18:04:55 +09:00
Katayama Hirofumi MZ
b4575eccd7 [USER32] Don't allow invalid 'IME File' values
Improve security. CORE-11700
2022-09-16 18:01:19 +09:00
Katayama Hirofumi MZ
787bbf0693 [IMM32] Follow-up of db00a75
Add more invalid characters. CORE-11700
2022-09-16 17:54:15 +09:00
Katayama Hirofumi MZ
8a48446d11 [NTUSER] Use IS_CICERO_MODE() macro in co_UserActivateKeyboardLayout
CORE-11700
2022-09-16 17:41:12 +09:00
Katayama Hirofumi MZ
db00a75227 [IMM32] Don't allow invalid 'IME File' values
Improve security. CORE-11700
2022-09-16 17:38:48 +09:00
Katayama Hirofumi MZ
87f2950e1a [INPUT] Follow-up of #4666 (596f04b)
Reboot is still needed for IME settings.
CORE-11700, CORE-18364
2022-09-16 08:26:22 +09:00
Katayama Hirofumi MZ
596f04be6b [USER32][INPUT] Support various keyboard layouts (#4666)
- Fix IntLoadKeyboardLayout function to return the correct HKL value.
- Modify LAYOUT_LIST_NODE structure to add more information.
- Fix LayoutList_GetByHkl function to choose the IME HKLs correctly.
- Ignore DELETED entries correctly.
- Improve UI/UX.
CORE-11700, CORE-13244, CORE-18364
2022-09-16 08:09:37 +09:00
Artyom Ovsyannikov
3f411c5da7 [REACTOS] Various Russian (ru-RU) translation fixes (#4696)
Reviewed-by: Stanislav Motylkov <binarymaster@mail.ru>
2022-09-15 18:46:03 +03:00
Thamatip Chitpong
474f406496 [HOTPLUG] Add title bar icon (#4695)
- Add small icon to the title bar
- Set large icon correctly

CORE-15445
2022-09-15 17:54:10 +03:00
Andrei Miloiu
cd6c7272a4 [HOTPLUG] Add Romanian (ro-RO) translation (#4693)
Signed-off-by: Andrei Miloiu <miloiuandrei@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Ștefan Fulea <reactos-contributor@programmer.net>
2022-09-15 17:42:03 +03:00
Kyle Katarn
c994ba79d1 [MMC] Implement standard "About" menu action (#4639)
Reviewed-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-15 16:56:31 +03:00
Kyle Katarn
67d063cbc8 [SNDVOL32][MMSYS] Fix French (fr-FR) layout and translation (#4678)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com>
2022-09-15 12:14:50 +02:00
Kyle Katarn
a623990b15 [SHELL32] Fix French message for "Overwrite Folder" confirmation message
[SHELL32] Fix French message for "Overwrite Folder" confirmation message
2022-09-15 12:08:34 +02:00
Stanislav Motylkov
0eb042b74c [INF] Update Russian (ru-RU) translation
Addendum to a03ef85b.
2022-09-14 23:48:21 +03:00
Stanislav Motylkov
c46b1d75f1 [HOTPLUG] Update Russian (ru-RU) translation
Addendum to 21824a25.
2022-09-14 23:44:17 +03:00
Dmitry Borisov
a03ef85b5a [INF] Add description for IDE-compatible controllers (#4690)
Add missing string. CORE-17256
2022-09-14 23:40:47 +03:00
Thamatip Chitpong
21824a2596 [HOTPLUG] Add missing string resources for applet (#4689)
Use `IDS_CPLNAME` for the window title.
This also fixes the missing title text on the taskbar.
2022-09-14 23:12:50 +03:00
Thamatip Chitpong
781c247bd3 [MMSYS] Multimedia Control Panel diverse fixes (#4572)
- Use Unicode (WCHAR) instead of TCHAR
- Code formatting
- Use string safe functions
- Close handles after calling `CreateProcess`
- Save sound path as `REG_EXPAND_SZ` only if the path
  contains '%' character, like Windows does
- Fix `wcsdup` leaks

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-14 20:06:22 +03:00
Thamatip Chitpong
67f7971fa2 [INPUT] Fix taskbar icon and remove small icon hack (#4688)
- Use int for applet index (like other CPLs).
- Revert some changes from 976d48b.
2022-09-14 23:29:29 +09:00
Vitaly Orekhov
3647f6a5eb [LOGONUI] Make Logon UI compilable again (#4684)
Logon UI was excluded from CMake build, probably for not being compliant
with 'warnings are errors' standard introduced at some point.
In the future, I would probably try to make Logon UI usable
alongside with the classic msgina interface.

- Add logonui back to CMakeLists
- Replace 'wcscpy_s' Vista+ function with StringCchCopyW
- Exclude some unused functions

Signed-off-by: Vitaly Orekhov <crce2000@mail.ru>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-09-14 15:10:37 +03:00
Mark Jansen
c8f4e4de62 [REGEDIT] Fix possible buffer overflow 2022-09-13 20:49:00 +02:00
Katayama Hirofumi MZ
976d48baeb [CPL][INPUT] s/IDI_KEY_SHORT_ICO/IDI_CPLSYSTEM/ and small icon
The task icon of Taskbar was wrong...
2022-09-14 03:39:18 +09:00
Katayama Hirofumi MZ
8e110335e7 [USER32] Load keyboard layouts on logon correctly (#4686)
- Add IntLoadPreloadKeyboardLayouts helper function to load the layouts on log-on.
- In UpdatePerUserSystemParameters function, call CliImmInitializeHotKeys and IntLoadPreloadKeyboardLayouts functions.
CORE-16600
2022-09-14 02:58:28 +09:00
Jose Carlos Jesus
e215a088f9 [ATL] Fix window position to fit in screen area (#4512)
Clicking "Edit compatibility modes" button in the "Compatibility" tab
opens a window centered on the parent window. If we move the parent
window to one of the screen edges and then click this button again,
the new window will appear off screen.

Adjust position of created window, so now it would be completely visible.

CORE-17089

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-09-13 18:00:45 +03:00
Joachim Henze
d7f75a88ea [SYSSETUP] Update German (de-DE) translation (#4679)
- Fix typos in existing translation
- Update new strings that were added during 0.4.15-dev'ing

Addendum to 3f053db3 and 6d09885c. CORE-18357
2022-09-13 16:22:51 +03:00
Serge Gautherie
8482972a41 [DOC] 3rd Party Files.txt: Fix Buslogic driver version (#4685)
Correct version is in the BusLogic958.rc file.
Addendum to 5ee633f7d7 (0.4.15-dev-4556).

CORE-18180
2022-09-13 15:30:13 +03:00
Serge Gautherie
8d6a11eaa3 [DOC] 3rd Party Files.txt: Add 3rdparty/ to some sdk/lib/ paths (#4642) 2022-09-13 15:08:45 +03:00
Katayama Hirofumi MZ
b6cabfd1f3 [BOOTDATA] Fix 'Layout Id' values of hivesys.inf
Fix them to Win2k3's settings.
CORE-11700
2022-09-13 15:50:18 +09:00
Katayama Hirofumi MZ
b76602ff22 [NTUSER] Fix UserSetDefaultInputLang by using reordering
- Move IntReorderKeyboardLayouts function.
- Fix UserSetDefaultInputLang function.
CORE-11700
2022-09-13 14:32:39 +09:00
Serge Gautherie
f308c6a2bc [NTFS] PrintAllVCNs(): Fix a typo in an ASSERT() (#4682)
It was introduced in 0.4.7-dev-590-g 5579428b4f.
2022-09-12 22:30:28 +03:00
Mark Jansen
96e3c7bcc5 [SHELL32] Only hide a window when there is a window to hide 2022-09-12 20:00:39 +02:00
Mark Jansen
d0ba8fd4a3 [SHELL32] Properly destroy window 2022-09-12 20:00:39 +02:00
Mark Jansen
a6b8d4f6f0 [SHELL32] Don't try to remove buttons on a nonexisting window 2022-09-12 20:00:39 +02:00
Joachim Henze
46ea5171bd [TASKMGR] Pixel-perfection for left border (#4680)
CORE-18061

This makes the left border 2 pixels smaller in
IDD_APPLICATION_PAGE and IDD_PROCESS_PAGE.

The goal is:
- matching XPSP3 taskmgr to 100% on left border.
- leaving more room for the content of the 2 SysListView32.
- better aligning left border of  IDD_APPLICATION_PAGE
  and IDD_PROCESS_PAGE to IDD_PERFORMANCE_PAGE
  upon tab-switching.

In addition: Update german (de-DE) translation:
Make wording of IDS_MSG_TRAYICONCPUUSAGE (used in tooltip)
match the wording used in IDS_STATUS_CPUUSAGE (used in status bar).
2022-09-12 14:26:19 +02:00
Kyle Katarn
3703bbd631 [NTOS:MM] Implement PeakCommitment (MmPeakCommitment, MmTotalCommittedPages) (#4650)
And return the corresponding values in SystemPerformanceInformation.
Lockless updating counters suggestion by Thomas Faber.
2022-09-12 14:22:52 +02:00
Hervé Poussineau
51dd0523c7 [SHELL32] Fill link path before initializing the dialog
This fixes the Target type, Target location and Target fields
in shortcut properties window.

CORE-15229
2022-09-12 08:14:03 +02:00
Artyom Ovsyannikov
167399cfa3 [SYSSETUP] Add Tango Desktop Project to the list of used projects (#4676) 2022-09-11 15:54:02 +03:00
Stanislav Motylkov
c4bd0db05d [MMSYS] Add proper description to Speaker Volume dialog
Spotted by Kyle Katarn.
2022-09-11 02:16:34 +03:00
Hervé Poussineau
b6d7571ebb [CMAKE] Set KDBG define only where required (fastfat, win32k, ntoskrnl) 2022-09-10 23:16:27 +02:00
Hervé Poussineau
9e19352492 [CMAKE] Set _WINKD_ define only where required (kernel and setuplib) 2022-09-10 23:16:26 +02:00
Hervé Poussineau
0676247932 [FLOPPY] Correctly return media changed information
If disk changed since last time, we must either return STATUS_IO_DEVICE_ERROR
or STATUS_VERIFY_REQUIRED, depending of VPB_MOUNTED flag.
This is already handled by the SignalMediaChanged() function.

CORE-18244
2022-09-10 22:52:00 +02:00
Mark Jansen
55343f04b0 [MSPAINT][EXPLORER][SHELL32] Enable ATL asserts in CMake
CORE-17505

In MSVC builds they would not work reliably when enabled in the precompiled header
2022-09-10 17:27:50 +02:00
Kyle Katarn
86addae3cc [SHELL32] Fix Assertion when opening "File" menu in MyComputer twice (#4675)
ReactOS explorer shell asserts when opening the "File" menu in MyComputer for the second time.
This is due to the cached copy of IContextMenu not being released before attempting to cache it again.

Fix based on the patch proposed by JIRA user I_Kill_Bugs

CORE-18353

Signed-off by: I_Kill_Bugs (original patch author)
2022-09-10 15:59:00 +02:00
Kyle Katarn
6dcc07c18d [NETSHELL] Fix Network Tray icon activity indication (#4669)
The network activity tray icon wasn't showing activity until the Properties
dialog was opened at least once.
This was due to the fact that the tray icon was initialized once with missing
initialization parameters for pContext (default state and Adapter index).
Fix this problem by adding the missing initialization.

CORE-4497, CORE-9017, CORE-15744
2022-09-09 23:51:51 +02:00
Thamatip Chitpong
d5382f91e6 [ZIPFLDR] Show icon on the taskbar (#4670) 2022-09-09 20:26:39 +02:00
Kyle Katarn
a1f6d8a3f6 [EXPLORER] Fix Start Menu context menu actions (#4643)
CORE-18336

The current design was not processing actions verbs correctly for some
Start Menu context menu actions (Properties, Open all users, Explore all users),
despite associated code being implemented.
This was due by incorrectly filtering command IDs, not routing to the appropriate processing.
2022-09-09 20:23:11 +02:00
Katayama Hirofumi MZ
5bd03d8b97 [NTUSER] Implement IntReorderKeyboardLayouts
This function is provided for KLF_REORDER flag.
CORE-11700
2022-09-08 11:00:04 +09:00
Katayama Hirofumi MZ
a4fa5ef435 [IMM32] s/Ime32LoadImeDpi/Imm32LoadImeDpi/
Typo. CORE-11700
2022-09-08 10:50:49 +09:00
Katayama Hirofumi MZ
020d7d582f [IMM32] Remove unnecessary NULL checks for function pointers
CORE-11700
2022-09-08 09:57:17 +09:00
Katayama Hirofumi MZ
8ba378c901 [IMM32] s/Imm32Is16BitMode/IS_16BIT_MODE/
CORE-11700
2022-09-08 09:43:43 +09:00
Katayama Hirofumi MZ
5b87c95e23 [IMM32] s/Imm32IsCiceroMode/IS_CICERO_MODE/
CORE-11700
2022-09-08 09:40:50 +09:00
Kyle Katarn
f47c261ad0 [DESKADP] Add some spacing between the "legend" and the data (#4668)
Follow up of PR #4665 (cb6b07ee).

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-08 02:28:13 +03:00
Katayama Hirofumi MZ
e3f8f52f3d [BOOTDATA] Delete "Layout Id" from Japanese/Korean Keyboard Layout
CORE-11700
2022-09-07 17:40:51 +09:00
Mark Jansen
27bc31100e [STOBJECT] Add support for the mouse key tray icon 2022-09-06 21:11:09 +02:00
Mark Jansen
ab760e539d [PSDK] Add missing defines / argument names 2022-09-06 21:11:09 +02:00
Mark Jansen
8760852129 [PSDK] Add COWAIT_DEFAULT 2022-09-06 21:11:09 +02:00
Mark Jansen
334c7cee35 [STOBJECT] Keep the object alive while the thread is running,
Fix shutting down the thread.
2022-09-06 21:11:09 +02:00
Mark Jansen
f10d40f912 [KERNEL32] Fix BaseDefaultPath containing extra '.' 2022-09-06 21:09:38 +02:00
Katayama Hirofumi MZ
a5fa4891e5 [NOTEPAD] Follow-up of 'CJK font workaround'
- Revert some code.
- Add font name comments.
CORE-11700
2022-09-07 00:54:31 +09:00
Katayama Hirofumi MZ
5ecf017ce2 [NOTEPAD] CJK font workaround
Far East Asian users may not have suitable fixed-pitch fonts.
CORE-11700
2022-09-06 15:35:14 +09:00
Katayama Hirofumi MZ
2d725449d2 [NOTEPAD] Use DEFAULT_CHARSET instead of ANSI_CHARSET
Fix the font problem.
CORE-11700
2022-09-06 14:21:46 +09:00
Katayama Hirofumi MZ
cef42ec443 [NOTEPAD] Add STRING_DEFAULTFONT for default font
CORE-11700
2022-09-06 14:05:59 +09:00
Jérôme Gardou
98e8827a59 [AMSTREAM_WINETEST] Add missing dependency 2022-09-05 18:27:25 +02:00
Thamatip Chitpong
d73b6cedf2 [NOTEPAD] Improve UTF-8 encoding support and improve status bar (#4649)
- Add write support for UTF-8 without BOM.
- Add "UTF-8 with BOM" encoding to the "Save As" dialog.
- Show line endings and encoding on the status bar (like Notepad in Windows 10).
- Remove ignored WS_EX_STATICEDGE

- Add grip to the status window.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-09-05 18:21:27 +02:00
Stanislav Motylkov
6b70fff808 [DESKADP] Add Russian (ru-RU) translation. Addendum to cb6b07ee. 2022-09-05 16:24:16 +03:00
Kyle Katarn
cb6b07eec8 [DESKADP] Improve default display of advanced adapter properties (#4665)
+ fix caption width in french resources.
2022-09-05 15:01:41 +02:00
Andrej Bartulin
3b0417d48e [TRANSLATION] Croatian translation of games (Solitare and Spider) (#4664) 2022-09-05 14:58:00 +02:00
Katayama Hirofumi MZ
b03ca35fb5 [NEWDEV] Improve Japanese translation (ja-JP) 2022-09-05 11:41:25 +09:00
Katayama Hirofumi MZ
f1ddb6c15f [SYSSETUP] Improve Japanese translation (ja-JP) 2022-09-05 11:28:04 +09:00
Katayama Hirofumi MZ
85e292d58f [NTUSER][USER32][IMM32] Initialize pKL->piiex by using ImmLoadLayout (#4645)
To recognize IME, we have to initialize pKL->piiex.
- Add co_ClientImmLoadLayout and User32CallImmLoadLayoutFromKernel functions to call imm32!ImmLoadLayout on user mode from kernel.
- Use co_ClientImmLoadLayout in NtUserLoadKeyboardLayoutEx.
- Improve Imm32LoadIME to sanitize the IME table.
CORE-11700
2022-09-05 08:34:00 +09:00
Kyle Katarn
15a0f7adb0 [TASKMGR] Fix number formatting to respect NLS Number format settings (#4657)
TaskMgr currently does not respect local NLS settings and forces 3 digits + comma (US convention) formatting.
Fix this with a direct reuse of SH_FormatInteger() as already implemented in other places
(dll/win32/shell32/dialogs/filedefext.cpp ...)

- Removal of CommaSeparateNumberString() and replace with SH_FormatInteger().
- PerfDataGetText(): Use a switch structure.  Return TRUE iftext could be retrieved; FALSE if not.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2022-09-04 19:10:11 +02:00
Mark Jansen
15b54c4123 [CODEOWNERS] Remove automatic assignment from cmake/apitests 2022-09-04 15:28:43 +02:00
Kyle Katarn
b42ddce11a [NETSHELL] Fix "ghost" network activity when opening Network Status page (#4662)
Opening Network Status page creates a systematic "ghost" network activity,
activating RX+TX activity icon both on property page and tray, while no Rx/Tx.
This is due to pContext->dw[In|Out]Octets being initialized to 0 and compared
to refreshed interface data.

To circumvent this, copy refreshed interface data to the context on first update.
2022-09-03 23:30:57 +02:00
Sam Watson
7dc58ccb0c [THEMES] Improve text colors of Modern Dark theme (#4655)
- Update colors for all different font sizes.
- Update caption color for other fonts too.
2022-09-03 23:18:36 +02:00
Kyle Katarn
22f0c3a84a [TRANSLATION] French translation update (#4638)
Update of various French translation files for several modules:
CALC, LABEL, DXDIAG, MPLAY32, RAPPS, SHUTDOWN, SNDVOL32, EXPLORER, WINLOGON;
CONSOLE.CPL, MMSYS.CPL; NETCFGX.DLL, SHELL32.DLL, SHLWAPI.DLL, SYSSETUP.DLL
2022-09-03 23:12:29 +02:00
Kyle Katarn
7ed0284e8e [NTOS:EX] Fix returned number of handles for Idle System Process (#4661)
PsIdleProcess and PsInitialSystemProcess share the same handle table. This
leads ObGetProcessHandleCount() to report the same number of handles
when called on those system processes, when being enumerated by
NtQuerySystemInformation(SystemProcessInformation).

Instead, just return 0 for the handle count of the Idle process in SystemProcessInformation.
This is not done in ObGetProcessHandleCount(), since a separate
NtQueryInformationProcess(ProcessHandleCount) for the idle process should return
a non-zero value.

CORE-16577
2022-09-03 22:56:33 +02:00
Kyle Katarn
de5af76811 [TASKMGR] Fix overlapping controls (French only) (#4658)
Controls are sized with 0 pixel gap, which is OK in general but show an overlap upon selection.
Add the extra 1 pixel gap.
2022-09-03 17:29:26 +02:00
Kyle Katarn
f8c28b9773 [TASKMGR] Fix UI on SwitchTo for multiple application (#4652) 2022-09-03 17:27:50 +02:00
Kyle Katarn
6b2eeb0a29 [CONSOLE.CPL] Use translated resource rather than hardcoded text (#4647) 2022-09-03 17:22:14 +02:00
Kyle Katarn
f07741e631 [USRMGR] Replace old (leftover) debug MessageBox with Wine trace macros (#4640)
Remove leftover of debug code. CORE-18276
2022-09-03 17:19:41 +02:00
Katayama Hirofumi MZ
bb9c5e8e3e [KERNEL32] Fix kernel32.rc for UTF-8 codepage (#4648)
- Move #pragma code_page(65001) line.
CORE-18177
2022-08-31 12:04:21 +09:00
Katayama Hirofumi MZ
facc2837a1 [NTUSER] Move TL structure definition to ntuser.h (#4644)
- Move struct _TL and TL definitions from win32.h to ntuser.h.
- Modify the type of TL.pfnFree as newly-defined TL_FN_FREE function pointer.
CORE-11700
2022-08-30 09:35:27 +09:00
Katayama Hirofumi MZ
8222c0e6d8 [KBSWITCH][NTUSER] Revert Shift+Alt handling
The current Shift+Alt handling is buggy. The keyboard won't work frequently.
It dislikes system-side Alt (VK_MENU) key handling.
It seems like Shift+Alt handling should be in kernel.
CORE-10667
2022-08-28 20:15:33 +09:00
Thamatip Chitpong
efe25648a5 [SYSDM] General page: Auto-update the system uptime (#4616)
- Also insert curly-brackets for switch-case in GeneralPageProc
- Use correct printf data type for the system uptime

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-08-28 13:20:17 +03:00
Artyom Ovsyannikov
5f16fbcd47 [TASKLIST] Add Russian (ru-RU) translation (#4630)
Reviewed-by: Stanislav Motylkov <binarymaster@mail.ru>
2022-08-28 13:00:03 +03:00
Katayama Hirofumi MZ
6970b545af [USER32] Follow-up of "Follow-up of 2ba41ad"
You are careless. Do test.
CORE-18338
2022-08-28 16:20:40 +09:00
Katayama Hirofumi MZ
8edc22a2ca [USER32] Follow-up of 2ba41ad
Be careful about every case.
CORE-18338
2022-08-28 16:17:58 +09:00
Katayama Hirofumi MZ
2ba41ad4e0 [USER32] Retry: Fix build against 0aa9d9f and 1d10671
CORE-18338
2022-08-28 16:12:55 +09:00
Katayama Hirofumi MZ
1d106717bf [USER32] Fix build against 0aa9d9f (uninitalized variable hKey)
2022-08-28T00:37:16.2978407Z d:\a\reactos\reactos\src\win32ss\user\user32\windows\input.c(671) : error C4700: uninitialized local variable 'hKey' used

CORE-18338
2022-08-28 16:06:21 +09:00
Katayama Hirofumi MZ
43108ba763 [KBSWITCH] Simplify checking NULLs
CORE-10667
2022-08-28 09:48:56 +09:00
Katayama Hirofumi MZ
0aa9d9fdb7 [USER32] Fix HKL keyboard list values (Retrial)
CORE-18338
2022-08-28 09:08:12 +09:00
Katayama Hirofumi MZ
5d123ce5f1 Revert "[USER32] Fix HKL value in IntLoadKeyboardLayout (#4632)" (#4637)
This reverts commit ea2d32b9eb.
2022-08-28 08:11:01 +09:00
Thamatip Chitpong
0c324e350e [CPL] Use MAKEINTRESOURCE instead of LoadString (#4631)
Fixes for ACCESS, DESK, INTL, MAIN, MMSYS, OPENGLCFG, POWERCFG, TIMEDATE, USRMGR, and WINED3DCFG.
2022-08-27 16:01:55 +02:00
Serge Gautherie
730b13daac [NTOS:MM] kdbg.c: Fix Argv[n] copypastas (#4634) 2022-08-27 15:58:54 +02:00
Katayama Hirofumi MZ
ea2d32b9eb [USER32] Fix HKL value in IntLoadKeyboardLayout (#4632)
The loaded HKL values were wrong. CORE-11700
2022-08-27 07:42:37 +09:00
Katayama Hirofumi MZ
83442919e4 [EXPLORER] Do WM_MOUSEACTIVATE.MA_NOACTIVATE on notification area
Don't activate taskbar when clicked the notification area.
CORE-10667
2022-08-26 08:07:54 +09:00
Timo Kreuzer
3aa3b3af56 [CRT] Implement portable ceil/floor 2022-08-26 00:44:46 +02:00
Timo Kreuzer
2943ea2cfe [CRT_APITEST] Add tests for ceil/floor 2022-08-26 00:44:46 +02:00
Katayama Hirofumi MZ
e8b830d6bf [KBSWITCH] Fix GetNextLayout for three or more languages (#4629)
Typing Alt+Shift should work cyclically.
CORE-11737
2022-08-26 06:33:39 +09:00
Katayama Hirofumi MZ
b4114030a2 [RAPPS] Really update progress bar text (#4633)
- Invalidate rectangle at CDownloaderProgress::OnSetText.
- Unsubclass the progress bar if necessary.
- Set zero to the progress for each download beginning.
CORE-14686
2022-08-26 06:29:19 +09:00
Katayama Hirofumi MZ
844d447e03 [RAPPS] Don't send WM_SETTEXT directly
Use SetWindowText and SetDlgItemText.
CORE-14686
2022-08-25 17:40:23 +09:00
Katayama Hirofumi MZ
261416ddb9 [KBSWITCH] Follow-up of 0991ced
- Used FW_NORMAL.
- Added NULL checks.
CORE-10667
2022-08-25 14:19:50 +09:00
Katayama Hirofumi MZ
c7ba53e3fb [NTUSER] Follow-up of 9e7c2ba
CORE-11700
2022-08-25 12:07:32 +09:00
Katayama Hirofumi MZ
9e7c2ba460 [NTUSER] Improve NtUserGetImeInfoEx / NtUserSetImeInfoEx
CORE-11700
2022-08-25 10:20:42 +09:00
Katayama Hirofumi MZ
4d724b6fbb [INPUT] Refactor LayoutList_Create (#4626)
LayoutList_Create function was too complicated. CORE-11700
2022-08-25 08:38:49 +09:00
Thamatip Chitpong
0ed302ef65 [INPUT] Use MAKEINTRESOURCE instead of LoadString (#4628) 2022-08-24 15:17:14 +09:00
Katayama Hirofumi MZ
d4ed449ca2 [KBSWITCH] Total refactoring 2022-08-24 13:26:54 +09:00
Katayama Hirofumi MZ
82db0523e4 [KBSWITCH] Fix notification icon handle leak 2022-08-24 12:18:59 +09:00
Katayama Hirofumi MZ
eca08cfe98 [KBSWITCH] Refactor WndProc 2022-08-24 11:57:29 +09:00
Katayama Hirofumi MZ
7151c30079 [USER32] Get/SetWindowLongPtr about PIMEUI (#4625)
In ImeWndProc_common, correctly get/set the PIMEUI value by Get/SetWindowLongPtrW. CORE-11700
2022-08-24 11:10:23 +09:00
Katayama Hirofumi MZ
3892252bc5 [KBSWITCH] Use StringCchCopy instead of lstrcpyn 2022-08-24 10:23:51 +09:00
Katayama Hirofumi MZ
0991cedca7 [KBSWITCH] Refactor CreateTrayIcon 2022-08-24 10:21:50 +09:00
Katayama Hirofumi MZ
f974f02881 [KBSWITCH] Fix menu handle leak 2022-08-24 09:11:36 +09:00
Katayama Hirofumi MZ
b4f73f040f [KBSWITCH][NTUSER] Realize Shift+Alt language switch (#4622)
- Fix co_UserProcessHotKeys on modifiers-only hot-keys.
- Add Alt+Shift hot-keys to kbswitch window.
CORE-11737
2022-08-24 07:31:46 +09:00
Katayama Hirofumi MZ
372a445ad6 [IMM32] Add CtfImmIsGuidMapEnable and CtfImmGetGuidAtom (#4621)
- Add CtfImmIsGuidMapEnable and CtfImmGetGuidAtom functions.
- Modify imetable.h and imm32.spec.
CORE-11700
2022-08-23 21:57:45 +09:00
Katayama Hirofumi MZ
f34b8460e3 [NTUSER] Use assignment-lock against THREADINFO.KeyboardLayout (#4620)
- Assignment and locking are managed by UserAssignmentLock/UserAssignmentUnlock.
- Synchronize ClientInfo->hKL to pti->KeyboardLayout->hkl.
CORE-11700, CORE-18317
2022-08-23 19:32:23 +09:00
Hermès Bélusca-Maïto
5cadc268ef [BOOT][SDK:CMLIB] Compile a CMLIB for FreeLdr / NT bootloader with correct definitions. (#4619)
This also allows using the CMLIB with any reduced functionality
that could be required at boot-time.
2022-08-22 22:08:02 +02:00
Stanislav Motylkov
95b3e7508e [OSK] Fix text label height for Russian (ru-RU) translation
Addendum to e59e6ba0.
2022-08-22 16:50:17 +03:00
Timo Kreuzer
e9a129c1e2 [NTOS] Remove useless functions 2022-08-22 11:22:08 +02:00
Timo Kreuzer
620f9ee71a [NTOS] Add MxCsr handling to trap handlers 2022-08-22 11:22:08 +02:00
Timo Kreuzer
92c798c657 [NTOSKRNL] Implement KiXmmExceptionHandler 2022-08-22 11:22:08 +02:00
Timo Kreuzer
76086220fa [CRT] Fix amd64 floating point control functions 2022-08-22 11:22:08 +02:00
Timo Kreuzer
39f11249ff [NTOS][RTL] Initialize MxCsr where missing 2022-08-22 11:22:08 +02:00
Timo Kreuzer
a82e46e521 [CRT_APITEST] Add tests for floating point control and status functions 2022-08-22 11:22:08 +02:00
Artyom Ovsyannikov
5a9efc4081 [DRWTSN32] Add Russian (ru-RU) translation (#4617)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-08-22 01:54:03 +03:00
Artyom Ovsyannikov
3dd5599fc4 [TRANSLATION] Improve Russian (ru-RU) translation (#4615)
[WINEMINE][INF] Improve Russian translation for Minesweeper
[TIMEDATE] Improve Russian translation
2022-08-22 01:42:24 +03:00
Artyom Ovsyannikov
e59e6ba017 [OSK] Update Russian (ru-RU) translation (#4611)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-08-21 23:46:38 +03:00
Katayama Hirofumi MZ
6c748ca8a9 [NTUSER] Rewrite NtUserUnloadKeyboardLayout (#4613)
- Add co_IntUnloadKeyboardLayoutEx (Win: xxxInternalUnloadKeyboardLayout), IntUnloadKeyboardLayout (Win: xxxUnloadKeyboardLayout) helper functions.
- Rewrite NtUserUnloadKeyboardLayout function.
CORE-11700
2022-08-20 09:45:06 +09:00
Katayama Hirofumi MZ
c06cccea22 [USER32] Adjustment for IME/IMM (#4610)
- Add IS_CICERO_MODE() macro.
- Append DWORD dwLastStatus to IMEUI structure.
- Modify ImeWndProc_common, ImeWnd_OnCreate, ImeWnd_OnImeSelect, and ImeWnd_OnImeControl functions.
CORE-11700
2022-08-18 10:55:11 +09:00
Katayama Hirofumi MZ
93955f37de [NTUSER][USER32] Define NtUserSetWindowLongPtr for non-Win64 (#4612)
- Add NtUserSetWindowLongPtr macro on non-Win64.
- Use NtUserSetWindowLongPtr instead of NtUserSetWindowLong.
CORE-11700
2022-08-17 17:23:40 +09:00
Katayama Hirofumi MZ
fd1e799123 [USER32] Insert curly-brackts for switch-case
Follow-up of #4607 (60be15f).
CORE-11700
2022-08-17 08:04:11 +09:00
George Bișoc
3b00f98b94 [NTOS:SE] Fix new dynamic length calculation in TokenPrimaryGroup case
Not only primary group assignation was broken but new dynamic length calculation is also broken. The length of the captured SID is not taken into account so the new dynamic length gets only the size of the default ACL present in an access token.
Therefore, the condition is always FALSE and the code never jumps to the STATUS_ALLOTTED_SPACE_EXCEEDED branch because the length will always be small than the charged dynamic length.

Addendum to 86bde3c.
2022-08-16 20:27:27 +02:00
Thamatip Chitpong
3bd822366c [THEMES] New restore window button for Lautus and Mizu themes (#4590)
The original file for Lautus theme is made by JIRA user name Start.

CORE-15101 CORE-15936
2022-08-16 17:40:16 +03:00
Katayama Hirofumi MZ
e44e151840 [NTUSER] Empower co_UserActivateKeyboardLayout (#4608)
- Add code to co_UserActivateKeyboardLayout function for IME.
- Add IntImmActivateLayout helper function.
CORE-11700
2022-08-16 22:03:54 +09:00
George Bișoc
86bde3c76a [NTOS:SE] Fix the primary group assignation in TokenPrimaryGroup class case
With current master, what happens is that when someone wants to assign a new primary group SID for an access token, it results in an instant page fault because the primary group variable doesn't get assigned the dynamic part's address.
So the primary group variable gets an address which is basically a representation of the ACL size, hence the said address is bogus and it's where the page fault kicks in.

CORE-18249
2022-08-16 13:05:44 +02:00
Luke Luo
626fd4d240 [TRANSLATION] Improve Korean (ko-KR) translation (#4574)
- [SHELL32] Update Korean translation
- [EXPLORER] Update Korean translation

Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Seungju Kim <admin@manateeshome.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-08-16 13:02:25 +03:00
Chan Chilung
ac87259fa2 [TRANSLATION] Update Traditional Chinese (zh-TW) translation - Jun 2022 (#4570)
- [REG] Update zh-TW translation
- [DISKPART] Update zh-TW translation
- [HHCTRL.OCX] Update zh-TW translation
2022-08-16 13:00:11 +03:00
Katayama Hirofumi MZ
fe8f80610e [NTUSER] Send WM_IME_SYSTEM:IMS_LOADTHREADLAYOUT at IntCreateWindow (#4606)
- Send WM_IME_SYSTEM:IMS_LOADTHREADLAYOUT message at IntCreateWindow function.
CORE-11700
2022-08-16 08:02:49 +09:00
Katayama Hirofumi MZ
60be15ff5d [USER32] RealDefWindowProcA/W WM_IME_SYSTEM handling (#4607)
- Add WM_IME_SYSTEM message handling on RealDefWindowProcA and RealDefWindowProcW functions.
- Improve WM_IME_... messages handling.
- s/IMMGWL_IMC/IMMGWLP_IMC/
- Don't set IMMGWLP_IMC value to the default IME window.
CORE-11700
2022-08-16 08:00:47 +09:00
Katayama Hirofumi MZ
eb674f353e [IMM32] Reduce magic numbers from CtfImmSetLangBand
CORE-11700
2022-08-15 23:00:54 +09:00
Katayama Hirofumi MZ
f9a11d1e0b [IMM32] Add 'Win:' comments more
CORE-11700
2022-08-15 21:46:33 +09:00
Katayama Hirofumi MZ
379188acfe [NTUSER] Refactor NtUserUnloadKeyboardLayout (#4605)
- Add IntHKLtoPKL, co_UserActivateKeyboardLayout, IntReorderKeyboardLayouts, and co_IntActivateKeyboardLayout helper functions.
- Rewrite NtUserUnloadKeyboardLayout by using helper functions.
CORE-11700
2022-08-15 08:25:06 +09:00
Katayama Hirofumi MZ
e8ccc8516f [USER32] Call CliImmInitializeHotKeys on LoadKeyboardLayoutW epilogue (#4604)
Enable the IME hotkeys.
- Call CliImmInitializeHotKeys.SETIMEHOTKEY_ADD on IntLoadKeyboardLayout epilogue.
CORE-11700
2022-08-14 10:53:58 +09:00
Katayama Hirofumi MZ
25fcdc5c2b [USER32][IMM32][INCLUDE] Empower WM_IME_SYSTEM handling (#4603)
- Add code to ImeWnd_OnImeSystem function.
- Add CtfLoadThreadLayout and User32DoImeHelp helper functions.
- Define IMS_... constants (for WM_IME_SYSTEM wParam) and fix some magic numbers.
CORE-11700
2022-08-13 07:08:18 +09:00
Katayama Hirofumi MZ
5fa84035cf [IMM32] Renaming around ImmSystemHandler (#4602)
- s/IMM_UNKNOWN_PROCESS1/IMM_DELAY_SET_LANG_BAND/
- s/Imm32UnknownProcess1Proc/Imm32DelaySetLangBandProc/ (Win: DelaySetLangBand)
- s/Imm32UnknownProcess1/CtfImmSetLangBand/ (Win: CtfImmSetLangBand)
- s/Imm32SendChangeProc/Imm32SendNotificationProc/ (Win: SendNotificationProc)
- s/Imm32SendChange/Imm32SendNotification/ (Win: ImmSendNotification)
CORE-11700
2022-08-12 09:17:46 +09:00
Katayama Hirofumi MZ
1381cea2a7 [USER32] Refactoring on LoadKeyboardLayout(W/Ex) (#4601)
- Add IntLoadKeyboardLayout (Win: LoadKeyboardLayoutWorker) helper function.
- Use it in LoadKeyboardLayoutW and LoadKeyboardLayoutEx functions.
CORE-11700
2022-08-12 09:16:18 +09:00
Andrew Boyarshin
c15a9c1d09 [KERNEL32] lpNumberOfCharsWritten is optional for WriteConsole (#1079)
Some applications (and libraries, like replxx) rely on this undocumented behavior.
2022-08-12 01:58:18 +02:00
Katayama Hirofumi MZ
934e5212e4 [IMM32] Implement ImmWINNLSEnableIME (#4599)
- Implement imm32!ImmWINNLSEnableIME function.
- Rename CLIENTIMC_UNKNOWN3 flag as CLIENTIMC_DISABLEIME.
- Modify imm32.spec.
CORE-11700
2022-08-09 20:09:23 +09:00
Katayama Hirofumi MZ
d519b11a28 [NTUSER] Security: Follow-up of #4595 (#4598)
Improve security. CORE-11700
2022-08-08 21:23:49 +09:00
Thamatip Chitpong
f7d068e2bd [SHELL32] Fix "Fonts" and "Administrative Tools" icon incorrectly displayed after 8d520f3 (#4597)
CORE-18251
2022-08-08 18:46:20 +09:00
Katayama Hirofumi MZ
2220e566a2 [KEYBOARD][BOOTDATA][TOOLS] Rename keyboard layout files (#4596)
The keyboard layout file names of ReactOS are different from Windows' ones. It was one reason why ImmInstallIMEW fails.
- s/kbdbgm/kbdbu/ Bulgarian (Typewriter)
- s/kbdgrist/kbdgr1/ German_IBM
- s/kbdes/kbdsp/ Spanish (non-alternate!)
- s/kbdja/kbdjpn/ Japanese
- s/kbdko/kbdkor/ Korean
- s/kbdsk/kbdsl/ Slovak
- s/kbdsk1/kbdsl1/ Slovak (QWERTY)
CORE-11700
2022-08-06 08:03:46 +09:00
Katayama Hirofumi MZ
3e42f7b478 [NTUSER][USER32] NtUserGetKeyboardLayoutName and GetKeyboardLayoutNameW (#4595)
#4594 has proved that the 1st argument of NtUserGetKeyboardLayoutName has type PUNICODE_STRING.
CORE-11700
2022-08-06 08:02:31 +09:00
Timo Kreuzer
786017c5b6 [NTOS] Don't assert, when dispatching an exception to user mode fails
Instead continue with second chance handling.
2022-08-04 16:15:24 +02:00
Timo Kreuzer
b3a8f8611d [NTOS] Treat page faults with interrupts disabled as access violation 2022-08-04 16:15:24 +02:00
Timo Kreuzer
e45af60560 [NTOS:KE/X64] Enable interrupts when accessing user mode memory 2022-08-04 16:15:24 +02:00
Timo Kreuzer
902c6eee1e [NTOS:KE] Restore interrupts in KiSwitchKernelStack 2022-08-04 16:15:24 +02:00
Timo Kreuzer
ae39ad4d10 [NTOS] Add a hack for VBox 2022-08-04 16:15:24 +02:00
Timo Kreuzer
f96bee30ed [KERNEL32] Fix printing exception address 2022-08-04 16:15:24 +02:00
Timo Kreuzer
f8b6cc249e [HAL] Add missing I/O port to int 10 BIOS emulator 2022-08-04 16:15:24 +02:00
Timo Kreuzer
74014e74c0 [NTOS:KDBG] Improve x64 stack trace printing 2022-08-04 16:15:24 +02:00
Timo Kreuzer
090ccb3d8e [WIN32K] Add missing NULL checks
Also fix an old copy-pasta.
2022-08-04 16:15:24 +02:00
Katayama Hirofumi MZ
5f4db56486 [NTUSER] KLF_UNLOAD flag of NtUserGetKeyboardLayoutList (#4592)
This implementation enables KLF_UNLOAD flag awareness on listing the KLs.
CORE-11700
2022-08-03 12:45:10 +09:00
Katayama Hirofumi MZ
bfa92268da [WIN32KNT_APITEST] Follow-up of Follow-up of #4594 (54b3b73)
CORE-11700
2022-08-02 13:25:35 +09:00
Katayama Hirofumi MZ
8043706bf0 [WIN32KNT_APITEST] Follow-up of #4594 (54b3b73)
CORE-11700
2022-08-02 12:07:09 +09:00
Katayama Hirofumi MZ
54b3b73c08 [WIN32KNT_APITEST] Add NtUserGetKeyboardLayoutName testcase (#4594)
The type of the 1st argument of NtUserGetKeyboardLayoutName is doubtful.
CORE-11700
2022-08-02 10:47:49 +09:00
Katayama Hirofumi MZ
b9ecf4b055 [NTUSER] Release WinSta->spklList at IntWinStaObjectDelete (#4593)
Call UserAssignmentUnlock((PVOID*)&WinSta->spklList); in IntWinStaObjectDelete function.
CORE-11700
2022-08-02 10:46:37 +09:00
Katayama Hirofumi MZ
6c1b65d7a4 [NTUSER] Improve WINSTATION_OBJECT compatibility (#4591)
- Modify WINSTATION_OBJECT structure with inserting struct tagKL *spklList member.
- Add some C_ASSERT(offsetof(WINSTATION_OBJECT, ...) == ...);.
CORE-18252
2022-07-31 10:25:07 +09:00
Eric Kohl
23ecbb3ed5 [SECLOGON][ADVAPI] CreateProcessWithLogonW: Return process information to the caller 2022-07-24 01:08:13 +02:00
Katayama Hirofumi MZ
bfe959e62c [IMM32] Follow-up of #4588 (ffbdb7d)
CORE-11700
2022-07-23 12:42:54 +09:00
Katayama Hirofumi MZ
ffbdb7d39e [IMM32][USER32] ImmPutImeMenuItemsIntoMappedFile (#4588)
Implement inter-process menu item retrieving.
CORE-11700
2022-07-23 05:58:17 +09:00
Timo Kreuzer
fe777bb52f [NTOS:KDBG] Nuke KdbEnter and KdbpCliModuleLoaded
They are not used anymore. Also clean up some obsolete prototypes.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
6778fa157f [SETUP] Don't default to MP builds, when KDBG is enabled
The reason is that KDBG and the MP kernel don't like each other much and crash hard, causing VBox to shut down.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
31a5fa61bb [NTOS:KDBG] Add KdbpPrintUnicodeString
Calling normal unicode functions is not allowed at IRQL > APC_LEVEL, so calling _vsnprintf with unicode parameters from KDBG is invalid.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
253362509e [KDBG] Fix x64 KDBG 2022-07-20 23:57:42 +02:00
Timo Kreuzer
04fe666590 [NDK] Add missing x64 unwind definitions 2022-07-20 23:57:42 +02:00
Timo Kreuzer
2881b77302 [CMLIB] Don't redefine PAGED_CODE() to nothing in cmlib.h except for cmlib_host
This header is included by ntoskrnl which effectively disabled all PAGED_CODE checks since 2015. Thanks Alex.
Instead define _BLDR_ when building cmlib, which will avoid trying to import KeGetCurrentIrql()
2022-07-20 20:36:22 +02:00
Katayama Hirofumi MZ
8d520f3c27 [MAIN] Improve mouse UI icons (#4583)
- Replace IDI_MOUSE_SPEED icon.
- Add and use IDI_MOUSE_HIDE icon for "Hide pointer while typing".
CORE-10728
2022-07-19 20:50:54 +09:00
Katayama Hirofumi MZ
9fc9180a1c [SYSDM] Don't use magic number (ja-JP) 2022-07-19 13:05:07 +09:00
Katayama Hirofumi MZ
255f43086d [EXPLORER] Fix assertion failure on start button (#4581)
CORE-18024
2022-07-18 22:20:25 +09:00
Katayama Hirofumi MZ
5f80670040 [CONSOLE] Improve Japanese translation (ja-JP) 2022-07-18 21:46:15 +09:00
Katayama Hirofumi MZ
a7f06eb480 [APPWIZ] Improve Japanese translation (ja-JP) 2022-07-18 21:44:25 +09:00
Katayama Hirofumi MZ
01643b8d9e [INTL] Improve Japanese translation (ja-JP) 2022-07-18 21:39:29 +09:00
Katayama Hirofumi MZ
971e33b734 [SYSDM] Improve Japanese translation (ja-JP) 2022-07-18 21:01:05 +09:00
Timo Kreuzer
bc9409daba [CRT] Add round and roundf and add it to msvcrtex to make clang v14 happy 2022-07-17 17:32:32 +02:00
Victor Perevertkin
83faa2da5e [GITHUB] Fix LLVM version for the clang-cl build (#4578) 2022-07-16 16:10:56 +03:00
Timo Kreuzer
45f75d5d32 [NTOS:KE/x64] Handle user faults in KiGeneralProtectionFaultHandler 2022-07-14 18:35:28 +02:00
Timo Kreuzer
f659ac5201 [NTDLL_APITEST] Add test for some user mode exceptions 2022-07-14 18:35:28 +02:00
George Bișoc
54a00aa8eb [CMLIB][NTOS:CM] Deduplicate other common definitions between CMLIB and the NTOS CM
Addendum to commit 8c2454e (r70605). Credits and courtesy go to Hermès BÉLUSCA - MAÏTO.

CORE-10802 CORE-10793
2022-07-10 14:35:53 +02:00
Tuur Martens
10126e7710 [NTOS:MM] Fix VADs being inserted even though the quota would exceed
Since we were charging the pool quota after the VAD insertion,
if the quota charge failed, the VAD would still have been inserted.
This commit attempts to resolve this issue by charging quota
before inserting the VAD thus allowing the quota charge to fail early.

Addendum to 884356a0. CORE-18028
2022-07-06 18:48:32 +02:00
Timo Kreuzer
f606b36cff [NTOSKRNL] Fix a bug in MiDeleteVirtualAddresses
When a PDE gets empty, we skip the address to the next PDE boundary, which might introduce an AddressGap, which wasn't handled before.
2022-07-05 19:29:05 +02:00
Eric Kohl
57c84dd658 [DISKPART] Fix magic values in CreateLogicalPartition() and CreatePrimaryPartition() 2022-07-03 14:10:02 +02:00
Serge Gautherie
b671b1cf8f [WIN32K:ENG] EngAlphaBlend(): Release EnterLeaveSource on error (#4560)
Part of CORE-11156

Co-authored-by: Carlo Bramini <carlo.bramix@libero.it>
2022-07-02 12:30:03 +03:00
Thamatip Chitpong
8a3db976a2 [EXPLORER] Fix taskbar icon display problem (#4538)
- Use SMTO_NOTIMEOUTIFNOTHUNG to get the icon with least timeout.
- Replace GCL_* consts with GCLP_* since we're using GetClassLongPtr.

Now the icon is correctly displayed for control panel applets.

CORE-18137
2022-06-30 16:10:47 +03:00
George Bișoc
4471ee4dfa [NTOS:SE] Properly handle dynamic counters in token
On current master, ReactOS faces these problems:

- ObCreateObject charges both paged and non paged pool a size of TOKEN structure, not the actual dynamic contents of WHAT IS inside a token. For paged pool charge the size is that of the dynamic area (primary group + default DACL if any). This is basically what DynamicCharged is for.
For the non paged pool charge, the actual charge is that of TOKEN structure upon creation. On duplication and filtering however, the paged pool charge size is that of the inherited dynamic charged space from an existing token whereas the non paged pool size is that of the calculated token body
length for the new duplicated/filtered token. On current master, we're literally cheating the kernel by charging the wrong amount of quota not taking into account the dynamic contents which they come from UM.

- Both DynamicCharged and DynamicAvailable are not fully handled (DynamicAvailable is pretty much poorly handled with some cases still to be taking into account). DynamicCharged is barely handled, like at all.

- As a result of these two points above, NtSetInformationToken doesn't check when the caller wants to set up a new default token DACL or primary group if the newly DACL or the said group exceeds the dynamic charged boundary. So what happens is that I'm going to act like a smug bastard fat politician and whack
the primary group and DACL of an token however I want to, because why in the hell not? In reality no, the kernel has to punish whoever attempts to do that, although we currently don't.

- The dynamic area (aka DynamicPart) only picks up the default DACL but not the primary group as well. Generally the dynamic part is composed of primary group and default DACL, if provided.

In addition to that, we aren't returning the dynamic charged and available area in token statistics. SepComputeAvailableDynamicSpace helper is here to accommodate that. Apparently Windows is calculating the dynamic available area rather than just querying the DynamicAvailable field directly from the token.
My theory regarding this is like the following: on Windows both TokenDefaultDacl and TokenPrimaryGroup classes are barely used by the system components during startup (LSASS provides both a DACL and primary group when calling NtCreateToken anyway). In fact DynamicAvailable is 0 during token creation, duplication and filtering when inspecting a token with WinDBG. So
if an application wants to query token statistics that application will face a dynamic available space of 0.
2022-06-29 10:06:37 +02:00
Stanislav Motylkov
846c9aa1fd [TRACERT] Fix displaying hop address on last ping timeout
- Update source file header per coding rules
- Store intermediate responses to display the hop address
- Add separate function to get response stats from buffer
- Add Cleanup label to free resources in a single place
- Move local variables around to allow Cleanup goto

CORE-18232
2022-06-28 23:42:09 +03:00
Stanislav Motylkov
35a816a24e [FREELDR][SDK] Sync copyright years with our banner and boot logo
Addendum to 831e2dea. CORE-18191
2022-06-27 21:42:01 +03:00
Stanislav Motylkov
831e2dea3d [FREELDR][SDK] Use "ReactOS Project" for consistency
CORE-18191
2022-06-27 21:38:14 +03:00
Stanislav Motylkov
bbccad0ed6 [INF] Set manufacturer as ReactOS Project for consistency
Also make it non-localizable. CORE-18191
2022-06-27 17:00:18 +03:00
Gary Sims
6881d8c624 [REACTOS] Remove references to ReactOS Foundation (#4557)
See https://reactos.org/wiki/ReactOS_Foundation for more information.

CORE-18191
2022-06-27 16:00:20 +03:00
Stanislav Motylkov
e1c89ce397 [PROCESSR] Fix INF file formatting only 2022-06-27 15:40:50 +03:00
Stanislav Motylkov
c24e09401b [CDMAKE] Remove module
We've been using mkisofs for 5 years now and are not looking back.
- Colin Finck
2022-06-27 15:14:03 +03:00
Timo Kreuzer
ba0d16f3b3 [CRT] Add missing OP_* constants in fpieee.h 2022-06-26 23:08:14 +02:00
Timo Kreuzer
b7c6170a5f [CRT] Add emmintrin.h
Implementations are taken from clang.
2022-06-26 19:59:41 +02:00
George Bișoc
5da5e644bb [NTOS:OB] Include the security descriptor charge when charging the paged pool quota of an object
On ObpChargeQuotaForObject function, the kernel will either charge the default object type charges or the specified information charges obtained from ObCreateObject API call. What happens is that if a paged pool charge is specified on ObCreateObject call the kernel will charge that
but when an object is about to be de-allocated, the amount of quota to return back to the system is the amounting of the paged pool charge specified previously by the ObCreateObject call plus the amounting of the security descriptor charge (see oblife.c / line 98).

This will result in a fatal crash with a bugcheck of QUOTA_UNDERFLOW because we are returning quota with bits of it that was never charged and that's SecurityDescriptorCharge. A QUOTA_UNDERFLOW bugcheck occurs in two following scenarios:

-- When installing Virtualbox Guest Additions and prompting the installer to reboot the system for you
-- When logging off and on back to the system and then you restart the system normally

This bug has been discovered whilst working on #4555 PR.
2022-06-26 19:47:02 +02:00
Timo Kreuzer
b85afdfd25 [CRT] Implement portable + amd64 asm version of fabs/fabsf
Note: older versions of ML64 are broken and don't understand the register form of movq.
See https://stackoverflow.com/questions/24789339/move-quadword-between-xmm-and-general-purpose-register-in-ml64
2022-06-26 19:13:47 +02:00
Timo Kreuzer
8a67170616 [CRT_APITEST] Implement tests for fabs/fabsf 2022-06-26 19:13:47 +02:00
Timo Kreuzer
96b847fd04 [NTDLL_APITEST] Fix RtlGetNtProductType test 2022-06-26 16:09:52 +02:00
Timo Kreuzer
47842d7847 [NTDLL_APITEST] Check whether changing the product type in the registry has an effect on RtlGetNtProductType 2022-06-25 22:57:18 +02:00
Timo Kreuzer
8521f6d7b5 [RTL] Implement dynamic function tables for x64 2022-06-25 21:45:47 +02:00
Serge Gautherie
ef1311b7a4 [IP] AddrCountPrefixBits(): Fix loop condition (#4556)
Properly handle BitTest reaching 0.

CORE-18225
2022-06-25 17:14:03 +02:00
Eric Kohl
d4a398fb13 [DISKPART] Support quoted command options in script files 2022-06-25 15:20:40 +02:00
Thamatip Chitpong
3a72a52ce8 [HHCTRL.OCX] Don't break WineSync. Addendum to 65d7fb1. (#4554)
Also minor code formatting for HH_LoadString.
2022-06-21 15:48:54 +03:00
Stanislav Motylkov
994e2f289e [DESK] Pass the list of all display modes to extensions
Also implement mode switching from adapter advanced settings.
2022-06-20 14:38:03 +03:00
Stanislav Motylkov
fced1c1192 [DESKADP][DESKMON] Notify property sheet that DWLP_MSGRESULT is set
When FALSE is returned, Apply button ignores validation result
and becomes disabled after clicking as if settings were applied.
Fix it by setting the return value to TRUE.

See https://docs.microsoft.com/en-us/windows/win32/controls/psn-apply
2022-06-20 02:14:02 +03:00
Jose Carlos Jesus
568383c9b9 [REGEDIT] Fix issue at Find registry key (#4341)
- If we dont select a item as a starting point to search from, we need to set
  pszValueName to the first value name in current subkey.

- Check pszSubKey length before calling RegFindRecurse.

- Set focus to subkey when we search for it.
2022-06-19 21:57:30 +02:00
Thamatip Chitpong
65d7fb1a82 [HHCTRL.OCX] Add help viewer window icon and default title (#4541) 2022-06-19 21:22:28 +02:00
Thamatip Chitpong
a50d309c48 [TASKMGR] Process page: Fix DevicePathToDosPath (#4537)
- Fix DevicePathToDosPath, don't use the same in-out buffer.
- Also simplify functions related to 59dcec1

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-06-19 20:52:06 +02:00
George Bișoc
0c569e1ff3 [NTDLL_APITEST] NtQueryInformationToken: write tests for TokenGroupsAndPrivileges 2022-06-19 17:22:04 +02:00
George Bișoc
9d2de519b2 [NTOS:SE] NtQueryInformationToken: implement TokenGroupsAndPrivileges
TokenGroupsAndPrivileges is the younger sister of two TokenGroups and TokenPrivileges classes. In its purpose there's no huge substantial differences apart that this class comes with its own structure, TOKEN_GROUPS_AND_PRIVILEGES, and that this structure comes with extra information.
2022-06-19 17:22:04 +02:00
Eric Kohl
f79ec61bdc [DISKPART] Print proper file system information for the FILESYSTEMS command 2022-06-19 16:12:10 +02:00
Doug Lyons
b6d1d1fd7d Modified WINESYNC.txt to show individual tests for msxml3 and update for schema 2022-06-19 15:48:42 +02:00
Doug Lyons
967db49174 Fix winetests/msxml3/schema.c crashes and sync to Wine-6.14 2022-06-19 15:48:42 +02:00
Thomas Csovcsity
1a6f523e01 [WINESYNC]: reg is now in sync with wine-staging wine-6.23
Used winesync.py script, commits which needed obious adjustments have explicit
note in commit message, that it is manually adjusted. Internationalization is
skipped while automated sync and done in last manual step.

Additonal manual adjustments to compile in ros are in this commit:
- wcsupr -> _wcsupr
- only 3 arguments for swprintf, instead of 4 in wine
- disable tests for "/reg:32" and "/reg:64", because they fail on w2k3

Manually addjusted base/applications/cmdutils/reg/lang/zh-CN.rc while rebase to
actuall master (4a66cbb224) on 19.06.2022
2022-06-19 14:13:00 +02:00
winesync
958d4a884a [WINESYNC] reg: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 942f9f71575d4a53ae032360e03f1297be1319f7 by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:39 +02:00
winesync
29992c17f1 [WINESYNC] reg: Support use of registry views in the 'copy' operation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50962
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 04d52eb83fa5c37cfe1100f435e36c2f78918338 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
be726bd769 [WINESYNC] reg/tests: Test use of registry views when copying registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d92f26ed1264ec80f97c0a45a59b986f0b9cae38 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
35b9e2d380 [WINESYNC] reg: Support use of registry views when exporting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fcf79426147adf0d9f1d80b0cf24d0b6abd8bf59 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
bac2e89b05 [WINESYNC] reg/tests: Use correct file and line arguments with delete_file().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b5ba1d0be04f7c6bc0e53e9a28984cf2941b4bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
54f7d655e4 [WINESYNC] reg/tests: Split 'export' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 959ea6677ea0571c5042a5ec5bec33fb5a5f1dc6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
73ac2fc096 [WINESYNC] reg/tests: Test use of registry views when exporting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fee692178cebd33220027ad6038f6acd8185b77f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
4e25c2d09b [WINESYNC] reg/tests: Add registry view syntax tests for the 'import' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49cde0995827b24aa9c1ef1b6a0372797f4166e0 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
9f70f13ee7 [WINESYNC] reg: Support use of registry views in the 'import' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c71a9879d894e4b82de2909c9c44e36c0bbb35e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
bed77337e8 [WINESYNC] reg/tests: Test use of registry views when importing keys and values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f2ce614d85091500c071f9b7234f17d5d6418727 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
7beb1390e2 [WINESYNC] reg/tests: Split 'import' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3d14e66f71193faeb532c28b5b5565d5ea9b12f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
c69933739b [WINESYNC] reg: Support use of registry views in the 'query' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8eef4a873513cca9ffea61fb225fa8a9c8ac784d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
5caeeb0399 [WINESYNC] reg/tests: Check all error codes in delete_tree() before returning.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48c73868720606ab62ae089ee3b9c978736bd530 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
2592a360a0 [WINESYNC] reg/tests: Test use of registry views when querying registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45955658e18b65d3af701885e2cfa58bd0c95ceb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
df1bb03b05 [WINESYNC] reg/tests: Don't verify key deletion after calling delete_tree().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3186a0046336e82a2e8133f8a5958e6250c6fe61 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
2d9dfc03d8 [WINESYNC] reg/tests: Verify key opening and key deletion in delete_tree().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5115e51adb103f023600269ddc1833386fcc1e79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
4e13fbcfcc [WINESYNC] reg/tests: Test use of registry views with the 'query' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76b30097525f755f572d835b0187d9496941d985 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
e89696846f [WINESYNC] reg/tests: Split 'query' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a899d743c585fe8004c41f12cf0a080ebe622fd1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
129ed8f5fb [WINESYNC] reg: Support use of registry views when deleting registry keys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 31f070f7d3e312942d72e774a4a7dbd21b655a31 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
fde082ff99 [WINESYNC] reg: Support use of registry views when deleting registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d42cb9c1ca72e02b8961d6703aaa2e3ddfda5e2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
db92c856fd [WINESYNC] reg/tests: Test deletion of keys and values using registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 556121b1cafc2182edaeb7354caf46375205bef7 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
92e39357b8 [WINESYNC] reg/tests: Remove duplicate test from test_registry_view_wow64().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8ad9c21b056d9f3119c363e0f7e56198985d5b08 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
44c2f0d9d6 [WINESYNC] reg/tests: Modify delete_tree() to support the use of registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d790c593490bfb363cf34ab2d00dddbaf04ddd15 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
aabda6f608 [WINESYNC] reg/tests: Move 'delete' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7c9f372480511cba8abd90ed04480911d96036de by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
ad80ceabc3 [WINESYNC] reg: Support the use of registry views during the 'add' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 304b80a9b5a6ed128dd8a89e22f05b99142310cd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
334c2e278c [WINESYNC] reg/tests: Test key and value creation in 32-bit and 64-bit registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 24d0d6f524d6c51cc5d8c909bf6cd942d6ae443d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
77b2d21e9d [WINESYNC] reg/tests: Modify add_key() to support key creation in registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d60749c218ae76645006e6273fc2f6a5ea87a58 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
64c8452688 [WINESYNC] reg/tests: Update delete_value() declaration to deconstify 'const HKEY'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ff0445a5de192b2984bb558ac54e7f4d54e96129 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
df92c0464b [WINESYNC] reg/tests: Modify verify_key_nonexist() to support registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9780dfc01a460264b6088fe23eada214c21441bd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
cd3b6fe7a9 [WINESYNC] reg/tests: Modify verify_key() to support opening of registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdceb5ed7e5ce058cf9a64564e116f1bbe42d5ea by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
ea4fae5116 [WINESYNC] reg/tests: Update reg_open() and reg_open_() definitions.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0eb85504b4b9bdeef8a402d39024e20ad99789a0 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
0ea0084c73 [WINESYNC] reg/tests: Modify delete_key() to support use of RegDeleteKeyEx().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f06869199571466c989b0e75a8edfb55ad6e541a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
9ad9ae45ac [WINESYNC] reg/tests: Test how values are overwritten when copying.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8104629672db54fcc13f05f980149d2cc4170e24 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
7d85b1aef4 [WINESYNC] reg: Prompt the user to confirm whether they want to overwrite existing values when copying a key.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48000
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aeeda123b1185e6d6f6c975354fe567c4573502e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
07427368d3 [WINESYNC] reg/tests: Test whether the 'copy' command copies user-defined key classes.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 664f8b638d421540e73b4e046a9aa5e66f8cc4ff by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
20aa38c6e7 [WINESYNC] reg: Fail if the source and destination keys are the same when copying.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0abc002a3e232be3445241e435ef17ac89d6c947 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync
ded0675d66 [WINESYNC] reg: Support recursion in the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d9a228e99e1252a0d82c88e6a64635548c478a6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
da2d23fb94 [WINESYNC] reg: Partially implement the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b1ccb87d9debb1a07e35263a76b6e34a7dd6ee49 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
34aed2639a [WINESYNC] reg: Group resource IDs by source location.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8f997a8b9b75320449711d3b05241b5f1f580ac3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
2964cf3b37 [WINESYNC] reg: Remove two unused string resources.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4f3d51fdde4b762d2317ce7b2aa140ac030989b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
67493a4006 [WINESYNC] reg: Fail if one or more arguments follow a help switch.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c466296a7629487930d4d6e4fa7d7ae66a7bf61 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync
181292dc07 [WINESYNC] reg: Add initial support for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ac32dd8abcdd93f5428ba93c8aff7f0bb5a7c2f2 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync
f6fb1eb081 [WINESYNC] reg: Fix a typo in a function definition.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 537cd26f7cf799bf51875d1bc4970ec79a1184a3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
552256c17b [WINESYNC] reg/tests: Add key and value order tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ca57a86074e6109fcc2254e3d58ff225f4335236 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
927db6bec5 [WINESYNC] reg/tests: Add more data tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id baf0254bbb617c3b21c5b068e645615418a5be19 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
6ae4684dca [WINESYNC] reg/tests: Add complex data and hex type tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3115276367e61f98436f8ba2feee9da491f7d69f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
105971e68e [WINESYNC] reg/tests: Add missing return code checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48cd2588be54f7ab659ae3733456c826101f4c27 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
d40c4ec10d [WINESYNC] reg/tests: Add data tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bb609c6acbf53b822825e3077fe0996a85d5026d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
f27a0866a4 [WINESYNC] reg/tests: Add further syntax tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c0619c092962d1c14725ac6cdc84b8e80ecb09bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
f9a0d83961 [WINESYNC] reg: Update an error message.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa4268dcbcfe0b1bcbe3adafb7e3dd542eb6d928 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:35 +02:00
winesync
e7137d6832 [WINESYNC] reg: Update the STRING_VALUEALL_FAILED resource string.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bee1882c009d399d4e9082bcf75a4ea9b51bfe0 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:35 +02:00
winesync
6fa073aacd [WINESYNC] reg: Fail if access is denied when deleting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab64b0e33972b31b648ee92922b1df78cb6b5a70 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
64312c4fd4 [WINESYNC] reg: Prevent buffer over-read when querying REG_NONE values with no data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60c8dfdd0bbaff4a2369f884ec1a553a06735676 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
4f9404e600 [WINESYNC] reg: Avoid allocating zero bytes of memory when handling REG_BINARY data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1dd785d1490f64c33e89003453f7c82292d185d5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
d8277eee6f [WINESYNC] reg: Allow the 'reg_data' pointer to be NULL.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e2dfb0aff42153f2c1a25e8c9b37ad10409aca36 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
a5469189ad [WINESYNC] reg: Only prompt the user to overwrite registry data if the given key already exists and [/f] is not supplied.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf1e6d3f3fcb726062b957a973bb0a78b7e00eab by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
61d4db3fde [WINESYNC] reg: Fail if access is denied when adding registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d433d1f122a85b7902b48bae1930eef503a239a5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
39593a1e16 [WINESYNC] reg: Add or modify the (Default) registry value if [/v] is not specified.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0dc4d7ce37fa8cc515cd4c908245d12fc07cfae by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
1bfb496303 [WINESYNC] reg: Replace the 'reg_count' variable name with context-specific names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c73949a46c2dda10b544cef44c0f6c3623cc74e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
5132711167 [WINESYNC] reg/tests: Update error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08786274e25461dc1af3684f0e46c896201b28cb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
44774b38b2 [WINESYNC] reg/tests: Add two REG_DWORD tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 357601a01b894ecdd0e26f5493914192d7ccae6f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
a260cccef6 [WINESYNC] reg/tests: Fix a typo in a REG_DWORD test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a8e961ecacb845b3fc613401431ae9ca37bf9d4b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
fe627c0e6a [WINESYNC] reg/tests: Split the REG_DWORD_BIG_ENDIAN tests from the REG_DWORD tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 94b582b1a68cd07676618144537465bdf21d1847 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
6802956e33 [WINESYNC] reg/tests: Use string literals instead of a char buffer for REG_MULTI_SZ tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1110421da93ebd6cc2648008fed874a49b8bbf28 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
5e7302ebfd [WINESYNC] reg/tests: Add and amend tests adding a (Default) value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1aae492dcbb2a0a7725a9cff40edd6a355f7fc79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
123e459be5 [WINESYNC] reg: Use correct error message if RegCreateKeyExW() fails.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dedcd7c100461cf8be46387ebd65b60488c13ecf by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:34 +02:00
winesync
40d62f3c5b [WINESYNC] reg/tests: Verify that only the (Default) value is overwritten when neither /v nor /ve is specified.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8203c5db0248d38f06af55411ac4f4c89976fad2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
1aea6bdfcf [WINESYNC] reg/tests: Rework syntax tests for the 'copy' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1ce21dbb5f2eed468c3748a2de1f25744e10e04c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
d9ac771683 [WINESYNC] reg: Don't enumerate a registry key for subkeys if we know the key does not have subkeys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33cfc644a055a9bc88253ae8d8c824ad603e7a02 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
3dbd42081e [WINESYNC] reg: Print a new line when recursing and the current key has no registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35ccb87a767394ea3054c8890ad7b245e431290d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
14b77379a7 [WINESYNC] reg: Only print the name of the registry key if it contains values or we are recursing.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ec0a799ea8884479d7b56b81fb9fdd106f1a751b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
a3bf868efb [WINESYNC] reg: Do not print a line break after querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f32816268ed5715c5bce20daf9bb20aa194a7127 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
f0c76942b7 [WINESYNC] reg: Consistently use 'hkey' for HKEY variables.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c809f9462455ffb0e03a9ae4057f0cd47c85ee5d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
a0060cdcee [WINESYNC] reg: Print the full key path without a trailing backslash.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e685718c3b701b67e1920a8e4f2ddce31d3ca800 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:33 +02:00
winesync
f42b63fd64 [WINESYNC] reg: Fail if a system key has a trailing backslash but no subkey path.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 797520db8f7eb708845891da6f08d3030393d6bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
f55096783d [WINESYNC] reg: Drop key output from the "Invalid system key" error message.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6d2ab37a44c6d0bd58504cbc3ff20d2828afc841 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:33 +02:00
winesync
4771673c8f [WINESYNC] reg/tests: Add tests for querying a key only containing subkeys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8b0602023add5c530e4f257ebf07ebae8e4ffdba by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
d552b44ff8 [WINESYNC] reg/tests: Use 'hkey' in 'query' tests for consistency with other reg.exe tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c573fce35b80d60b38b720a82fee53941c7490ea by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
2535ff3f1b [WINESYNC] reg/tests: Only try querying an invalid key once.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9752dfeea82c48e2230bacbf9db9564d5562de02 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
00ef8711f9 [WINESYNC] reg/tests: Test key creation and initialization of the Default registry value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e9412a8ae020fe614d96d20f20355d53593048cc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
ba10b11f88 [WINESYNC] reg/tests: Only pass a newly created HKEY if it is used in later tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 559086af62254a1f82c25f4fd4c145d93c60b973 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
3969dcc3de [WINESYNC] reg/tests: Refactor 'add' tests into registry types, keys and syntax checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45b66285c38462bb57e8ab8a577f8df2dba15363 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
16cc1ad771 [WINESYNC] reg/tests: Test output of keys with a trailing backslash.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f6566bf7493dea2511238ad59aae873168b16963 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
e77afe91c9 [WINESYNC] reg/tests: Compare output of some 'query' recursion tests.
Recursively querying a registry key for a given value name produces an extra
line specifying the number of matches found.

This line is locale-specific, so we only exclude it from the comparison
on a test-by-test basis.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4b4398d797382f238f6a21da259fed0d0e2a286 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
5132d26c4c [WINESYNC] reg/tests: Compare 'query'test output with expected output.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5983247c3a5a7b5b64498a2cdff0eadf5edc47b5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
a12c844899 [WINESYNC] reg/tests: Give 'query' tests some structure.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bc2af7b1cf2e4e56311dad77acd8f67b3b7a13f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
b12d798037 [WINESYNC] reg/tests: Reorder failing 'query' tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d772fe408970f6a1aad02321f21706408dd92e9 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
b6bc8e1371 [WINESYNC] reg: Allow /reg:32 and /reg:64 switches to be passed via the command line.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44755
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2b900e1c38d9bed0901ea036488e896e6df0cbe9 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:32 +02:00
winesync
9cf114d789 [WINESYNC] reg: Print additional help messages when syntax is invalid.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 010cb1b4057550b2eb6c371db5ba5a8d11ef337e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
a1330dea51 [WINESYNC] reg/tests: Add tests for trailing backslashes after the system key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a47829e13d639831ab9f36ba4592b840259e6f80 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
b6ad4f3d27 [WINESYNC] reg: Remove unneeded ternary operator in RegDeleteValueW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa24d458f5d9663fbefb1eb7406961b1c6ec3def by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
d472925c90 [WINESYNC] reg: Avoid non-portable Unicode character.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 495d9b5fb3ab5bab885f9fe80cd6952cc4bbca6c by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:32 +02:00
winesync
a1c74056d1 [WINESYNC] reg: Only call get_long_key() when operations require it.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 07fdd5036ca40fd4f0475583b6e410192576d804 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
091880d29b [WINESYNC] reg: Abort 'query' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c7d74594f2bd421f6d904f334171a198a13c66e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
fa6d473e3d [WINESYNC] reg: Abort 'delete' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51e83dec2959ce332264223832abc1a5f09dbf34 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
0a5bdf825b [WINESYNC] reg: Abort 'add' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b2ead1ffcc8d28b488b561e8c5a9e3cc964699a3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
6c0f70db4d [WINESYNC] reg: Better indicate when a registry value is not found.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b80da20656feda99f9c6e749f5cd6d6f3c242cd3 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
9a8e4a271a [WINESYNC] reg: Prepend 'reg:' to two message strings.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fbecd56db8889f9d349c2f807348cdddf397eab1 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
235d5af3af [WINESYNC] reg: Add a new message to indicate when a registry key fails to import.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b7a5cfb0e709e4434575daf960f803338bdf6bd by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
e11511da86 [WINESYNC] reg: Add a message to better indicate when a specified registry key is not found.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa2ed01352f8f027625d464915cd953e10766d73 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
9b424b0080 [WINESYNC] reg: Improve initial syntax checks during the 'export' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4df5c1641e7091f42c2313b275d999f2b9d25eff by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
ec55298764 [WINESYNC] reg: Use wide-char string literals in export.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b746c1e1c4da4a07a1293fe9e60429867c86697 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
aae71dcb75 [WINESYNC] reg: Use wide-char string literals in import.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1fadcf240997f77b4bf31f708893051c94e299b2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
5eb878fe9c [WINESYNC] reg: Use wide-char string literals.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c73f95b336ba2ae4b49fa7f652c622ce47038c5 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
b1bb43c991 [WINESYNC] reg: Use RegCreateKeyExW() instead of RegCreateKeyW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aaf503e1de3f476639113b7ab7988c8628529e03 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
cb66fe28ba [WINESYNC] reg: Fail if duplicate command-line switches are passed to 'reg add'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08976b3ee0db827bc5add829de1f148da89a6362 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
65957cc65b [WINESYNC] reg: Parse 'reg add' command-line arguments in add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9138f5893c2eb7cafabdd8ed49b99a633eeda462 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
409d7663c1 [WINESYNC] reg: Parse 'reg delete' command-line arguments in delete.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 434c345e41222ae6eebe734e655a32bfd51871ae by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
89f0bf94a3 [WINESYNC] reg: Update a comment.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cb749592e728119bdd5a30a1080a90cf1a53546a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
6b9db85aaf [WINESYNC] reg: Use RegOpenKeyExW() instead of RegOpenKeyW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eee0c1f8f97d2d77118abb692e277dd440eed693 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
8dc46f32b0 [WINESYNC] reg: Fail if duplicate command-line switches are passed to 'reg query'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c84ec7ee04ab03883907691f115e01a7165b6e9 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
354e15827d [WINESYNC] reg: Parse 'reg query' command-line arguments in query.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8e7738be92888c3aae19ab799d232d3f5112254c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
1b3f59f879 [WINESYNC] reg: Add extended help for supported operations.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e319a463a20b060c059de36058624639e04c12a0 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync
949e2a8ccc [WINESYNC] reg/tests: Test whether a .reg file extension is required when exporting.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cd03238dd0174382c503d7b6771e803d876a2fbf by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
6d2c3a08bb [WINESYNC] reg/tests: Test whether overwriting a registry key modifies existing keys and values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 89251073c7b7a919ca7c3450d53744921ac2979c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
26226dc572 [WINESYNC] reg/tests: Add tests for duplicate command-line switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a87a380a75723e0aa0e257c7efcc3024b56fb49d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
68d5548fd5 [WINESYNC] reg: Use malloc(), realloc() and free() from stdlib.h instead of wine/heap.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be718697a2e1b30944c019218ef635f6737503d5 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync
9b91b79551 [WINESYNC] reg: 'export' sorts before 'import'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42420f4d6c13cc4818e10c9b0cd9ee64c3715db3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
fb4f651902 [WINESYNC] reg: Use 'argvW' array naming in export.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d37375e47033f92375ec4a431b5c3c2f28dd5829 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync
b4d8b76a2f [WINESYNC] reg: Move 'import' syntax checks to reg_import().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4cbf47054fc7d95bcbab368fa53fc71908472309 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
f16c791548 [WINESYNC] reg: Simplify basic syntax checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8801118e384b7388a0fa5c43b5540bfd7f257ab6 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustments needed
2022-06-19 13:06:30 +02:00
winesync
01c1091e51 [WINESYNC] reg: Merge common header #includes into reg.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7803c53cfe6635a5d3e0d9f58e743235746ec9d2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
fa84e69673 [WINESYNC] reg: Use is_switch() where possible.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab94653e8bb093b88406f7c509c7157ac7033f28 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
bcb87edb6a [WINESYNC] reg: Split 'add' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e7d92d5e97f89a409db0dd091419b4f1bfe7ed4 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
6fc87692b3 [WINESYNC] reg: Split 'delete' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81a3eecc3c2e7ddced2f25cabc6de47101fd4fb1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
761c3c9835 [WINESYNC] reg: Split 'query' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b80de8721690947bcd2e86b658b261f201002039 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustments needed
2022-06-19 13:06:29 +02:00
winesync
1007673889 [WINESYNC] reg: Stop parsing REG_SZ values containing NUL character sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 272d35afc6905dfdf1ffcf0ef2963e3bded1303d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
252e8fd1c7 [WINESYNC] reg/tests: Try exporting registry values with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 53fd4df85f004597161a26d86333755e7cbff0ff by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
60a4a6313b [WINESYNC] reg/tests: Try importing registry files with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1c2b96699973e198e72a01a969af0876387f08e1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
dbff9b0183 [WINESYNC] reg/tests: Try deleting strings containing escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aa98e3f6da78135ecffaa50bb78ad906dfd4570d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
2d45084d7f [WINESYNC] reg/tests: Always specify the expected exit code in error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 73f69d66b342af4c8339c23739ebeb1ff359e78b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
bfe2251b54 [WINESYNC] reg/tests: Update value names in 'add' overwrite test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 37ad10d92ab71e69475bdf69ff3609fae5d701b7 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
1e0e137f14 [WINESYNC] reg/tests: Add some tests for strings containing the characters backslash zero.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c5b7f04eea2d88ce8b2192168d0cb9dba340551f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
8789d86699 [WINESYNC] reg/tests: Group REG_SZ default value tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5c24e2c341f872c8ed45c347b2fb357f9cedd7e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
0790755208 [WINESYNC] reg/tests: Pass __FILE__ from the caller so the correct filename is shown in error logs.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3a738b1562de68bd92c4be6bc948ea31f6a2d79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
0b6ea9f2d7 [WINESYNC] reg/tests: Comprehensively check for elevated privileges before starting Windows 3.1 import tests.
The existing check fails to adequately determine the program's elevation
status on systems where the test key already exists. This can cause all
Windows 3.1 import tests to fail on systems with a standard user account.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17023a8100a62852bbad342e5e7c705cafae9a1f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
2161165dca [WINESYNC] reg/tests: Fix copy/paste typo in reg.exe availability check.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b369af9ac5861f0ec49933ef657a53feeafefc21 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
a09c8c41ee [WINESYNC] reg/tests: Rename reg.c to add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3c2db20f66806074b047b0b3c76aa86ad79e3175 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
295a04df51 [WINESYNC] reg/tests: Split 'copy' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc4cc7086faf087590d22b9b58b6c45386e181c8 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
15a1b9ab16 [WINESYNC] reg/tests: Split 'export' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60701b02981980dbd821b59f46c102b6f80a79cb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
22af0f3d73 [WINESYNC] reg/tests: Split Windows 3.1 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fc5816a61e1f203b5c004d9fd25b43043954f386 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
b3c6571866 [WINESYNC] reg/tests: Split whitespace 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 56d9d0f791046aeab85466e2ebadac63ce457f86 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
c67c2bb20a [WINESYNC] reg/tests: Split first sequence of Unicode 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e33ab5559419655584716669505e7943613d3bb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
6498aac70c [WINESYNC] reg/tests: Split first sequence of 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 58863f53316d2d88654d3a18c9481441dfabcb1a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
7fcb8aca93 [WINESYNC] reg/tests: Split 'query' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81a8938fa31de3d5a7a4c741582b4e5d9a2d1818 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
bcfd09deb7 [WINESYNC] reg/tests: Split 'delete' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d3f9eaeb54cd272cb34f2863c74b47e414c87bee by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
1b41b722d0 [WINESYNC] reg/tests: Add tests for forward and back slashes in key and value names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3fd57fd995c1af3770fd72effcec874529f17b6c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
d4dc3ccab1 [WINESYNC] reg/tests: Add additional tests with embedded NUL characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c62ffeca7f381199bef1969452fcef46b979f0f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
f3c6b93bb6 [WINESYNC] reg/tests: Replace RegCloseKey() with the helper function close_key().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 93fbe09ed098f6356485c6390a533e04f6ff3959 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
3b511b56d7 [WINESYNC] reg/tests: Verify registry export after each empty key test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5cacd496a14b8f83c8e0209bb00bf2ea4ce90e01 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
70f06b31a9 [WINESYNC] reg/tests: Always overwrite export test file during 'export' sequence.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b51b969a011c3efbddbbf29a312e49d0b5877faf by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
5b42e659ce [WINESYNC] reg/tests: Check for key non-existence with verify_key_nonexist().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 597a12420be2bee4e69b9400a075ae4393863573 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
4dbcf50583 [WINESYNC] reg/tests: Move /v* syntax tests to the 'add' and 'delete' test sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e6e227f21de08c7ddfe3e48b3ceb2fef01b6c0a6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
855cf07c70 [WINESYNC] reg/tests: Ensure test key is fully removed before each sequence begins.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 405853adb53695c0fd3f7d38ac733dd6900a48dd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
e163213a0f [WINESYNC] reg/tests: Check for elevated privileges before cleaning up the Windows 3.1 test key and running unit tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id add814af3eb7368961fe5b37a66c616e4bd97e4b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
ee54c25871 [WINESYNC] reg/tests: Add initial syntax tests for 'reg copy'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6cf0e7fe85ba2f9348cec4d4d555c5dac42033de by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
7b9269fc8e [WINESYNC] reg: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f81d15beb690c5e08c5995b90aec8015218bee55 by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:27 +02:00
Eric Kohl
4a66cbb224 [DISKPART] Add help text for the FORMAT command 2022-06-19 08:28:53 +02:00
Eric Kohl
3ca37d6eaf [DISKPART] Support quoted options in commands 2022-06-18 13:27:56 +02:00
Eric Kohl
4a305266e6 [DISKPART] Add help text for the CREATE PARTITION EXTENDED command 2022-06-18 10:15:04 +02:00
Eric Kohl
cba4ffbb5d [DISKPART] Add help text for the CREATE PARTITION LOGICAL command 2022-06-18 01:05:27 +02:00
Eric Kohl
2be7af18fe [DISKPART] Implement the clean command 2022-06-17 01:37:26 +02:00
Eric Kohl
74870c1ae1 [DISKPART] Add help text for the CREATE PARTITION PRIMARY command 2022-06-16 15:20:46 +02:00
Eric Kohl
966d674de1 [DISKPART] Add help text for the REM command 2022-06-16 11:55:39 +02:00
Eric Kohl
82a2c5903e [DISKPART] Add help text for the DETAIL VOLUME command 2022-06-16 10:50:40 +02:00
Eric Kohl
9b10dcba15 [DISKPART] Add help text for the DETAIL PARTITION command 2022-06-16 00:33:10 +02:00
Oleg Dubinskiy
1a41e62073 [CLB] Enable the dll
Required by MS Regedit. It works as well with our clb.dll.
Now we lack only ulib.dll.
CORE-17385
2022-06-14 22:48:06 +02:00
Eric Kohl
66f6c1ab88 [DISKPART] Add help text for the HELP command 2022-06-14 19:43:38 +02:00
Eric Kohl
6f1c7edaa5 [DISKPART] Add help text for the LIST VOLUME command 2022-06-13 21:18:35 +02:00
George Bișoc
8e0da736b7 [NTOS:SE] Fix MSVC build 2022-06-13 20:12:32 +02:00
George Bișoc
93381263a1 [NTOS:SE] Remove redundant ReturnLength NULL check
In NtQueryInformationToken function, remove the useless and redundant NULL check for two primary reasons. First, DefaultQueryInfoBufferCheck already does the necessary probing validation checks and second, ReturnLength must NEVER be NULL!
If the caller does not respect the calling rules of NtQueryInformationToken, the caller is expected to be miserably punished.
2022-06-13 19:28:12 +02:00
George Bișoc
2d1805504e [NTDLL_APITEST] NtQueryInformationToken: write tests for TokenSandBoxInert 2022-06-13 18:17:10 +02:00
George Bișoc
5e1f292062 [NTOS:SE] NtQueryInformationToken: implement token sandbox inert querying 2022-06-13 18:17:10 +02:00
Eric Kohl
124fe7504e [DISKPART] Add help text for the LIST PARTITION command 2022-06-12 23:26:53 +02:00
Eric Kohl
7c90ea83ef [DISKPART] Add help text for the LIST DISK command 2022-06-12 16:15:18 +02:00
George Bișoc
d0d86ab588 [NTOSKRNL] Force a probe against ReturnLength on query & Misc ICIF stuff
NtQueryInformationToken is by far the only system call in NT where ReturnLength simply cannot be optional. On Windows this parameter is always probed and an argument to NULL directly leads to an access violation exception.
This is due to the fact of how tokens work, as its information contents (token user, owner, primary group, et al) are dynamic and can vary throughout over time in memory.

What happens on current ReactOS master however is that ReturnLength is only probed if the parameter is not NULL. On a NULL case scenario the probing checks succeed and NtQueryInformationToken fails later. For this, just get rid of CompleteProbing
parameter and opt in for a bit mask flag based approach, with ICIF_FORCE_RETURN_LENGTH_PROBE being set on DefaultQueryInfoBufferCheck which NtQueryInformationToken calls it to do sanity checks.

In addition to that...

- Document the ICIF probe helpers
- Annotate the ICIF prope helpers with SAL
- With the riddance of CompleteProbing and adoption of flags based approach, add ICIF_PROBE_READ_WRITE and ICIF_PROBE_READ flags alongside with ICIF_FORCE_RETURN_LENGTH_PROBE
2022-06-12 11:05:05 +02:00
Eric Kohl
ad9b930354 [DISKPART] Add help text for the SELECT VOLUME command 2022-06-12 09:32:40 +02:00
Eric Kohl
7bea98592f [DISKPART] Add help text for the SELECT PARTITION command 2022-06-11 22:34:07 +02:00
Eric Kohl
7dec75ff67 [DISKPART] Implement the SETID command 2022-06-11 14:31:55 +02:00
Eric Kohl
f06066dc6e [DISKPART] Add help text for the SELECT DISK command 2022-06-11 13:13:27 +02:00
Timo Kreuzer
318d696f0e [CRT] Implement xmmintrin.h
This includes inline functions for GCC/Clang.
Note: the previous GCC definition of __m128 was broken and didn't work.
2022-06-10 23:21:41 +02:00
Timo Kreuzer
9c8a2bbc81 [CRT] Implement mmintrin.h
This includes inline functions for GCC/Clang.
2022-06-10 23:21:41 +02:00
Timo Kreuzer
c34c5e29f0 [CRT] Move __INTRIN_INLINE to mingw32.h to be available everywhere
Also use __attribute__((artificial)) for clang, too.
2022-06-10 23:21:41 +02:00
Eric Kohl
84512b7abd [DISKPART] Add help text for the SETID command 2022-06-10 22:02:07 +02:00
George Bișoc
bac1bce605 [NTDLL_APITEST] Write tests for NtQueryInformationToken and NtSetInformationToken 2022-06-09 19:20:31 +02:00
Mark Jansen
81e0f74a7a [WIN32K] Conditionally enable IMM32
MFC42 applications only expect an IME window when on a DBCS system,
so they will capture this IME window as their 'main' window on non-DBCS systems.
CORE-18212
2022-06-08 19:19:59 +02:00
Hervé Poussineau
63f042a5cd [SDK:REACTOS] Fix packing of GEN_ADDR structure, used in some ACPI tables 2022-06-08 07:58:27 +02:00
Hervé Poussineau
2915d16543 [WIN32SS:USER] Do not write error message at end of enumeration in UserEnumDisplayDevices() 2022-06-08 07:58:12 +02:00
Hervé Poussineau
cd8305494c [WIN32SS:ENG] Fix handling of Acceleration.Level parameter (was not read anymore) 2022-06-05 14:49:47 +02:00
Eric Kohl
dd2c7ea3ce [DISKPART] Add help text for the UNIQUEID DISK command 2022-06-07 23:08:05 +02:00
Eric Kohl
da0bff2a50 [DISKPART] Implement the UNIQUEID command 2022-06-07 19:42:09 +02:00
Eric Kohl
c8f6440a78 [DISKPART] Implement the ACTIVE and INACTIVE commands 2022-06-06 11:23:11 +02:00
Dmitry Borisov
734cd5e842 [PCI][HALX86] Support PCI debugging devices
Also optimize the PCI bus scanning

CORE-17360
2022-06-06 01:47:21 +03:00
Eric Kohl
216d69c59e [DISKPART] Add help text for the DETAIL DISK command 2022-06-05 22:22:16 +02:00
Eric Kohl
be88af54e7 [DISKPART] Implements part of the FILESYSTEMS command 2022-06-05 18:23:08 +02:00
Eric Kohl
d3d5eae19e [DISKPART] Add the SET command as a SETID alias 2022-06-05 17:36:32 +02:00
Eric Kohl
c70f5033ec [DISKPART] Implement the OVERRIDE option for the DELETE PARTITION command 2022-06-05 10:30:55 +02:00
Eric Kohl
58eb4e5bde [DISKPART] Add success and failure messages for the DELETE PARTITION command 2022-06-05 08:47:46 +02:00
Tuur Martens
d31642c712 [NTOS:MM] Fix memory leak in NtAllocateVirtualMemory
When an allocated VAD's insertion fails, the VAD is not freed. This commit attempts to fix this behaviour.
2022-06-04 22:44:27 +02:00
Mark Jansen
b60408c9f1 [CI] Increase operations-per-run for the stale script 2022-06-04 20:35:01 +02:00
Eric Kohl
6c797bf86a [DISKPART] Report success or failure for CREATE PARTITION commands 2022-06-04 20:27:11 +02:00
Eric Kohl
e636b14d7e [DISKPART] Add help texts for the ACTIVE and INACTIVE commands 2022-06-04 13:36:17 +02:00
Eric Kohl
f3ff7ddd09 [DISKPART] German translation part 1 2022-06-04 11:44:57 +02:00
Hermès Bélusca-Maïto
79dbb73b6f [DISKPART] Fix build...
- Fix the LANGUAGE declaration in de-DE.rc (originally was copy-pasted
  from en-US, and thus caused the build break).

- Include de-DE.rc in alphabetical order in diskpart.rc
2022-06-02 14:03:11 +02:00
Eric Kohl
a3a8fdc84b [DISKPART] Add german translation 2022-06-01 23:25:54 +02:00
Eric Kohl
ca51f00049 [DISKPART] Get rid of PrintMessageString() 2022-06-01 00:46:45 +02:00
Oleg Dubinskiy
31139c253f [WIN32SS][NTDDRAW][NTGDI] Implement some DxEng* callbacks (#3638)
Implement the following DxEng* functions:
- DxEngAltLockSurface
- DxEngDeleteSurface
- DxEngReferenceHdev
- DxEngSelectBitmap
- DxEngSetBitmapOwner
- DxEngUnreferenceHdev

Update their prototypes and call the appropriate win32k functions
inside them, since they are already implemented. Also get rid of
now unused IntGdi(Un)ReferencePdev, whose were called only by dxeng,
and whose are not used anymore. In Windows, DxEng(Un)ReferenceHdev calls
PDEVOBJ_vReferencePDEV and PDEVOBJ_vDeferencePDEV directly (those
correspond to our PDEVOBJ_vReference and PDEVOBJ_vRelease accordingly).

Required by MS DirectDraw stack (ddraw.dll & dxg.sys). CORE-17561
2022-06-01 00:58:35 +03:00
Mark Jansen
491dae1708 [ROSAPPS] Remove 'theme/dump' reference code 2022-05-31 23:24:16 +03:00
Mark Jansen
9e1199713e [ROSAPPS] Remove 'stats' utility 2022-05-31 23:24:01 +03:00
Jose Carlos Jesus
d432436fed [TRANSLATION] Improve Portuguese (pt-PT) translation (#4522)
- [REGEDIT] [INTL] [DEVMGR] Improve pt-PT translation
- [W32TIME] Add pt-PT translation
- [BOOTDATA] Add pt-PT to hivesys.inf
2022-05-31 02:04:41 +03:00
Stanislav Motylkov
26b88af642 [WIN32SS] Add missing code parts for monitor handling
- [VIDEOPRT] Add stub for IOCTL_VIDEO_ENUM_MONITOR_PDO.

- [WIN32SS:ENG] Add missing checks and comments.

- [WIN32SS:NTUSER] Add missing monitor handling and comments.

Addendum to 31827c43. CORE-18197 CORE-11715
2022-05-30 15:28:44 +03:00
Stanislav Motylkov
31827c43b6 [WIN32SS] EnumDisplayDevices: Fill DeviceID field properly
- [VIDEOPRT] Return the real PhysicalDeviceObject in Win32k callbacks.

- [WIN32SS:ENG] Pass PhysDeviceObject into the GraphicsDevice structure
  and rename the destination field accordingly.

- [WIN32SS:NTUSER] Request hardware identifiers from device PDO and
  fill DISPLAY_DEVICE's DeviceID field with the first identifier.

Now it's correctly passed to the usermode, and Desktop Propertes applet
can open the video adapter device properties.

Thanks to Hervé Poussineau for the help.

CORE-18197 CORE-11715
2022-05-30 15:28:21 +03:00
Hermès Bélusca-Maïto
ee613a18eb [DISKPART] Fix build. Simplify PrintMessageString(). 2022-05-30 02:41:31 +02:00
Eric Kohl
c287c08b27 [DISKPART] Convert command help to messages and fix some texts 2022-05-30 01:09:08 +02:00
Stanislav Motylkov
488643583d [USETUP] Fix several typos in Russian (ru-RU) translation
CORE-18203
2022-05-29 23:46:19 +03:00
George Bișoc
9a2c62b544 [NTOS:SE] Reorganize the security manager component
The current state of Security manager's code is kind of a mess. Mainly, there's code scattered around places where they shouldn't belong and token implementation (token.c) is already of a bloat in itself as it is. The file has over 6k lines and it's subject to grow exponentially with improvements, features, whatever that is.

With that being said, the token implementation code in the kernel will be split accordingly and rest of the code moved to appropriate places. The new layout will look as follows (excluding the already existing files):

- client.c (Client security implementation code)
- objtype.c (Object type list implementation code -- more code related to object types will be put here when I'm going to implement object type access checks in the future)
- subject.c (Subject security context support)

The token implementation in the kernel will be split in 4 distinct files as shown:

- token.c (Base token support routines)
- tokenlif.c (Life management of a token object -- that is Duplication, Creation and Filtering)
- tokencls.c (Token Query/Set Information Classes support)
- tokenadj.c (Token privileges/groups adjusting support)

In addition to that, tidy up the internal header and reorganize it as well.
2022-05-29 20:22:19 +02:00
Mark Jansen
96eacfc352 [GITHUB] Add workflow to close stale PR's 2022-05-29 20:10:31 +02:00
Eric Kohl
54efd75889 [DISKPART] Improve DETAIL commands 2022-05-29 17:32:34 +02:00
Tuur Martens
cc99b9d96e [NTOS:MM] Fix MiInsertSharedUserPageVad preventing boot on x64
Fix MiInsertSharedUserPageVad to not charge the system process pool quota.
Even though PsChargeProcessNonPagedPoolQuota itself checks if the process specified is the system process, this doesn't work here as we're too early into boot for the kernel to know what the system process is.
2022-05-29 13:28:27 +02:00
Eric Kohl
96d137a559 [DISKPART] Silence a debug message 2022-05-29 13:07:53 +02:00
Eric Kohl
5a1c00c117 [DISKPART] Improve the LIST VOLUME command 2022-05-29 12:41:42 +02:00
Eric Kohl
863400813a [DISKPART] Implement CREATE PARTITION LOGICAL 2022-05-29 10:05:51 +02:00
Eric Kohl
52bbf6078e [DISKPART] Implement CREATE PARTITION EXTENDED and warn about unimplemented options 2022-05-28 13:17:45 +02:00
Eric Kohl
723947eab1 [DISKPART] Implement CREATE PARTITION PRIMARY and DELETE PARTITION 2022-05-28 11:33:29 +02:00
Eric Kohl
166b88f95c [DISKPART] Fix crashes in the interpreter 2022-05-28 09:54:46 +02:00
Stanislav Motylkov
17e0e4428c [PC98VID] Fix video driver settings
- Store settings in non hardware-profile registry key.
- Rename driver file to vgapnp.sys to keep in sync with VBE.
- This makes PC-98 video driver working again.

Addendum to 073a1ea3 and f03750de. CORE-18201 CORE-17977
2022-05-27 18:56:13 +03:00
Stanislav Motylkov
5471363801 [XBOXVMP] Fix video driver settings
- Store settings in non hardware-profile registry key.
- This makes Xbox video driver working again.

Addendum to f03750de. CORE-16216
2022-05-27 18:54:20 +03:00
Victor Perevertkin
a5a6101ca0 [CMAKE] Fix buildbot builders 2022-05-27 01:48:52 +03:00
Victor Perevertkin
447ef2aa4a [CMAKE] Do not use USE_CLANG_CL variable in CMake scripts 2022-05-27 01:37:37 +03:00
Victor Perevertkin
f155b9377f [CMAKE] Elimitate the use of GCC and CLANG variables 2022-05-27 01:37:34 +03:00
Dmitry Borisov
6f4be52a1c [HALX86] Print the correct size of the BAR in HalpDebugPciDumpBus()
Reference: https://wiki.osdev.org/PCI#Address_and_size_of_the_BAR

To determine the amount of address space needed by a PCI device,
you must save the original value of the BAR, write a value
of all 1's to the register, then read it back.

Note: 64-bit BARs are not supported yet.
2022-05-26 16:40:17 +03:00
Mark Jansen
11e0ed3c2b [ASM x64] Fix UNIMPLEMENTED macro for MSVC 2022-05-25 23:16:04 +02:00
Mark Jansen
8ea46b53e3 [KERNEL32] Fix reading SafeDllSearchMode 2022-05-25 22:43:47 +02:00
Stanislav Motylkov
8b55d712a7 [GITHUB] Add MSVC ARM64 builder
This builds only some applications for now.

CORE-17518
2022-05-25 21:10:17 +03:00
Justin Miller
4363e74ddc [REACTOS] Finally get some ARM64 applications building (#4517)
- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform

CORE-17518

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-25 17:06:32 +03:00
William Kent
3464df8c28 [CMAKE] Search the PATH for the compilers and cache the results
We are deliberately using a macro here instead of REQUIRED parameter
because it is available only in CMake 3.18+, so it won't work with
CMake version that is being shipped with RosBE.

On my dev box the RosBE tools are only in the PATH when needed.
Since my IDE inherits the PATH from the system and not from my shell,
I needed to be able to run configure.sh with the tools in my PATH
and then be able to successfully reconfigure when building
from a "regular" command prompt.
2022-05-25 16:34:16 +03:00
William Kent
6c38b251cf [DBGHELP] Fix rsym runtime crash on ARM64 host
CORE-17518
2022-05-25 16:34:16 +03:00
William Kent
21bd607758 [MKISOFS] Add ARM64 processor support
Also changed a "shouldn't-ever-happen" deliberate syntax error into a proper #error.

CORE-17518
2022-05-25 16:34:11 +03:00
George Bișoc
b922b6d7fc [NTOS:KE] Write a basic kernel mode test for FPU Save/Restore mechanism 2022-05-24 18:39:46 +02:00
George Bișoc
064a35dc67 [NTOS:KE] Fully implement FPU Save/Restore mechanism
This commit fully implements the inner logic of KeSaveFloatingPointState and KeRestoreFloatingPointState routines. On ReactOS we're currently simply doing a FNSAVE operation whereas on Windows it is a lot more than that.

On Windows Server 2003 the logic more or less goes like this. In order to save the FPU state the NPX state of the current thread has to be checked first, that is, if NPX is loaded and currently charged for the current thread then the system will acquire the NPX registers actively present. From that point it performs either a FNSAVE or FXSAVE
if FX is actually supported. Otherwise the control word and MXCsr registers are obtained.

FXSAVE/FNSAVE operation is done solely if the FX save area is held up in a pool allocation. Pool allocation occurs if it's been found out that the NPX IRQL of the thread is not the same as the current thread which from where it determines if the interrupt level is APC then allocate some pool memory and hold the save area there, otherwise
the save area in question is grabbed from the current processor control region. If NPX is not loaded for the current thread then the FPU state is obtained from the NPX frame.

In our case we'll be doing something way simpler. Only do a FXSAVE/FNSAVE directly of the FPU state registers, in this way we are simplifying the code and the actual logic of Save/Restore mechanism.
2022-05-24 18:39:45 +02:00
George Bișoc
c020966091 [NTOS:KE] Implement the internal FPU state context structure
This is needed to store FPU state information when saving or restoring the floating point state of a system due to a call to KeSaveFloatingPointState or KeRestoreFloatingPointState.
2022-05-24 18:39:45 +02:00
George Bișoc
d88cd0eefc [NTOS:KE] Move related FPU instrunctions to internal intrinsic file 2022-05-24 18:39:45 +02:00
George Bișoc
657bc083dc [NTOSKRNL] Add FPU pool tags 2022-05-24 18:39:45 +02:00
George Bișoc
66c1bb7eab [MC] Add INVALID_FLOATING_POINT_STATE bugcheck code
This kind of code will be used for FPU Save/Restore related code.
2022-05-24 18:39:30 +02:00
Wilson Simanjuntak
1f2d450599 [TRANSLATION] Improve Indonesian (id-ID) translation [part 1] (#4500)
[CALC] [DRWTSN32] [DXDIAG] Add Indonesian translation
[REACTOS] [USETUP] [EXPLORER] Improve Indonesian translation

Signed-off-by: Wilson Simanjuntak <wilsontulus5@gmail.com>
Reviewed-by: Mas Ahmad Muhammad <m.charly81@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 19:14:41 +03:00
Thamatip Chitpong
1aa95f3897 [EXPLORER] Implement CDesktopThread::Destroy (#4371)
Now Explorer exits properly without using ExitProcess hack.

Signed-off-by: Thamatip Chitpong <tangaming123456@outlook.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 14:58:24 +03:00
Marcus Boillat
4900dd3d87 [RAPPS] Improve localized display of installation date (#4498)
Parse InstallDate registry key in "YYYYMMDD" format. CORE-17422

Signed-off-by: Marcus Boillat <marcus.boillat@gmail.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 12:20:52 +03:00
Victor Perevertkin
505ac6565a [NTOS:PNP] Misc IoInvalidateDeviceState fixes
- Add a check for correct PDO before doing anything
- Process the request only for started devices
- Send the request synchronously during the start sequence

This makes Windows' i8042prt.sys work on ReactOS.
Addendum to cf0bc1c132
2022-05-24 05:04:11 +03:00
Stanislav Motylkov
17154c94c1 [DESKMON] Implement GetMonitorDevInstID function
- Now our deskmon.cpl extension works on Windows XP and 2003
  and does open the monitor device properties correctly.
- Also "Properties" button should be disabled
  when no Device Instance ID found for the monitor.
2022-05-23 23:54:41 +03:00
Stanislav Motylkov
fcba0968be [DESK] Add debug prints to pCDevSettings_GetDeviceInstanceId
Addendum to 3900cf88.
2022-05-23 23:50:47 +03:00
Hermès Bélusca-Maïto
985468d08a [NTOS:SE] Replace a bunch of RtlCopyLuid() calls into direct assignations (#4523)
Nowadays' compilers support such direct structure assignations,
and our existing codebase already uses that in other places.
2022-05-23 19:30:37 +02:00
Hermès Bélusca-Maïto
487d8601f9 [NTOS:SE] SepPerformTokenFiltering(): Fix corruption of DynamicPart (#4523)
The problem is that EndMem is changed to point to the DynamicPart of
the token, but the code after that expects it to still point into the
VariablePart instead.

Problem fixed by moving the insertion of RestrictedSids much sooner
(where the original ones are also being copied).
2022-05-23 19:30:36 +02:00
Hermès Bélusca-Maïto
9676188543 [NTOS:SE] NtAdjustGroupsToken(): Avoid double-free on ObReferenceObjectByHandle failure path (#4523) 2022-05-23 19:30:36 +02:00
Hermès Bélusca-Maïto
3370652dfc [NTOS:SE] Fix locking in SepDuplicateToken() and SepPerformTokenFiltering() (#4523)
Shared locking must be used on the source token as it is accessed for
reading only. This fixes in particular the kmtest SeTokenFiltering that
would hang otherwise on a (wrong) exclusive locking.

- SepPerformTokenFiltering(): Always shared-lock the source token.
  Its callers (NtFilterToken and SeFilterToken) just need to sanitize and
  put the parameters in correct form before calling this helper function.

- Sync comments in NtFilterToken() with SeFilterToken().
2022-05-23 19:30:35 +02:00
Hermès Bélusca-Maïto
b33911b93d [NTOS:SE] SepPerformTokenFiltering(): Remove useless SEH handling (#4523)
This function is either called inter-kernel (in which case, all
parameters must be valid, and if not, we have to bugcheck), or, it
is called with **captured** parameters (from NtFilterToken) and those
latter ones are now expected to be valid and reside in kernel-mode.
Finally, data copied between token structures reside in kernel-mode
only and again are expected to be valid (if not, we bugcheck).
2022-05-23 19:30:34 +02:00
Hermès Bélusca-Maïto
389a2da7ff [NTOS:SE] SepCaptureAcl(): Add missing validation of the captured ACL (#4523)
- The ACL is however not validated when the function is called within
  kernel mode and no capture is actually being done.

- Simplify aspects of the function (returning early when possible).
2022-05-23 19:30:34 +02:00
Hermès Bélusca-Maïto
a0bcf90f35 [NTOS:SE] SeValidSecurityDescriptor(): Add missing validation aspects (#4523)
- Add extra bounds checks.
- Add missing RtlValidAcl() calls for verifying the DACL and SACL.
2022-05-23 19:30:33 +02:00
Hermès Bélusca-Maïto
d21895e6ef [WIN32K:NTUSER] Only call IntFreeSecurityBuffer() when needed, don't free NULL buffers.
Addendum to 878c2f44.
2022-05-23 19:30:13 +02:00
Stanislav Motylkov
3900cf88b3 [DESK] Implement pCDevSettings_GetDeviceInstanceId properly
- CM_Locate_DevNodeW expects a Device Instance ID as second argument,
  so it cannot be used for converting a Hardware ID.
- Use SetupAPI functions here instead, as documented in:
  https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumdisplaydevicesw
- Now our desk.cpl passes correct identifier to CPL extensions,
  such as deskadp and deskmon, so clicking on "Properties" in the
  advanced display properties now works in Windows XP.
- Also fix copypasta in DisplayAdvancedSettings that affected applet
  built with MSVC - deskadp extension was loaded twice.
- Also fix magic flag value for EDD_GET_DEVICE_INTERFACE_NAME.
2022-05-23 19:04:47 +03:00
Stanislav Motylkov
6dc17389cb [DESK] Synchronize translations
- Fix differences in punctuation
- pt-PT had something out of place that other translations didn't had at all
2022-05-23 02:44:03 +03:00
Hervé Poussineau
d2a87f1b7f [WIN32K] Improve finding the best matching display mode
Search the display mode having the smallest difference with the requested one.
We can then remove the hardcoded values of 60 Hz and 32 bpp by default.

CORE-18189
2022-05-22 23:42:03 +02:00
Hervé Poussineau
63e59e10f3 Revert "[WIN32SS] Only refresh graphics mode list when iModeNum = 0"
This reverts commit c243133b2c.

Without the revert, VirtualBox auto-resize doesn't work on first attempt,
but only on next ones.
However, according to documentation, we must only initialize device and
cache information when iModeNum = 0.

CORE-18189
2022-05-22 23:42:00 +02:00
Hervé Poussineau
588285881e [WIN32SS] Change LDEVOBJ_bProbeAndCaptureDevmode to load missing settings from registry
- use EngpGetDisplayDriverParameters to get display settings from registry
- update searched display settings with the provided ones (+ add missing SEH2)
- then, search exact mode

User can now change only one display setting, without specifying other ones.
2022-05-22 17:32:44 +02:00
Hervé Poussineau
9acd895f18 [WIN32SS] Copy loading of registry settings from mdevobj.c to new function
This function will be used in next commit, and duplicated implementation
in mdevobj.c will be dropped.
2022-05-22 17:32:40 +02:00
Hervé Poussineau
900beca021 [WIN32SS] In LDEVOBJ_bGetClosestMode, search 60 Hz if everything failed
This function needs probably to be rewritten.
2022-05-22 17:32:08 +02:00
Hervé Poussineau
22dac3447f Revert "[WIN32SS] Handle panning in LDEVOBJ_bProbeAndCaptureDevmode"
This reverts commit 37c2bb3985.

CORE-18189
2022-05-22 17:31:44 +02:00
Hervé Poussineau
c243133b2c [WIN32SS] Only refresh graphics mode list when iModeNum = 0
We don't expect graphics mode list to change while enumerating it.
2022-05-22 17:31:40 +02:00
Eric Kohl
434cf85d96 [DISKPART] Do not print command descriptions twice 2022-05-21 16:59:45 +02:00
Eric Kohl
417687e92e [DISKPART] Improvements to the dump, help and delete commands
- Print help only if a help string exists.
- Use the command table for the dump sub commands.
- Add sub commands for the delete command.
2022-05-21 10:43:38 +02:00
Luke Luo
de972e2bc2 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513)
- Changed some wording according to the translation requirements.
- Fixed some mistakes.
- Changed my name.

Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-20 15:38:24 +03:00
Marcus Boillat
05183677d9 [FRAGINATOR] Fix some uninitialized variables and make it work again (#4497)
Set BitmapSize to zero so DeviceIOControl doesn't fail.

ROSAPPS-332
2022-05-20 14:59:01 +03:00
Tuur Martens
4f8bbd141e [NTOS:MM] Fix memory leak in MiMapViewOfDataSection
If inserting the allocated VAD fails, MiMapViewOfDataSection will make no attempt to free the allocated VAD. Nor will it call MiDereferenceControlArea(ControlArea); like other failure return paths. This commit fixes this behavior.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-05-18 12:31:31 +02:00
Eric Kohl
032c50f87c [DISKPART] Clean up the help system and fix translations
@Translators: You can translate text again, but please do no translate placeholder text.
2022-05-16 01:46:32 +02:00
Hermès Bélusca-Maïto
15be457b6d [NOTEPAD] Simplify code for UpdateWindowCaption(). Addendum to 1d690f04.
One StringCbPrintf() call is sufficient, that can cover both
clearModifyAlert == TRUE or FALSE cases.
Also, only SendMessage(EM_GETMODIFY) when clearModifyAlert == FALSE
(during text edition).
2022-05-15 19:22:57 +02:00
Stanislav Motylkov
6612682b87 [DISKPART] Fix MSVC build. Addendum to 566e898. 2022-05-15 15:10:05 +03:00
Eric Kohl
566e8989c3 [DISKPART] Improve the command table to support subcommands and start work on the create command
- Extend the command table to support subcommands.
- Get rid of the existing subcommand code.
- Use the new subcommand suport for the help system.
- Start work on the create command.

@Translators: Please do not translate any changes yet, because I will improve help system in one of the next steps.
2022-05-15 12:27:53 +02:00
Katayama Hirofumi MZ
1d690f0411 [NOTEPAD] Less flickering title bar (#4516)
When typing text on NotePad, then NotePad title bar flickers.
- Save previous modification flag.
- If no change in modification flag, do not set the title bar text.
2022-05-15 14:38:43 +09:00
Katayama Hirofumi MZ
99d9fc698f [KBDJA][NTUSER] Improve scancode_to_vk data (#4515)
- Fix scancode_to_vk variable.
- Add special handling to win32k!ProcessKeyEvent function for Japanese.
CORE-11700
2022-05-15 12:53:12 +09:00
Hervé Poussineau
81aa81e38f [WIN32SS] Implement display acceleration level 5 (ie no acceleration)
This is a easy as forcing usage of panning driver.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
4e0f2fc01c [WIN32SS] Implement panning driver
This can be configured in registry with DefaultSettings.XPanning and
DefaultSettings.YPanning, which describe the real screen resolution.

DefaultSettings.XResolution and DefaultSettings.YResolution describe
the resolution of the virtual screen.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
83d2c8ce33 [WIN32SS] mouse: call panning driver when moving pointer
Yes, if a driver supports both hardware pointers and panning, it will be called twice on each move.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
57c07ba117 [WIN32SS] mouse: use pointer flags in PDEVOBJ
When changing pointer cursor:
- use PDEV_HARDWARE_POINTER flag if using hardware pointer
- use PDEV_SOFTWARE_POINTER flag if using software pointer
- keep pfnMovePointer as an accelerator to driver function (if available) and never change it
- fix bug (2 pointers) when switching between hardware and software pointer

When moving pointer:
- check PDEV_HARDWARE_POINTER flag to know if we need to call the driver
- check PDEV_SOFTWARE_POINTER flag to know if we need to call EngMovePointer
2022-05-14 21:29:12 +02:00
Hervé Poussineau
37c2bb3985 [WIN32SS] Handle panning in LDEVOBJ_bProbeAndCaptureDevmode
- search a graphic mode corresponding to real screen resolution (not virtual panning one)
- when capturing the selected mode, copy from input the virtual panning resolution
- when searching the best mode, also try without panning
2022-05-14 21:29:12 +02:00
Hervé Poussineau
185f2dac85 [WIN32SS] Copy function table earlier, and use it in all PDEVOBJ operations 2022-05-14 21:29:12 +02:00
Tuur Martens
884356a06e [NTOS:MM] Charge and free quotas for VAD allocations
Charge quotas for VAD allocations and free the quotas again when the VADs are freed.

CORE-18028
2022-05-14 15:09:50 +02:00
Stanislav Motylkov
5ee633f7d7 [BUSLOGIC] Fix reference link to VMware driver source page
- Clarify driver version in 3rd Party Files.
- Fix some minor formatting problems.
- Also add missing OBJ_KERNEL_HANDLE to match Zw*() uses. (#4499)

CORE-10207 CORE-18180

Co-authored-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2022-05-13 17:24:02 +03:00
Katayama Hirofumi MZ
6fec06b8e5 [KBDJA] Fix key names (#4507)
They will be used at user32!GetKeyNameText function. CORE-11700
2022-05-12 20:39:56 +09:00
Katayama Hirofumi MZ
5c4b8e474f [KDBJA] Delete duplicate key entries (#4508)
Delete the duplicated key data. CORE-11700
2022-05-12 17:55:59 +09:00
Katayama Hirofumi MZ
2038087d9e [KBDJA] Delete temporary hacks (#4506)
Improve readability of Japanese keyboard.
- SC_13 (0xDE) --> VK_OEM_7
- SC_27 (0xC0) --> VK_OEM_3
- SC_40 (0xBB) --> VK_OEM_PLUS
- SC_41 (0xBA) --> VK_OEM_1
CORE-11700
2022-05-12 14:05:16 +09:00
Katayama Hirofumi MZ
1c3474be48 [KBDJA] Enable VK_CONVERT/VK_NONCONVERT keys (#4505)
Enable VK_CONVERT/VK_NONCONVERT keys for Japanese keyboard.
- ScanCode 121 (0x79) --> VK_CONVERT.
- ScanCode 123 (0x7B) --> VK_NONCONVERT.
CORE-11700
2022-05-12 12:48:29 +09:00
Katayama Hirofumi MZ
fcc4384554 [USER32][KBDJA] Implement CliImmSetHotKey (#4504)
- Fix Japanese keyboard about [Shift]+[0] and [半/全] (VK_PROCESSKEY).
- Add user32!CliSaveImeHotKey helper function.
- Implement user32!CliImmSetHotKey function. This function is forwarded from imm32!ImmSetHotKey.
- Fix user32!TranslateMessage by using imm32!ImmTranslateMessage.
CORE-11700, CORE-18183, CORE-18182
2022-05-11 21:42:32 +09:00
Katayama Hirofumi MZ
7396ba84ce [USER32] Implement UnloadKeyboardLayout (#4503)
- Add IntSetFeKeyboardFlags, CliImmSetHotKeyWorker, CliSetDefaultImeHotKeys, CliGetPreloadKeyboardLayouts, CliGetImeHotKeysFromRegistry, CliImmInitializeHotKeys, CliSetSingleHotKey, and CliReadRegistryValue helper functions.
CORE-11700
2022-05-11 10:03:02 +09:00
Marcus Boillat
fa52f2fae0 [NTOS:KE] Fix CPU extended family and model detection
Based on documentation from Geoff Chappell:
https://www.geoffchappell.com/studies/windows/km/cpu/cpuid/00000001h/eax.htm

CORE-17974
2022-05-09 21:50:24 +03:00
Marcus Boillat
00b3e4bc68 [NTOS:KE] Use bitfield structure for x86 CPU signature in EAX register
This makes code a lot more readable. CORE-17974
2022-05-09 21:50:24 +03:00
Stanislav Motylkov
cc82bc14e2 [NTOS:KE] Move KiGet/SetProcessorType function below KiGetCpuVendor
CORE-17974
2022-05-09 21:50:19 +03:00
Raymond Czerny
d74ceb6559 [SHELL32] Fix visual glitch appeared after fixing CORE-18137 (#4488)
- Check if the parent window of RunDLL is the desktop,
  only in this case add the system control applet to the taskbar.
- Try loading small 16x16 icon for the taskbar button.

CORE-18175
2022-05-09 21:36:23 +03:00
George Bișoc
081ffbeb4f [IMM32] Silence two debug prints
These two debug prints are spammy as fuck and it makes shit harder to debug ReactOS, apart that these prints barely serve any purpose.
2022-05-08 21:49:14 +02:00
George Bișoc
07227562c0 [WINLOGON] Let Winlogon assign security to desktop when a user logs in now 2022-05-08 20:16:18 +02:00
George Bișoc
aa815e1cfa [WIN32K:NTUSER] Assign a security descriptor when parsing the desktop object
The problem ReactOS currently faces is this -- whenever the desktop is being parsed we aren't assigning a security descriptor to it. As a matter of fact when Winlogon tries to assign new security information to the application desktop when a user logs in, Winlogon fails because no prior descriptor has been created for it even though we already do this when initializing security buffers in Winlogon.

With that said, we must assign a descriptor when parsing the desktop as well. This fixes a hack in Winlogon where security assigning of application desktop during a log in is disabled (which we can now enable such code path back).
2022-05-08 20:16:15 +02:00
Serge Gautherie
ed125de9f3 [SACDRV] Add 2 OBJ_KERNEL_HANDLE
Match Zw*() uses.

Plus:
- GetRegistryValueBuffer(): Add missing ZwClose(Handle), Fix a copypasta.
- SetRegistryValue(): 1 s/NtClose/ZwClose/.

CORE-10207
2022-05-08 19:42:49 +02:00
George Bișoc
9f8fbe14f5 [NTOS:OB] Specify the query security descriptor tag when freeing the allocation
We are allocating blocks of pool memory for a security descriptor with its own specific tag, TAG_SEC_QUERY, so just use it when freeing when releasing the descriptor as well (aka freeing the said pool).
2022-05-08 19:16:34 +02:00
Hermès Bélusca-Maïto
94c25baf85 [HAL][HALARM] The HAL should only use KPCR.
And why the ARM HAL uses KPCR::InterruptRoutine, a field only defined
in *powerpc*/ketypes.h, is beyond me, but OK...

See Timo vs. Alex discussion, explaining that KIPCR is a ReactOS-only
thing: https://reactos.org/archives/public/ros-dev/2008-August/010549.html
2022-05-08 17:21:44 +02:00
Hermès Bélusca-Maïto
c026b5950e [FREELDR][MINIHAL] Move KefAcquireSpinLockAtDpcLevel stub back to HAL, #ifdef'ed in _MINIHAL_ where it's only needed. 2022-05-08 17:21:43 +02:00
Katayama Hirofumi MZ
242e0b4303 [NTUSER][USER32] Implement IME status (#4472)
- Add IntCheckImeShowStatus, IntSendMessageToUI, IntSendOpenStatusNotify, IntNotifyImeShowStatus, and xxxBroadcastImeShowStatusChange helper functions.
- Renaming: s/X_ROUTINE_IMESHOWSTATUSCHANGE/TWOPARAM_ROUTINE_IMESHOWSTATUSCHANGE/
- Implement NtUserCallNoParam.NOPARAM_ROUTINE_GETIMESHOWSTATUS.
- Implement NtUserCallHwndParamLock.TWOPARAM_ROUTINE_IMESHOWSTATUSCHANGE.
- Fix hung in User32GetTopLevelWindow and rename it as IntGetTopLevelWindow.
CORE-11700
2022-05-08 20:16:17 +09:00
Hermès Bélusca-Maïto
a849125947 [NDK][XDK] Improve some HAL-related definitions.
- Add more accurate definitions for the values of HAL_DISPATCH_VERSION
  and HAL_PRIVATE_DISPATCH_VERSION.
  See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_dispatch.htm
  and https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_private_dispatch.htm

- Make the conditionals for HalDispatchTable definition MS-WDK-compatible,
  and do the same for HalPrivateDispatchTable.

- Remove MinGW-only non-MS-WDK-compatible PHAL_DISPATCH_TABLE and
  PHAL_PRIVATE_DISPATCH_TABLE definitions.

- Remove hackish #define _NTSYSTEM_ in the wdm.h header.
2022-05-08 04:15:52 +02:00
Hermès Bélusca-Maïto
39b8d45592 [MINIHAL] Compile with _NTSYSTEM_ since it's also part of the bootloader.
Fixes compilation because the Hal(Private)DispatchTable's, defined in
the bootloader's NTOS stub, are not external imports, as they would be
for a standard HAL.
2022-05-08 04:15:51 +02:00
Hermès Bélusca-Maïto
ec1def3f31 [FREELDR] Remove unnecessary includes and deprecated defines. 2022-05-08 04:15:43 +02:00
Serge Gautherie
46db6573ab [DRIVERS] Add some missing OBJ_KERNEL_HANDLE (#4493)
Match Zw*() uses. CORE-10207
2022-05-07 22:12:19 +03:00
Hermès Bélusca-Maïto
b414e1e4d7 [NTOS] Don't define _IN_KERNEL_ globally for the kernel, but just where it's needed: when including regstr.h. 2022-05-07 18:38:35 +02:00
Hermès Bélusca-Maïto
551d28e09f [HALARM] Update defines in hal.h 2022-05-07 18:23:29 +02:00
Hermès Bélusca-Maïto
9ea2b803c8 [NDK][HAL][NTOS] Add missing PRCB_MINOR_VERSION / PRCB_MAJOR_VERSION and use them. 2022-05-07 18:14:38 +02:00
Hermès Bélusca-Maïto
cfbb734799 [NTOS] Remove ROS-specific __NTOSKRNL__
See https://reactos.org/archives/public/ros-kernel/2004-June/003878.html
> In the source files one set of headers is included if
__NTDLL__ is defines and onother set if __NTOSKRNL__ is defines (dirty
workaround for our messy headers).
2022-05-07 17:53:51 +02:00
Stanislav Motylkov
11d3e3252d [NVNET] Add more controller descriptions
Addendum to b79fbe23. Based on NvNetRecognizeHardware function in nic.c
2022-05-07 18:00:15 +03:00
Stanislav Motylkov
b5e7797604 [AC97] Fix driver provider name
- Also sort out non-localizeable lines
- Fix German translation encoding and add missing one
- Add Russian translation

Addendum to 9c79a798, 68e19a95 and 9ca32a2b.
2022-05-07 18:00:13 +03:00
Eric Kohl
c70d755059 [NETAPI32] NetSessionEnum: UncClientName and username are optional
Do not fail if UncClientName and username are null.
2022-05-07 16:54:04 +02:00
Serge Gautherie
abe8f0ab1d [PCIX] Add 2 OBJ_KERNEL_HANDLE
Match Zw*() uses.

CORE-10207
2022-05-07 16:23:42 +02:00
Hermès Bélusca-Maïto
4bf32102ab [SHELL32_APITEST] ShellExecCmdLine: Do **NOT** use TerminateProcess to close the opened windows.
This design, introduced in 418edcd2b, is fundamentally flawed as it
can also close windows unrelated to the running test (e.g. windows
of programs that the user can start, while the test is running).

But since we cannot do much better, mitigate instead the other main
problem of this design: Just use PostMessageW(WM_CLOSE), as it used
to be, instead of TerminateProcess().

Indeed, using TerminateProcess() otherwise could kill unrelated
processes the test hasn't created. In particular it could kill the
csrss.exe system process if, during the testing procedure, a hard-error
popup shows up.
And this is precisely the case when this test runs with limited memory,
and a hard-error
  "Insufficient system resources exist to complete the requested service."
arises.
2022-05-06 21:32:08 +02:00
Hermès Bélusca-Maïto
307ce1a503 [SHELL32_APITEST] ShellExecuteEx: Introduce a CleanupNewlyCreatedWindows() helper similar to the one of the ShellExecCmdLine test. 2022-05-06 21:32:01 +02:00
George Bișoc
55c117c4c9 [NTOS:SE] Deny access to the caller if access is not allowed by the object
There are two fundamental problems when it comes to access checks in ReactOS. First, the internal function SepAccessCheck which is the heart and brain of the whole access checks logic of the kernel warrants access to the calling thread of a process to an object even though access could not be given.

This can potentially leave security issues as we literally leave objects to be touched indiscriminately by anyone regardless of their ACEs in the DACL of a security descriptor. Second, the current access check code doesn't take into account the fact that an access token can have restricted SIDs. In such scenario we must perform additional access checks by iterating over the restricted SIDs of the primary token by comparing the SID equality and see if the group can be granted certain rights based on the ACE policy that represents the same SID.

Part of SepAccessCheck's code logic will be split for a separate private kernel routine, SepAnalyzeAcesFromDacl. The reasons for this are primarily two -- such code is subject to grow eventually as we'll support different type ACEs and handle them accordingly -- and we avoid further code duplicates. On Windows Server 2003 there are 5 different type of ACEs that are supported for access checks:

- ACCESS_DENIED_ACE_TYPE (supported by ReactOS)
- ACCESS_ALLOWED_ACE_TYPE (supported by ReactOS)
- ACCESS_DENIED_OBJECT_ACE_TYPE
- ACCESS_ALLOWED_OBJECT_ACE_TYPE
- ACCESS_ALLOWED_COMPOUND_ACE_TYPE

This gives the opportunity for us to have a semi serious kernel where security of objects are are taken into account, rather than giving access to everyone.

CORE-9174
CORE-9175
CORE-9184
CORE-14520
2022-05-06 10:09:53 +02:00
George Bișoc
f48191b4b5 [NTOS:SE] Enable support for principal and restricted SIDs
SepSidInTokenEx function already provides the necessary mechanism to handle scenario where a token has restricted SIDs or a principal SID is given to the call. There's no reason to have these redundant ASSERTs anymore.

In addition to that make sure if the SID is not a restricted and if that SID is the first element on the array and it's enabled, this is the primary user.
2022-05-06 10:09:53 +02:00
George Bișoc
bac67a65f2 [NTOS:SE] Implement SepGetSidFromAce
This function will be used to retrieve a security identifier from a valid access control entry in the kernel. Mostly and exclusively used within access checks related code and such.
2022-05-06 10:09:53 +02:00
George Bișoc
c93bf84747 [NTOS:SE] Add SepGetSidFromAce prototype & Niscellaneous Stuff 2022-05-06 10:09:52 +02:00
George Bișoc
bcf0aebb13 [XDK] Move security object related structures to appropriate place
ACCESS_ALLOWED_OBJECT_ACE and ACCESS_DENIED_OBJECT_ACE structures must be in the XDK section of SDK as these will be used in the future in the security subsystem of the kernel.
2022-05-06 10:09:52 +02:00
George Bișoc
9101a5dc6d [NTOSKRNL] Add security access check rights pool tag 2022-05-06 10:09:52 +02:00
George Bișoc
f559f63063 [SERVICES] Assign a World identity authority for Everyone SID, not Null authority
The current code allocates memory and initializes the Everyone "World" security identifier but with a Null authority identifier. This is utterly wrong on so many levels, more so partly because a Null authority identifier is 0 so after the Everyone SID is initialized, it is actually initialized as S-1-0-0 instead of S-1-1-0.
2022-05-06 10:09:52 +02:00
George Bișoc
f340524ea4 [SERVICES] Grant ReactOS Setup component SYSTEM access
ReactOS Setup is an integral component that is part of the operating system responsible for the installation of ROS during 2nd installation stage. The situation with current master branch is like this -- the Services component always tries to create the process
on behalf of the logged in user with its own security context. That user doesn't have the privileges and access rights like SYSTEM thus the Services component tries to create the process but it fails to do so because of lacking of required access right, TOKEN_DUPLICATE, in order for the calling thread to impersonate as self.
2022-05-06 10:09:51 +02:00
George Bișoc
cd1070dfc4 [UMPNPMGR] Create a security descriptor for PnP installation device event 2022-05-06 10:09:51 +02:00
George Bișoc
fd25e2dc64 [POWRPROF] Create a security descriptor for power management semaphore 2022-05-06 10:09:51 +02:00
George Bișoc
56a2c0fec4 [RPCRT4] Set up a security descriptor for RPC named pipes
rpcrt4_create_pipe_security function will be held in charge to set up security descriptors specific for each named pipe upon creation in rpcrt4_conn_create_pipe. The descriptor is then freed after the pipe is no longer needed.
2022-05-06 10:09:51 +02:00
George Bișoc
eccae203e0 [DHCPCSVC] Set up a security descriptor for DHCP named pipe 2022-05-06 10:09:50 +02:00
George Bișoc
d862fa6fc8 [ADVAPI32] Implement security descriptor management in CreateProcessAsUserCommon internal function
Currently CreateProcessAsUserCommon doesn't set a default descriptor for the newly duplicated token object for the new process nor it sets any security information for both the process and thread. This is wrong, because when the process is created on behalf of the user's security context,
it still uses the previous security information of the creator that initially gave birth to the process. CreateDefaultProcessSecurityCommon function will serve as a placeholder until CreatePrivateObjectSecurity is implemented.
2022-05-06 10:09:50 +02:00
George Bișoc
e90e918039 [ADVAPI32] Soft rewrite of CreateProcessAsUserCommon
Refactor the function in such a way that it can jump to a single exit but most importantly, implement a "rinse and repeat" mechanism where we assign a primary token to process by disabling impersonation first and retry with impersonation later.

More info can be found in the documention within the code.
2022-05-06 10:09:50 +02:00
George Bișoc
bf40c7a310 [KERNEL32] Let KERNEL32 assign security to NLS section names
Currently Kernel32 doesn't make any server call to Basesrv in order to create NLS section names, instead it's Kernel32 itself that handles the job of NLS section names. With that said, let Kernel32 assign a security descriptor to NLS section names. See the FIXME comment on code for further dtails
2022-05-06 10:09:49 +02:00
George Bișoc
5696e4ba4d [KERNEL32][BASESRV] Implement NLS section security
Implement code that deals with the security side of NLS, more specifically, create two security descriptors for NLS directory and NLS section names and let the server use such code.
2022-05-06 10:09:49 +02:00
George Bișoc
2092dc06bb [WINLOGON][HACK] Allow network services access to default window station
HHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCKKKKKKKKKKKKKKKKKK!!!

There are two problems concerning with network services. First, a window station should be created for every network service process that gets started although this doesn't happen. Instead, network services like RPCSS and DNS service host process (svchost.exe) attempt to access the default window station (Winsta0).
This is because the access token of these two network service processes have an authentication ID that is uniquely generated. This is incorrect, because NetworkService is a special account with its own designed authentication ID for it. As a matter of fact, no window station is created for a network service and as such
both RPCSS and DNS svchost.exe attempt to access Winsta0 which they cannot.

The second problem, albeit not quite relevant to the first one but still worth mentioning nevertheless, is that network services have an access token that is primary which it should be an impersonation token. These problems all come from LSASS as LSA infrastructure is responsible for creating access tokens with security
context for objects.

For the moment being, add a hack on Winlogon that gives allow access to the default window station to network services. When LSASS and involved components are fixed, this hack must be removed.
2022-05-06 10:09:49 +02:00
George Bișoc
f96c39f6b0 [WINLOGON] Refactor the security management part
Refactor the security related code of Winlogon and move it to its own dedicated place, security.c. This includes code for preparation of security descriptors for window station and desktop objects when their created, helper functions which give allow access to such objects for the logged in user and whatnot.

==== DO NOTE ====
Currently new desktop security assignment fails because for whatever reason the system thinks the application desktop has no prior security even though a descriptor has been created for it before. See the FIXME comment on code for information.
2022-05-06 10:09:49 +02:00
George Bișoc
65a72fb527 [USER32] Capture the security descriptor from the caller when creating a window station
When creating a window station with CreateWindowStationW, the function ignores the security descriptor provided by the caller and instead it uses whatever descriptor the system can find.
2022-05-06 10:09:48 +02:00
George Bișoc
878c2f4444 [WIN32K:NTUSER] Implement security infrastructure for NTUSER component
Implement a base security infrastructure with code that sets up a security descriptor for the service that we're going to connect through it. Such service is based upon a desktop and a window station.

=== DOCUMENTATION REMARKS ===
The authenticated user, represented by an access token that describes its security context, is the main holder and has ultimate power against the default created desktop and window station objects in USER. The authenticated user in question
is the actual logged in user, this is the case when the server is impersonating a client. Administrators on the other hand have some share of power against default desktop but their power in question is extremely limited against the default
window station as admins can only just enumerate the available and valid handle stations within a desktop.
2022-05-06 10:09:48 +02:00
George Bișoc
bee9b2fcc6 [LSASRV] Set up a security descriptor for the token object
LSASS implements a default ACL inside the token structure field but it doesn't actually set a protective security descriptor for the token object itself. This happens so that the kernel gets whatever default ACLs it finds for the object which is incorrect.

SYSTEM has full and supreme control over tokens, administrators can only read the token as such. The logged in user of their own token has full access. Credits and courtesy goes to Thomas Faber for the patch.
2022-05-06 10:09:36 +02:00
Doug Lyons
de6c514c3e [WIN32SS] Fix CF_DIB format not being saved to clipboard on Print Screen key (#3265)
Use pool to allocate (potentially huge) clipboard data buffers.
CORE-17318
2022-05-05 17:54:15 +02:00
Doug Lyons
cc0e2a3672 [SHELL32] Fix Shift-Delete to Permanently Delete Files and Folders (#4004)
CORE-17802
2022-05-05 17:30:06 +02:00
William Kent
212cbb6fff [CABMAN] Make cabman exit with non-zero exit code if argument parsing fails (#4022)
Co-authored-by: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com>
2022-05-05 17:21:54 +02:00
William Kent
0ebad9f3c5 [TXT2NLS] Use delete[] to deallocate new[] output (#4022)
Per AppleClang 13.0 warning.
2022-05-05 17:21:54 +02:00
Thomas Csovcsity
860d3544af [SHELL32] Folders: Adjust column sequence in details view (#4279)
Adjust column sequence in folder view to match WinXP and Win2k3 order.
CORE-11846
2022-05-05 17:05:18 +02:00
Serge Gautherie
beefb07d18 [BROWSEUI] Remove useless variable and unreachable code (#4483)
Addendum to 0c47416 (r72003).
CORE-12804

Co-authored-by: Victor Martinez Calvo <vicmarcal@gmail.com>
2022-05-05 16:45:56 +02:00
Raymond Czerny
e0b9d6d9cd [SHELL32] CPrinterFolder: Validate string pointers properly. (#4486)
CORE-18174

Check string pointers before determining the length of strings.
2022-05-05 16:24:38 +02:00
Katayama Hirofumi MZ
056bb94edc [NTUSER] NtUserBuildHwndList should return NTSTATUS (#4487)
A follow-up to #4485 (c2a51c7). CORE-18173
2022-05-05 22:53:15 +09:00
Katayama Hirofumi MZ
c2a51c7249 [NTUSER][USER32] Make NtUserBuildHwndList exclusive (#4485)
- Modify prototype of NtUserBuildHwndList function.
- Wrap the code by UserEnterExclusive(); and UserLeave();.
CORE-18173
2022-05-05 08:49:00 +09:00
Katayama Hirofumi MZ
bbc9a877cc [NTUSER] Add Win: comments to window.c
CORE-18173
2022-05-04 15:40:46 +09:00
Serge Gautherie
03422451b3 [REACTOS] Add '\n' to debug logs
on TRACE, WARN, FIXME and ERR calls.

Plus a few nit picks.
2022-05-04 03:28:38 +03:00
Vincent Franchomme
079131faca [DOC] Update 3rd Party Files (#4417) 2022-05-03 17:30:11 +02:00
Vincent Franchomme
6e0cf03d92 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.8.0 (#4417)
v1.8 (2022-03-12):

- Added minimal support for fs-verity
- ~~Added test suite~~ Not in ReactOS
- Fixed incorrect disk usage statistics
- Fixed potential crashes when renaming stream to file or file to stream
- Fixed potential crashes when querying hard links on file
- Fixed potential hang when opening oplocked file
- Fixed minor issues also uncovered by test suite
2022-05-03 17:30:11 +02:00
Vincent Franchomme
f5556fdc10 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.9 (#4417)
v1.7.9 (2021-10-02):

- Fixed deadlock when mounting on Windows 11
- Added support for BitLocker-encrypted volumes
- Improved filename checks when renaming or creating hard links
- Miscellaneous bug fixes
2022-05-03 17:30:11 +02:00
Vincent Franchomme
08d1009892 [PSDK][BOOTMGR] Import NTSTATUS definitions of BitLocker (#4417) 2022-05-03 17:30:11 +02:00
Vincent Franchomme
3cfd8ab775 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.8 (#4417)
v1.7.8.1 (2021-06-13):

- Fixed bug preventing new directories from appearing in listings
- Fixed Release version of driver still not working on XP

v1.7.8 (2021-06-09):

- ~~Upgraded zstd to version 1.5.0~~ Not in ReactOS as it introduces deprecated code
- Fixed regression stopping driver from working under XP
- Fixed compilation on clang
- Fixed corruption issue when Linux mount option inode_cache had been used
- Fixed recursion issue involving virtual directory \$Root
2022-05-03 17:30:11 +02:00
Vincent Franchomme
98654b54b4 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.7 (#4417)
v1.7.7 (2021-04-12):

- Fixed deadlock on high load
- Fixed free space issue when installing Genshin Impact
- Fixed issue when copying files with wildcards in command prompt
- Increased speed of directory lookups
2022-05-03 17:30:11 +02:00
Vincent Franchomme
c982533ea9 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.6 (#4417)
v1.7.6 (2021-01-14):

- Fixed race condition when booting with Quibble
- No longer need to restart Windows after initial installation
- Forced maximum file name to 255 UTF-8 characters, to match Linux driver
- Fixed issue where directories could be created with trailing backslash
- Fixed potential deadlock when Windows calls NtCreateSection during flush
- Miscellaneous bug fixes
2022-05-03 17:30:11 +02:00
Vincent Franchomme
b826992ab2 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.5 (#4417)
v1.7.5 (2020-10-31):

- Fixed text display issue in shell extension
- Added support for mingw 8
- Fixed LXSS permissions not working in new versions of Windows
- Fixed issue where truncating an inline file wouldn't change its size
- Fixed crash with Quibble where driver would try to use AVX2 before Windows had enabled it
2022-05-03 17:30:11 +02:00
Vincent Franchomme
0604273535 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.4 (#4417)
v1.7.4 (2020-08-23):

- Fixed issue when running compressed EXEs
- Changed build system to cmake
- Upgraded zstd to version 1.4.5
- Added support for FSCTL_GET_RETRIEVAL_POINTERS
- Miscellaneous bug fixes
2022-05-03 17:30:11 +02:00
Vincent Franchomme
174dfab667 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.3 (#4417)
v1.7.3 (2020-05-24):

- Fixed crash when sending file change notifications
- Improved symlink handling with LXSS
- Added support for undocumented flag SL_IGNORE_READONLY_ATTRIBUTE
- Fixed corruption caused by edge case, where address allocated and freed in same flush
- Improved handling of free space tree
- Improved handling of very full volumes
- Fixed spurious warnings raised by GCC 10 static analyser
- Replaced multiplications and divisions with bit shift operations where appropriate
- Fixed combobox stylings in shell extension
2022-05-03 17:30:11 +02:00
Hermès Bélusca-Maïto
7ba5f703d2 [BROWSEUI_APITEST] Addendum to 7e22dc05. 2022-05-03 17:29:39 +02:00
Serge Gautherie
7e22dc05ca [BROWSEUI][BROWSEUI_APITEST] SHExplorerParseCmdLine(): Sync and improve (#3231)
ROSTESTS-302

- SHCreateFromDesktop(): Sync declaration and spec.
- SHExplorerParseCmdLine(): Sync declaration, header and spec.
- SHExplorerParseCmdLine: Enforce 'UINT_PTR' return type.
Addendum to e39876d and 0f8439a.

- SHExplorerParseCmdLine: Replace '*EXPLORER_INFO'
- SHExplorerParseCmdLine: Fix x64 support; Fix some results.
2022-05-03 16:32:14 +02:00
Olaf Schmerse
25019525f8 [NEWDEV] Stop update driver wizard from changing device class (#4480)
CORE-18166

The update driver wizard should not change the device class by default,
especially when there is already a class set. This is the case when the
wizard gets called from the device manager.
2022-05-03 16:13:37 +02:00
Sahil Shahane
3e6b2972a9 [DISKPART] Fixed Volume Number & Label Issue (#4471)
CORE-18138

- Made Volume label to output only 11 characters at max.
- Made Volume numbering left-padded.
2022-05-03 16:06:02 +02:00
Raymond Czerny
1461ca403f [SHELL32] Show system control applet in taskbar (#4437)
Display the control panel applet in the taskbar to allow better navigation between programs.
CORE-18137

This is proceeded by manipulating the window of the current instance of 'rundll32.exe':
- Set title text
- Set icon
- Show window (minimal)
- Engaging the corresponding button in the Taskbar.
2022-05-03 16:02:58 +02:00
Victor Martinez Calvo
b57be0a746 [GDI32] Fix GetObjectW() GDI_OBJECT_TYPE_BRUSH handling. (#4394)
This fixes the last GetObjectW apitest case:
ok_long(GetObjectA(hBrush, 0, &TestStruct), 0);

- When "cbSize" is "0", GetObjectW shouldn't return "sizeof(LOGBRUSH)" but 0.
- Rely in BRUSH::cjGetObject behavior which returns 0 when cjSize is 0.

Co-authored-by: Víctor Martínez Calvo <victormartinez@alub.io>
2022-05-03 16:00:21 +02:00
Russell Johnson
3e2df36561 [SHELL32] Add multiple status bar parts to the file browser (#4401)
The file browser now has a status bar like Windows Server 2003 does.
This includes the sizes of the files, as well as the location.
In certain folders (Network, Desktop, etc.) the status bar is hidden.

Currently it does not handle this in the same way as Windows Shell does,
however it's a good first step to make it work properly.

CORE-17603

Signed-off-by: Russell Johnson <russell.johnson@superdark.net>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>	
Reviewed-by: Giannis Adamopoulos <gadamopoulos@reactos.org>	
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-03 16:52:23 +03:00
Katayama Hirofumi MZ
2ef605d428 [NTUSER] Fix UserDestroyInputContet (again and again) (#4482)
Add call of UserMarkObjectDestroy.
Fix hung-up. CORE-11700
2022-05-03 10:17:30 +09:00
Katayama Hirofumi MZ
4a748a3a97 [NTUSER] Fix UserDestroyInputContext (again) (#4476)
Fix the HIMC handle leak. CORE-11700
2022-05-03 03:43:26 +09:00
Hervé Poussineau
14d50cc6c0 [WIN32SS] Improve selection of 'closest graphic mode'
If color depth is not provided (in registry), try to find a 32 bit one.
If not found, fall back to first available graphic mode.

CORE-18027
2022-05-01 16:36:48 +02:00
Hervé Poussineau
d8b3402fe6 [WIN32SS] In PDEVOBJ_vRefreshModeList, do not change current stored mode
When changing current devmode, we must not only change ppdev->pdmwDev
pointer, but also update lots of other structures. This work is done by
PDEVOBJ_lChangeDisplaySettings.

CORE-18169
2022-04-30 23:33:42 +02:00
Hervé Poussineau
d1cd80c861 [WIN32SS] Set DISPLAY_DEVICE_PRIMARY_DEVICE flag
This flag was not set anymore since 2d2824f1b9
Note that this is still wrong for multi-monitor.

CORE-18169
2022-04-30 22:02:28 +02:00
Hervé Poussineau
1d66a0aa19 [DESK] Remove call to SetupDiRestartDevices()
This effectively reverts a6005299c6, and
parts of c3da00c42c.

This call is not required, as umpnpmgr already does what is needed.
However, keep the call to EnumDisplayDevices(), so win32k knows that a
new graphic card has been installed.

CORE-18168
2022-04-30 14:05:05 +02:00
Stanislav Motylkov
dea51f7830 [SETUPAPI] Clarify what functions are exported starting with NT 5.2
CORE-18168
2022-04-30 13:36:25 +03:00
Julen Urizar Compains
748d5c694e [CRT] Fix MinGW-arm intrin minor bug in _byteswap_ushort (#4475)
A little bug were in the CRT, found with RosBE and cegcc compiler:

../sdk/include/crt/mingw32/intrin_arm.h:44:32: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]

Thanks to @HBelusca for suggesting the fix. CORE-17604
2022-04-30 01:24:49 +03:00
Doug Lyons
dbc7eeb47e [ROSTESTS] Fix crash in winhttp:winhttp test (#4303)
Fix regression crash in wine_dbgstr_wn. ROSTESTS-377

This brings most of Wine's current wine_dbgstr_wn code into ReactOS.
It's not possible to completely sync this with latest Wine because
there is Wine-specific code regarding "debug_info" and their TEB
in remaining code. Confirmed by @ThFabba.
2022-04-29 21:50:54 +03:00
Serge Gautherie
57d7f6f6b3 [FREELDR:NTLDR] Add '\n' to debug logs (#4474) 2022-04-29 18:20:36 +03:00
Jose Carlos Jesus
4f72e9c9b0 [GDI32_APITEST] Add CursorIcon tests to GetObject test (#3955)
Thanks to @Doug-Lyons for testing.

CORE-17752
2022-04-29 16:45:02 +03:00
Jose Carlos Jesus
3b496432a8 [NEWDEV] Fix Update Driver wizard dialog position (#4274)
The Update Driver wizard dialog was not completely visible.
A part of the window was off the screen.

As in Windows XP the dialog box is positioned slightly below
and to the right of the parent window (Z-order).
2022-04-29 15:00:52 +03:00
Jose Carlos Jesus
f111d4a703 [TRANSLATION] Improve Portuguese (pt-PT) translation (#4445)
* [RAPPS][EXPLORER] Improve pt-PT translation
* [BROWSEUI][COMCTL32][SHELL32] Improve pt-PT translation
* [INPUT][INTL][POWERCFG] Improve pt-PT translation
* [MAIN] Adjust object position to fit all text
* [SYSSETUP][USERENV] Update pt-PT translation
* [INF] Update pt-PT translation
2022-04-28 18:14:33 +03:00
Katayama Hirofumi MZ
55065d3b51 [NTOS:PNP] Fix GCC build (ignoring return value) (#4473)
[NTOS:PNP] Fix GCC build (ignoring return value)

Properly handle RtlDuplicateUnicodeString return status. Addendum to de316477. Thanks to @HBelusca and @Doug-Lyons.
2022-04-28 22:16:37 +09:00
Eric Kohl
de316477b9 [NTOS:PNP] IopInitializeDevice: Create a device, allocate a device node and attach it to the root node 2022-04-27 21:52:21 +02:00
Stanislav Motylkov
03c8832a77 [BOOT:RTL] Fix GCC configuration problem for ARM platform
Addendum to 24cb57fd. CORE-17604
2022-04-27 21:52:05 +03:00
Serge Gautherie
7486dbe833 [EXPLORER] syspager.cpp: Add '\n' to debug logs (#4470) 2022-04-27 15:40:13 +03:00
Victor Perevertkin
cf0bc1c132 [NTOS:PNP] Halfplement IoInvalidateDeviceState
Implement the correct start-stop sequence for resource rebalancing
without the actual rebalancing. Also move IoInvalidateDeviceState
processing into the enumeration thread as it should be.

CORE-17519
2022-04-27 02:42:20 +03:00
Victor Perevertkin
8f40fc7ede [CMAKE] Build GCC and Clang builds with -fno-common 2022-04-26 04:22:27 +03:00
Victor Perevertkin
93dcc8436c [WBEMPROX] Global variable compatibility update for gcc 10.
Imported Wine commit da21c305164c3e585e29e20242afc5a31f91989f

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
c6aac2bbfd [TWAIN_32] Global variable compatibility update for gcc 10.
Imported Wine commit 4a91eb362666b3af549c48b95e093051756628e0

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
f4a01431ca [MSHTML] Global variable compatibility update for gcc 10.
Imported Wine commit e402fdf364fc76838ba4e11a11fef3c552110639

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
351fa5120a [CRYPT32] Global variable compatibility update for gcc 10.
Imported Wine commit 5740b735cdb44fb89a41f3090dcc3dabf360ab41

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
98aabbcf9f [SECUR32] Do not declare global variables in a header 2022-04-26 03:38:38 +03:00
Victor Perevertkin
d2c667c616 [WINED3D] Do not declare global variables in a header 2022-04-26 03:38:37 +03:00
Victor Perevertkin
4295b007ae [HALX86] Do not define unnamed enums 2022-04-26 03:38:37 +03:00
Victor Perevertkin
522e9f6dd3 [DBGHELP_APITEST][SDK_APITEST] Fix initializing global variables 2022-04-26 03:38:37 +03:00
Victor Perevertkin
590e36479c [WS2_32_APITEST] Convert global variables to static ones 2022-04-26 03:38:37 +03:00
Victor Perevertkin
5632aa5d82 [LIBTIRPC] Do not declare global variables in a header 2022-04-26 03:38:36 +03:00
Victor Perevertkin
6e5d80df69 [COMPILER_APITEST] Convert global variables to static ones 2022-04-26 03:38:36 +03:00
Victor Perevertkin
4571c96534 [COMPILER_APITEST] Remove unused variable from MS SEH tests 2022-04-26 03:38:36 +03:00
Victor Perevertkin
97f075a2ab [USER32_APITEST] Convert global variables to static ones 2022-04-26 03:38:29 +03:00
Eric Kohl
b9c4b6aa65 [BATT] Add the composite battery installer 2022-04-25 23:33:51 +02:00
Hervé Poussineau
cb504d7b0c [WIN32SS] Fix crash if releasing a PDEVOBJ before switching to graphic mode
- do not try to remove ppdev from gppdevList if gppdevList is NULL
- do not check (and maybe change) gpmdev, as it should be done only in MDEVOBJ_vDestroy
2022-04-25 22:18:41 +02:00
Katayama Hirofumi MZ
0b0e73d66e [NTUSER] Add locking at IntSendFocusMessage (#4468)
Fix access violation on IntFocusSetInputContext.
- Add locking on pWndPrev.
CORE-18163
2022-04-25 11:36:00 +09:00
Eric Kohl
74efe979a8 [UMPNPMGR] PNP_CreateDevInst: Create a device node for the device to be installed 2022-04-24 12:56:42 +02:00
Eric Kohl
969f950bf3 [NTOS:PNP] Add a stub for NtPlugPlayControl:PlugPlayControlInitializeDevice 2022-04-24 10:02:17 +02:00
Julen Urizar Compains
072dcafc1c [MSVCRT] Enable _wfindfirst64 and _wfindnext64 in msvcrt.spec (#4464)
CORE-17666
2022-04-23 19:19:09 +02:00
Hermès Bélusca-Maïto
ff293a1877 [CSRSRV] Acquire the necessary SE_INC_BASE_PRIORITY_PRIVILEGE at shutdown (#4461)
When increasing the base priority at shutdown, acquire the necessary
SE_INC_BASE_PRIORITY_PRIVILEGE in CsrSetToShutdownPriority(),
called by CsrShutdownProcesses(), which is necessary due to the increase
of process base priority (i.e. increase of scheduling) being done.

Dedicated to George Bișoc :)

The Shutdown privilege is however unnecessary (or unwanted) since this
has been already dealt with by the shutdown caller. Also, it will be
needed only by the caller of NtShutdownSystem() -- that we don't call
at all here.
2022-04-23 19:15:22 +02:00
Hermès Bélusca-Maïto
0d08c6429d [GITHUB] Fix MSVC 2015 (v14.0) build, until a clear consensus is reached for PR #3872 (#4454)
CORE-18146

Use the matrix.os + include/exclude technique, as suggested
by Serge Gautherie :)
2022-04-23 19:14:06 +02:00
Hermès Bélusca-Maïto
1170a5a493 [GITHUB] Use the correct worker to get MSBuild VS2019 working. (#4454)
CORE-18146
2022-04-23 19:14:05 +02:00
Eric Kohl
a7a222b52d [UMPNPMGR] PNP_CreateDevInst: Convert a phantom device to a normal device 2022-04-23 16:59:47 +02:00
Eric Kohl
33a0c66f30 [UMPNPMGR] PNP_CreateDevInst: Do not create a normal device if it is already present 2022-04-23 15:35:45 +02:00
Katayama Hirofumi MZ
b0b925d2b0 [IMM32] Add ValidateHandle function (#4467)
Set the last error on failure of handle validation.
CORE-11700
2022-04-23 08:16:53 +09:00
Katayama Hirofumi MZ
e9df3176f7 [IMM32_APITEST] himc: Show class on CreateWindow failure (#4466)
Display the window class name on failure of CreateWindow function call.
CORE-11700
2022-04-23 07:18:38 +09:00
Katayama Hirofumi MZ
8f719cb97e [NTUSER][IMM32] Create the default IME window! (retry) (#4463)
The default IME window has to be created for each top-level window in specific condition. It is needed for implementing Japanese input.
- Add IntFocusSetInputContext helper function.
- Call IntFocusSetInputContext after sending WM_KILLFOCUS message.
- Add IntWantImeWindow, co_IntCreateDefaultImeWindow, and IntDestroyOwnedWindows helper functions.
- Create the default IME window (spwndDefaultIme) for the specified window at IntCreateWindow.
- Fix Imm32InternalLockIMC function.
CORE-11700
2022-04-23 07:11:48 +09:00
Hervé Poussineau
2f2795ab4c [DESK] Correctly store display frequency, so we can rollback in case of error 2022-04-20 18:23:53 +02:00
Katayama Hirofumi MZ
4bcf23d1de [NTUSER] Destroy the default IME window (#4462)
- Add IntFindNonImeRelatedWndOfSameThread, IntImeCanDestroyDefIMEforChild, and IntImeCanDestroyDefIME helper functions.
- Do assignment unlock spwndDefaultIme at co_UserFreeWindow.
- Destroy the default IME window of the specified window if necessary at co_UserDestroyWindow.
CORE-11700
2022-04-20 16:10:06 +09:00
Hermès Bélusca-Maïto
944b942eb2 [CSRSRV] Use the PROCESS_PRIORITY_NORMAL_FOREGROUND constant instead of hardcoding its value (== 9). 2022-04-20 03:53:45 +02:00
Stanislav Motylkov
27453fb759 [UMPNPMGR] Fix hang when installing devices. Addendum to 0296fce00. 2022-04-20 02:38:41 +03:00
Eric Kohl
0296fce00e [UMPNPMGR] GenerateDeviceID must fail, if pszDeviceID contains backslashes 2022-04-19 23:14:23 +02:00
Katayama Hirofumi MZ
291a94cd6f [NTUSER] Implement NtUserSetImeOwnerWindow (#4460)
- Add IntImeSetFutureOwner, IntGetLastTopMostWindowNoIME, IntImeSetTopMost, and IntImeCheckTopmost helper functions.
- Implement NtUserSetImeOwnerWindow function.
CORE-11700
2022-04-19 19:03:12 +09:00
George Bișoc
11d9c88c35 [NTOS:SE] Add token debug code
Implement initial token debug code. For now debug information that is being tracked are: process image file name, process and thread client IDs and token creation method. More specific debug code can be added later only if needed.

As for the token creation method, this follows the same principle as on Windows where the creation method is defined by a value denoting the first letter of the said method of creation. That is, 0xC is for token creation, 0xD is for token duplication and 0xF is for token filtering. The debug field names are taken from Windows PDB symbols for WinDBG debug extension support purposes. The names must not be changed!
2022-04-19 11:04:59 +02:00
Katayama Hirofumi MZ
5df5ef2bdf [NTUSER] Do assignment lock at NtUserSetThreadLayoutHandles (#4459)
- Use UserAssignmentLock in NtUserSetThreadLayoutHandles.
- Add Win: comments to many functions.
- Rename glcid as glcidSystem.
CORE-11700
2022-04-19 08:41:13 +09:00
Katayama Hirofumi MZ
c35488ec70 [NTUSER][USER32] Implement ImeWnd_OnImeNotify (#4457)
- Add code to ImeWnd_OnImeNotify function.
- Insert ASSERT(pimeui->spwnd != NULL); to some functions.
- Renaming: s/THREADSTATE_UNKNOWN17/THREADSTATE_CHECKCONIME/.
- Improve ImeWnd_OnImeSetContext function.
CORE-11700
2022-04-19 07:48:16 +09:00
Eric Kohl
f3ac86713d [UMPNPMGR] PNP_CreateDevInst: A phantom device can only be created if the device did not exist before 2022-04-19 00:09:54 +02:00
Hervé Poussineau
2c391b1eab [WIN32SS] Fix buffer overflow in MDEVOBJ when having more than 10 display devices 2022-04-18 20:01:37 +02:00
Eric Kohl
8897a890c9 [UMPNPMGR] PNP_CreateDevInst: Support the creation of phantom devices 2022-04-18 19:53:18 +02:00
Hervé Poussineau
aa80cfb46e [WIN32SS] Fix some memory leaks (introduced in 21ddeb76d9) 2022-04-18 16:23:52 +02:00
Eric Kohl
f63e8f8a03 [UMPNPMGR] Move device id generation into a separate function and limit device instance number 2022-04-18 14:14:11 +02:00
Eric Kohl
426687becf [UMPNPMGR] PNP_CreateDevInst: Do not create a new device while generating a device id 2022-04-18 12:59:41 +02:00
Eric Kohl
11886ebec2 [UMPNPMGR] PNP_GetRelatedDeviceInstance must return the root device as the parent of non-existing devices 2022-04-18 09:48:03 +02:00
Hermès Bélusca-Maïto
94d144f8a5 [BOOTDATA] Fix some services groups + MUP driver group.
Restore MUP again back to its "Network" group. CORE-12107
This reverts commit 21fc538c (r75355), that reverted part of
commit e145ed06 (r72450).

In addition: noticed by Serge Gautherie (see CORE-12107):
- AudioSrv belongs to "AudioGroup" (and not "Audio" that doesn't exist).
- lanmanworkstation belongs to "NetworkProvider" (without a space).
2022-04-18 02:40:34 +02:00
Hermès Bélusca-Maïto
2c032f3fc9 [BOOTDATA][FS] Small adjustments of filesystem drivers registry parameters.
- Fix the ErrorControl values to 1 (SERVICE_ERROR_NORMAL).
- Fix RamDisk driver type (it's SERVICE_KERNEL_DRIVER, not FS).
- btrfs.inf : This is a filesystem driver, so fix its ServiceType.

- Move 3rd-party FS data (btrfs, ext2, nfs(d)) from the system
  hivesys.inf and into their dedicated **.reg.inf files.
2022-04-18 02:40:33 +02:00
Hermès Bélusca-Maïto
75e2fb4566 [KERNEL32] Improve annotation of BaseProcess/ThreadStartup(); remove useless cast; fix PPROCESS_START_ROUTINE return type. 2022-04-18 02:40:32 +02:00
Katayama Hirofumi MZ
7e13883723 [NTUSER] Do assignment lock pti->spDefaultImc (#4456)
According to JIRA user simonelombardo, there was crash in exiting a thread.
- Add UserAssignmentLock, and UserAssignmentUnlock helper functions.
- Lock and unlock pti->spDefaultImc by using those helper functions.
CORE-18044
2022-04-18 08:23:18 +09:00
Eric Kohl
851c5e0c3a [SETUPAPI] SetupDiCreateDeviceInfoW: Fix flags conversion for CM_Create_DevInst_ExW 2022-04-17 23:32:01 +02:00
Eric Kohl
dde7e6e254 [SETUPAPI] CM_Locate_DevNode_ExW: The root device does not need to be validated 2022-04-17 22:50:26 +02:00
Hermès Bélusca-Maïto
ea3e4bb4cb [CMAKE:MSVC] Refine ASM16 ml.exe path selection. Addendum to commit 60733590. 2022-04-17 19:31:48 +02:00
Hermès Bélusca-Maïto
8ed7d4b341 [SDK:CMLIB][FREELDR:NTLDR] Revert commit 168fea0ee and provide a better fix. Addendum to 93d8a1b7b.
Correct fix was to fix the HCELL_INDEX <-> HKEY conversions, much like
is being done with UlongToHandle / HandleToUlong.

The on-disk/in-memory hive file structures are platform-independent:
their layout must not depend on whether code is compiled in 32 or 64
bits.
2022-04-17 16:46:47 +02:00
Hervé Poussineau
0ce5985109 [WIN32SS] Do not call DrvEnableDriver/DrvDisableDriver for LDEV_IMAGE types 2022-04-17 16:20:04 +02:00
Stanislav Motylkov
168fea0eee [CMLIB] Fix 64-bit build. Addendum to 93d8a1b7b.
Thanks to Hervé Poussineau for help.
2022-04-17 16:16:41 +03:00
Eric Kohl
a355e8ad27 [SETUPAPI] SetupDiCreateDeviceInfoW creates phantom devices 2022-04-17 14:29:14 +02:00
Eric Kohl
7cc5163bfa [UMPNPMGR] Add checks to PNP_GetRelatedDeviceInstance
PNP_GetRelatedDeviceInstance must fail if we try to retrieve the parent or a sibling of the root device.
2022-04-17 13:52:59 +02:00
Hervé Poussineau
1744b01ad9 [WIN32SS] Rewrite LDEVOBJ reference counting
- introduce LDEVOBJ_vDisableDriver (reversal of LDEVOBJ_bEnableDriver)
- introduce LDEVOBJ_bUnloadImage (reversal of LDEVOBJ_pLoadDriver)
- introduce LDEVOBJ_vDereference, to remove a reference to a LDEVOBJ

Also:
- correctly handle success to unload the image, by removing it from pldev list
- correctly handle failure to unload the image, by re-enabling the driver
- simplify EngUnloadImage, as a wrapper around LDEVOBJ_vDereference
- move LDEVOBJ_ulGetDriverModes lower to prevent forward declaration of
  LDEVOBJ_vDereference

Unfortunately, disable driver unloading as long as ntoskrnl can't reload
a driver it just unloaded...
2022-04-17 08:48:33 +02:00
Hervé Poussineau
3a1a2aa16f [WIN32SS] Fix use of unitialized variable 2022-04-17 08:46:09 +02:00
Hermès Bélusca-Maïto
736331973e [FREELDR:NTLDR] Rewrite RegInitCurrentControlSet() using CmpFindControlSet().
Also remove useless "success" traces at the end of some registry functions.
(Only show when they enter and when they fail.)
2022-04-17 04:57:43 +02:00
Hermès Bélusca-Maïto
94874baf19 [FREELDR:NTLDR] Use NTOS kernel's CMBOOT functions to enumerate and build the boot-time driver list.
They are correct and are more performant.

- Rewrite WinLdrAddDriverToList() on the model of CmpAddDriverToList()
  with support for CmpIsDriverInList().

- Disable RegEnumKey() as it is now unused.
2022-04-17 04:57:42 +02:00
Hermès Bélusca-Maïto
02e659d248 [BOOTDATA] Remove hackish entries that really caused the CDFS to be loaded twice in the LiveCD.
They date back from commit a880f2ee (r9611), and were the root cause for
the bug that was tentatively fixed by commit 81a9ce44e (PR #755).

On Windows, boot file system drivers have either the SERVICE_DEMAND_START
or the SERVICE_DISABLED start type, and only the filesystem to access the
boot media is manually loaded by the OS loader (other FSes that are needed
later are loaded by the FSRecognizer).

Also there is no need to disable NTFS anymore.
2022-04-17 04:57:41 +02:00
Hermès Bélusca-Maïto
93d8a1b7b1 [FREELDR:NTLDR] Adapt the registry code to access from outside the underlying HHIVE and HCELL_INDEX (needed for cmboot). 2022-04-17 04:57:40 +02:00
Katayama Hirofumi MZ
567b0700fe [NTUSER] Add 'Win:' comments to some functions (#4453) 2022-04-17 06:53:37 +09:00
Hermès Bélusca-Maïto
6ff0232368 [NTOS:CM] Adapt cmboot.c for usage in NT/ReactOS bootloader.
- Add a new cmboot.h header to isolate the boot-support definitions
  shared with the NT/ReactOS bootloader.

- Move CmpFreeDriverList() to cmboot.c so that we can use it for
  cleanup paths in the NT/ReactOS bootloader.

- CmpFindControlSet(): Directly build the control set name in UNICODE,
  instead of doing an ANSI->UNICODE conversion.

- Directly assign the CurrentControlSet\Services constant string,
  instead of going the route of init-empty-string + append-string.
  This is possible since that string is not modified later.

- Remove ASSERT(FALSE), replacing them with correct failure handling.

- Add cleanup paths in CmpAddDriverToList().

- Simplify and fix CmpFreeDriverList(): it's the full DriverNode
  that needs to be freed; not the LIST_ENTRY pointer.

- Add other validity checks:
  * Registry value types and data sizes;
  * For multi-strings, verify that they are NULL-terminated.
  * For (multi-)strings, check whether they are NULL-terminated before
    optionally removing their trailing NULL character from the count.
    Check also whether they are of zero-length and take appropriate
    action where necessary.

- Add CmpIsDriverInList() for future usage in CMBOOT compiled in
  bootloader mode.

- Add SAL annotations and Doxygen documentation.

- Add debug traces.

- Formatting / code style fixes.

** TODO: Fix SafeBoot support **
2022-04-16 18:37:45 +02:00
Hermès Bélusca-Maïto
6a03fb7099 [SDK:CMLIB] Use Hive->Allocate / Hive->Free where possible. 2022-04-16 18:33:24 +02:00
Dmitry Borisov
b79fbe2333 [NVNET] Add driver for nForce-based NICs
The driver supports all nVidia chipset models from 2001 until 2010, starting from nForce.
All NICs are compatible with x86 and amd64 devices only.

Tested by Daniel Reimer on OG Xbox and by me on MCP board.

CORE-15872 CORE-16216
2022-04-16 11:54:24 +03:00
Dmitry Borisov
269f3a2b24 [HALXBOX] Do not claim interrupt resources for the KD COM port
The actual COM port lacks SERIRQ, IRQ 4 is hardwired to the NIC

CORE-15872 CORE-16216
2022-04-16 11:54:24 +03:00
Dmitry Borisov
96b40c9566 [DDK][PSDK] Add missing NDIS definitions for wake-up support
CORE-15872
2022-04-16 11:54:24 +03:00
Katayama Hirofumi MZ
34600f3ddf [USER32] Add 'Win:' info to misc/imm.c (#4452)
- Add many Win: comments to misc/imm.c.
- Rename GetImmFileName as User32GetImmFileName.
- Rename bImmInitializing as gbImmInitializing.
- Rename gnImmUnknownFlag1 as gfConIme.
- Formating UpdatePerUserImmEnabling code.
CORE-11700
2022-04-16 14:34:06 +09:00
James Tabor
001e300d92 [Win32SS] Fix Build 2
Fix Build 2
2022-04-15 19:30:59 -05:00
James Tabor
b1d27cd0fb [Win32SS] Fix Build
Fix Build
2022-04-15 19:27:50 -05:00
James Tabor
250e5ef38f [ENG] Update Structure
Update GRAPHICS_DEVICE monitor count and video monitor device pointer.
Update dwAccelerationLeve comments.
Updated for printer support.
2022-04-15 19:19:54 -05:00
Hervé Poussineau
9400063aae [WIN32SS] Enable multidisplay driver when required
For now, it is only a stub which returns an error.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
f3f4cc0f25 [WIN32SS] Implement EngQueryDeviceAttribute 2022-04-15 23:09:16 +02:00
Hervé Poussineau
c89ac107ce [WIN32SS] Handle Graphics acceleration level (registry key Acceleration.Level)
- store the acceleration level in PDEVOBJ
- when searching a pdev, search a pdev with required acceleration level
- disable some functions when not at full acceleration level
  (levels 3 and 5 are not implemented)
2022-04-15 23:09:16 +02:00
Hervé Poussineau
494de7c2df [WIN32SS] Remove now unused code
Initialization of device mode list will be done later, just before switching to graphics mode.

If no graphic display is available, we will now fail when starting first GUI application in
co_IntGraphicsCheck(). Add a bugcheck here to prevent frozen screen.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
2d2824f1b9 [WIN32SS] Implement PDEVOBJ_lChangeDisplaySettings to create initial MDEV
This function can create a MDEV for the whole display (maybe containing multiple
PDEVs), or update settings of a specific PDEV.

- call PDEVOBJ_lChangeDisplaySettings when switching to graphics mode.
- modify EngpGetPDEV to search requested PDEV only in current MDEV
2022-04-15 23:09:16 +02:00
Hervé Poussineau
9db63ad595 [WIN32SS] Add functions related to MDEV (creation, destruction...) 2022-04-15 23:09:16 +02:00
Hervé Poussineau
a0cfdcd409 [WIN32SS] Introduce the MDEVOBJ structure
This will be used (later) to store the list of all enabled display devices.

Add a global variable gpmdev (should really be stored in DISPLAYINFO structure)
Replace global variable gppdevPrimary by pmdev->ppdevGlobal.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
0f617ddfbb [WIN32SS] Rewrite EngpCreatePDEV as PDEVOBJ_Create
- change first argument to be a PGRAPHICS_DEVICE instead of a device name
- add ldevtype (for now, only LDEV_DEVICE_DISPLAY is allowed)
- always pass a devmode if ldevtype is LDEV_DEVICE_DISPLAY
- insert the ppdev into gppdevList on success
- change callers to adapt them to new rules
2022-04-15 23:09:16 +02:00
Hervé Poussineau
c5fb89dced [WIN32SS] Add PDEVOBJ_vEnableDisplay and PDEVOBJ_bDisplayDisplay
Use them where appropriate.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
34085be22d [WIN32SS] Rename PDEVOBJ_vSwitchPdev to PDEVOBJ_bDynamicModeChange
Even if it currently always succeeds, let it return a boolean for later.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
241e579dfa [WIN32SS] Improve PDEVOBJ_bEnablePDEV/PDEVOBJ_vRelease/PDEVOBJ_pSurface
- use debug channels
- handle a NULL ppdev->pGraphicsDevice
- unreference graphic driver when needed
2022-04-15 23:09:16 +02:00
Hervé Poussineau
ded971c425 [WIN32SS] Remove useless parameter dwFlags in EngpFindGraphicsDevice() 2022-04-15 23:09:16 +02:00
Hervé Poussineau
75f4be53df [WIN32SS] Preparation to load internal drivers (ie entry point in win32k)
- Change LDEVOBJ_bEnableDriver to directly take the entry point
  (pGdiDriverInfo not required anymore)
- Add LDEVOBJ_pLoadInternal to load and start an internal driver
2022-04-15 23:09:16 +02:00
Hervé Poussineau
333f3382f6 [WIN32SS] Remove useless prototype (function never existed) 2022-04-15 23:09:16 +02:00
Hervé Poussineau
3cb1dd8ab2 [WIN32SS] Rewrite PDEVOBJ_pdmMatchDevMode to LDEVOBJ_bProbeAndCaptureDevmode
- make it return a new allocated PDEVMODEW instead of a pointer into
  existing PGRAPHICS_DEVICE (usefull when available display modes can
  dynamically change: VirtualBox, RDP, ...)
- update all callers
2022-04-15 23:09:16 +02:00
Hervé Poussineau
21ddeb76d9 [WIN32SS] Extract devmode list query to new function LDEVOBJ_bBuildDevmodeList
LDEVOBJ_bBuildDevmodeList() only queries the available display modes, without
choosing the one to use on the graphic device, and without immediately
creating a PDEV.

Replace first part of EngpPopulateDeviceModeList() function by a call
to this new function LDEVOBJ_bBuildDevmodeList().
Keep second part of EngpPopulateDeviceModeList() function, which
chooses the default display mode.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
7d93362f5a [WIN32SS] Implement LDEVOBJ_ulGetDriverModes
- implement LDEVOBJ_ulGetDriverModes (which get modes from a not yet loaded driver),
  and use it in EngpPopulateDeviceModeList
- remove now useless LDEVOBJ_pdmiGetModes (replaced by LDEVOBJ_ulGetDriverModes)
2022-04-15 23:09:16 +02:00
Hervé Poussineau
3b234cce25 [WIN32SS] Rename EngLoadDriverEx to LDEVOBJ_pLoadDriver 2022-04-15 23:09:16 +02:00
Katayama Hirofumi MZ
3820744a18 [NTUSER][IMM32_APITEST] Associate HIMC to WND (#4451)
- Set the default input context to WND at IntCreateWindow function.
- Add more tests to the himc testcase of imm32_apitest.
CORE-11700
2022-04-15 13:16:50 +09:00
Katayama Hirofumi MZ
f848343bff [IMM32] Improve ImmLockClientImc (#4450)
CORE-11700
2022-04-14 14:10:19 +09:00
Katayama Hirofumi MZ
e5f637f93f [IMM32] Add Win: comments more (#4449)
CORE-11700
2022-04-14 11:23:16 +09:00
Serge Gautherie
0c5fc49f82 [CMAKE] msvc.cmake: Enable C4090 warning as error
C4090: different 'modifier' qualifiers

Follow-up to 42d2d5e (0.4.14-dev-847) and 41bc57d (0.4.15-dev-2952),
which silenced affected modules.
CORE-7538
2022-04-12 02:08:45 +03:00
Thamatip Chitpong
59dcec1faf [TASKMGR] Processes page: Add "Properties" and "Open File Location" context menu items (#4323)
Signed-off-by: Thamatip Chitpong <tangaming123456@outlook.com>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
2022-04-11 19:28:28 +03:00
Serge Gautherie
4121b0e805 [MIDIMAP] MIDIMAP_modMessage(): Fix a MSVC amd64 C4133 warning
MSVC amd64
'...\dll\win32\winmm\midimap\midimap.c(474): warning C4133: 'function': incompatible types - from 'LPDWORD' to 'DWORD_PTR *''

Import missed parts of
29b00e1a8c

Addendum to b40e7f0 (r47900).
CORE-7538
2022-04-11 19:20:13 +03:00
Katayama Hirofumi MZ
05bbbd7d8b [NTUSER] Dereference spDefaultImc at UserCreateInputContext (#4446)
Dereference pti->spDefaultImc by UserDereferenceObject if pti->spDefaultImc is NULL at UserCreateInputContext function. CORE-11700
2022-04-11 10:53:36 +09:00
Katayama Hirofumi MZ
88c1d8c737 [NTUSER] Set error on NtUserCreateInputContext (#4444)
Set the error code correctly on NtUserCreateInputContext.
CORE-11700
2022-04-10 19:26:19 +09:00
Katayama Hirofumi MZ
0f1e19a7b6 [NTUSER] Simplify IntDestroyInputContext (#4443)
CORE-11700
2022-04-10 17:20:21 +09:00
Katayama Hirofumi MZ
eb902e5bee [NTUSER] Improve NtUserDestroyInputContext etc. (#4442)
CORE-11700
2022-04-10 12:27:38 +09:00
Katayama Hirofumi MZ
de38e3be61 [NTUSER][INCLUDE] Add IMC offset info (#4439)
Add C_ASSERT assertions on the offsets of the members of IMC structure. CORE-11700
2022-04-10 07:27:30 +09:00
Hermès Bélusca-Maïto
04eca8e2b2 [WIN32K] Remove incorrect packing specification around _TL, _WIN32THREAD and _THREADINFO structures.
CORE-18140

This was introduced historically in commit 583de66b3 (r7460) to
workaround some compiler problems (or replace already existing
GCC-specific __attribute__((packed)) annotations); however these
structures are in-memory-only, do not describe any on-disk data
format and don't describe hardware-specific data. So they should
have the "natural" alignment of the target platform.

They also have to match the documented layouts at:
https://reactos.org/wiki/Techwiki:Win32k/THREADINFO
https://www.geoffchappell.com/studies/windows/km/win32k/structs/threadinfo/index.htm
at least for the compatible parts that ReactOS shares.
2022-04-09 23:31:44 +02:00
Hermès Bélusca-Maïto
e5d17a0219 [HALX86:ACPI] Use the correct PCH file for compilation.
This also removes the following warnings, that were present because,
as the ACPICA acpi.h header was used as PCH (instead of none, or the
hal's own main header), it was "included" before any other header
-- and in particular, before hal.h -- and as a result, colliding defines
were still defined even if the #undef tricks were used for them.

rosbuilds\sdk\include\reactos\mc\bugcodes.h(1417): warning C4005: 'ACPI_BIOS_ERROR': macro redefinition
reactos\drivers\bus\acpi\acpica\include\acoutput.h(243): note: see previous definition of 'ACPI_BIOS_ERROR'
reactos\hal\halx86\include\hal.h(41): warning C4109: unexpected identifier '_read'
reactos\hal\halx86\include\hal.h(42): warning C4109: unexpected identifier '_read'
2022-04-09 20:18:03 +02:00
Katayama Hirofumi MZ
bc8a4ac37b [IMM32] Many renamings and 'Win:' info (#4438)
- Add many Win: comments.
- s/Imm32UnloadIME/Imm32FreeIME/
- s/Imm32LoadImeInfo/Imm32LoadIME/
- s/g_hImm32Inst/ghImm32Inst/
- s/Imm32AllocAndBuildHimcList/Imm32BuildHimcList/
- s/Imm32SelectLayout/Imm32SelectInputContext/
CORE-11700
2022-04-09 10:41:39 +09:00
Hermès Bélusca-Maïto
cfe387a9b0 [BOOTDATA] Add two missing separating commas in the ServiceGroupOrder List multi-string.
Typos introduced in commit 4d1ea554c.
These had the effect of enumerating "NetworkProviderRemoteValidation"
and "Extended BasePCI Configuration" as groups, which were of course
invalid/non-existent.
The actual groups are: "NetworkProvider", "RemoteValidation",
"Extended Base", and "PCI Configuration".

Fixing this may correct the loading order of drivers that belong to
these groups (if we do have such drivers).
2022-04-09 03:15:57 +02:00
Mark Jansen
fd00338b59 [WINESYNC] Fail gracefully when unable to delete a file 2022-04-09 01:26:30 +02:00
Mark Jansen
d4e38a630f [SYSSETUP] Add new Env section to unattend.inf
This allows to add environment variables during unattended setup
2022-04-09 01:25:06 +02:00
Mark Jansen
62d7486ef6 [PSDK] Add more argument names 2022-04-09 01:22:11 +02:00
Mark Jansen
513d0a6d2d [SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM
CORE-18089
2022-04-09 01:21:57 +02:00
Mark Jansen
5606fb159e [MSVCRT_WINETEST] Mute _CRT_NON_CONFORMING_SWPRINTFS 2022-04-08 22:40:26 +02:00
Piotr Hetnarowicz
0b8891a7d3 [DISKPART] Update Polish (pl-PL) translation (#4413)
Addendum to 2ba6b097, 38b38bbf, and fd8dd586.
2022-04-08 19:14:51 +03:00
Katayama Hirofumi MZ
8de7439887 [IMM32] Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (#4436)
- Fix & Rename: s/Imm32InitContext/Imm32CreateInputContext/ (Win: IMM32!CreateInputContext).
- Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (Win: IMM32!InternalImmLockIMC).
- Add CtfImmTIMCreateInputContext stub.
CORE-11700
2022-04-08 22:23:30 +09:00
Katayama Hirofumi MZ
c3fac567ca [IMM32] Renaming: s/Imm32FreeImeDpi/Imm32UnloadIME/ (#4435)
Improve debuggability. CORE-11700
2022-04-08 19:50:41 +09:00
Katayama Hirofumi MZ
3c1697146f [IMM32] Renaming: s/g_pImeDpiList/gpImeDpiList/ (#4434)
Improve debuggability. CORE-11700
2022-04-08 19:02:08 +09:00
Katayama Hirofumi MZ
895909e695 [IMM32] Renaming: s/g_csImeDpi/gcsImeDpi/ (#4433)
Improve debuggability. CORE-11700
2022-04-08 18:21:54 +09:00
Justin Miller
eebe11ae0c [HALX86] Add support for parsing ACPI MADT tables 2022-04-07 22:54:32 +03:00
Justin Miller
5c79900519 [HALX86] Add a way to print the ProcessorTable data on bootup 2022-04-07 22:54:32 +03:00
Justin Miller
a09f925c1c [HALX86] Implement HalpSetupProcessorsTable
Add a helper function for getting a pointer to the PRCB of every processor
in the system and assign it to the PROCESSOR_IDENTITY struct.
2022-04-07 22:54:31 +03:00
Justin Miller
0fc21e5a9b [HALX86] Add function prototypes needed for parsing ACPI MADT table
- Use ACPICA headers to gather the information.
- Add PROCESSOR_IDENTITY structure that will be used by all APIC HALs.
2022-04-07 22:54:13 +03:00
Justin Miller
2204695f0a [SDK] Fix some arm64 stuff that was discovered during testing
Addendum to 6dfc13e4. CORE-17518
2022-04-07 19:50:43 +03:00
Justin Miller
3cee1f718b [XDK] Start define of xdk ke.h for arm64
CORE-17518
2022-04-07 19:50:42 +03:00
Katayama Hirofumi MZ
4342b84c9a [IMM32] Add ctf.c for Cicero (#4430)
Preparing of Cicero (modern input method) support.

- Add ctf.c and add some CTF functions.
- Modify the IMM table.
- Modify imm32.spec.
- Rename: s/Imm32FreeImeStates/Imm32DestroyImeModeSaver/.
- Improve Imm32DestroyInputContext.

CORE-11700
2022-04-07 22:55:33 +09:00
Jose Carlos Jesus
7a83e0a145 [SHELL32] Remove horizontal scrollbar in File Types property page (#4412)
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-04-07 16:10:50 +03:00
Raymond Czerny
1b5abe8837 [SHELL32] Make Control Panel applets start in single instance (#4405) (#4405)
In MS Windows all control panel applets are started in single instance.
This prevents conflicts of concurrent accesses to the configuration data.

Before starting applets, look up the dialog window of the existing instance
by checking several atoms, such as the applet path, CPLName, and CPLFlags.
If the dialog is found, it's brought to the foreground, and a new applet
instance not started.

CORE-7921 CORE-17025

Signed-off-by: Raymond Czerny <chip@raymisoft.de>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
2022-04-07 15:58:13 +03:00
Hermès Bélusca-Maïto
184b8a30cb [BOOT:RTL] Fix AMD64 build. Addendum to 24cb57fde.
Turns out, that rtl/amd64/rtlmem.S doesn't currently compile fine with
ML64, and it wasn't included for compilation anyways in the original RTL.
So, just remove it from there as well.
2022-04-07 04:21:02 +02:00
Hermès Bélusca-Maïto
f10437b1e2 [FREELDR:NTLDR] Expose and use the CurrentControlSetKey handle.
This allows: (i) to shorten dramatically the lengths of the static
registry path strings being used (and thus, allow for reduced binary
file size), and (ii) to prepare future support for selecting different
control sets (and related Last-Known-Good configurations).
2022-04-07 03:19:11 +02:00
Hermès Bélusca-Maïto
57b9c6b2f2 [FREELDR:NTLDR] Improve NLS data loading.
- Use UNICODE_STRINGs wherever possible.
- Retrieve the OEMHAL font file name. TODO: Load it!

- In WinLdrLoadNLSData(), don't open/close each file twice (and showing
  we are loading them twice). Instead, open all files at once (and keep
  them that way), retrieve their sizes and do the calculations, then
  load their respective contents one by one -- giving loading feedback
  only at that point -- and finally close all of them at once.
2022-04-07 03:19:10 +02:00
Hermès Bélusca-Maïto
24cb57fdea [BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader...
... as it should have always been done (and must be done for NTDLL
and NTOS kernel as well). This allows using the RTL with the correct
definitions and the reduced functionality available at boot-time.

+ Make the RTL main header compatible.

In addition, this will permit re-using existing code that already
uses the RTL (mostly string conversions).

See commits 427c90af3 (r36761) and b46e8cc18 (r36980) for some
background.
2022-04-07 03:19:09 +02:00
Hermès Bélusca-Maïto
2ac49f0824 [SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcaseUnicodeToOemN(). 2022-04-07 03:19:06 +02:00
Hermès Bélusca-Maïto
7416328523 [SDK:NTOS_VISTA] Fix GCC AMD64 build. Addendum to commit 6f559e9c5. (#4426)
Instead of adding the rtl_vista library to the target, manually add
the related source files to compilation. That's not the best, but
this should definitively fix the linking problem.
2022-04-07 01:52:33 +02:00
Joachim Henze
2f7dc168f2 [WINHTTP] Fix 1 MSVC x86 warning LNK4199 (#4414) CORE-18104
Fixes
Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll

which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration
2022-04-07 00:36:52 +02:00
Katayama Hirofumi MZ
a40f55bf6d [IMM32] Renaming: s/Imm32InitInstance/ImmInitializeGlobals/ (#4428)
- Rename Imm32InitInstance as ImmInitializeGlobals.
- Add Win: comments.
CORE-11700
2022-04-06 15:44:27 +09:00
Katayama Hirofumi MZ
2f7775c604 [NTUSER] Add 'Win:' comments to ime.c and window.c (#4427)
- Add 'Win:' comments to clarify the Windows-side function names.
CORE-11700
2022-04-06 13:11:57 +09:00
Thomas Faber
9f5cde9cbe [WIN32K:NTUSER] Remove broken assert in NtUserCreateWindowEx. CORE-18123 2022-04-03 23:44:09 -04:00
Thomas Faber
7d1a497619 [NTOS:EX] Only set WakeTimer-related status if timer handle is valid. CORE-18133
Since STATUS_TIMER_RESUME_IGNORED is a success status, we would
otherwise go into the success case with a NULL Timer object pointer.
2022-04-03 20:13:09 -04:00
Hermès Bélusca-Maïto
6f559e9c54 [RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked in the rtl_vista target instead.
The reason is that both RtlUTF8ToUnicodeN() and RtlUnicodeToUTF8N() are
exported in both kernel and user-mode (ntdll) in Windows 7+.

Conversion from and to UTF8 are fundamental enough that they indeed
deserve to be in a separate file.
2022-04-03 20:41:11 +02:00
Stanislav Motylkov
fe452a1dad [COMCTL32][COMDLG32] Fix Serbian (Latin) sublanguage identifiers
Should really fix MSVC build. Addendum to 64c87aab.
2022-04-02 23:36:28 +03:00
Stanislav Motylkov
64c87aab73 [TRANSLATION] Fix Croatian (hr-HR) sublanguage identifiers
Should fix MSVC build. Addendum to 4644e5b7.
2022-04-02 22:54:19 +03:00
Andrej Bartulin
4644e5b75d [TRANSLATION] Update Croatian (hr-HR) translation (#4375)
- [COMCTL32] Fix Croatian (hr-HR) MessageBox mnemonics
- [SYSSETUP] Add Croatian (hr-HR) translation

2nd stage of setup translated to Croatian and hotkey fix in MessageBox
("Napijed" and "Nazad" share the same keyboard mnemonic, Alt+N).
2022-04-02 20:32:28 +03:00
Hermès Bélusca-Maïto
64290dd2c9 [BOOT] Move boot-related commands from boot/CMakeLists.txt into a boot_images.cmake sub-file. (#4407)
This allows the CMakeLists.txt file to be less cluttered by unrelated stuff.
2022-04-01 04:58:08 +02:00
Hermès Bélusca-Maïto
88618f176d [BOOTSECT] ISOBOOT: Add missing trailing 0x55AA sector signature. 2022-04-01 04:57:31 +02:00
Hermès Bélusca-Maïto
3d3a5aa02e [SDK:REACTOS][SVCHOST] Add/complete all missing definitions in the SVCHOST global header. (#4295)
Following commit 24a727a23, give a lift to the SVCHOST global header
and add & complete all the missing definitions.

- Based on https://www.geoffchappell.com/studies/windows/win32/services/svchost/process/globaldata.htm
  from public debug symbols (e.g. svchost, mswsock, w32time, wscsvc...),
  adjust some of our symbols' names.

- Make the header C++-compatible.

- Even if the start/stop RPC server functions return an error code whose
  underlying storage type is a 32-bit long, they don't return an RPC
  status error code, but an NT status. Thus, use the adequate type
  instead.

- The PSVCHOST_STOP_CALLBACK is nothing but a WAITORTIMERCALLBACK function.

- Take the opportunity to fix some of these functions' SAL annotations.

- Remark: "LP" for pointers is old-fashioned Windows, avoid this in NT code.

[MSWSOCK][SECLOGON] Do the minor adjustments. Remove unnecessary function casts.
2022-04-01 04:55:31 +02:00
Joachim Henze
493bb8de46 [CMAKE] msvc.cmake: Remove redundant '/Gy' (#4424)
* [CMAKE] msvc.cmake: Remove redundant '/Gy'

Function-level-Linking '/Gy' is already enabled unconditionally
at line 26. So no need to enable it here another time.
Makes the differences between the multiple OPTIMIZE-levels more obvious.

* [CMAKE] msvc.cmake: Fix typo in comment
2022-03-31 21:18:26 +02:00
Luke Luo
f59c58d833 [TRANSLATION] Improve Simplified & Traditional Chinese translations (#4388)
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 20:38:52 +03:00
Wu Haotian
0c42866e64 [TRANSLATION] Review & update Simplified Chinese (zh-CN) translation (#3933)
Reviewed all Chinese Simplified translation files and updated those
inappropriate or outdated ones.

Co-authored-by: Liu Wenyuan <15816141883@163.com>
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Zheng Jianping <robsean@126.com>
Reviewed-by: Luo Yufan <njlyf2011@hotmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 20:30:52 +03:00
Chan Chilung
2752c42f0b [TRANSLATION] Update Hong Kong Chinese (zh-HK) translation - Part 2 (#4347)
- Added zh-HK translation for following files:
  - [BASE/SERVICES/W32TIME]
  - [BASE/SYSTEM/...] (except CMD console only applications)
  - [FDEBUG]
  - [DLL/CPL/...] (except Wine related applications)
  - [DLL/SHELLEXT/...]
  - [DLL/WIN32/...] (not all applications are translated, and Wine related applications are excluded from this part)
  - [MODULES/ROSAPPS/APPLICATIONS/...] (not all applications are translated)
  - [SCREENSAVERS]
  - [NTVDM]
  - [USERSRV]
- Translation Improvement
- Fix header for zh-TW and zh-HK translation files

Reviewed-by: Luo Yufan <njlyf2011@hotmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 17:10:21 +03:00
Joachim Henze
fd8dd5868e [DISKPART] *.rc Reduce likelihood of translators messing with indentation (#4421)
Colons in the neighbor-lines must be aligned to each other. It is easier for translators to respect this
in their translation if all strings start at the same column in their editor.
2022-03-31 15:57:59 +02:00
Jose Carlos Jesus
9c28ea3330 [REGEDIT][ACCESS] Improve Portuguese (pt-PT) translation (#4326)
- [REGEDIT] Update pt-PT translation and adjust objects
- [ACCESS] Improve pt-PT translation
- [ACCESS] Adjust object position for better appearance
2022-03-31 15:58:13 +03:00
Katayama Hirofumi MZ
6541c423f4 [IMM32] Add more 'Win:' comments (#4423)
CORE-11700
2022-03-31 19:36:11 +09:00
Katayama Hirofumi MZ
97f4c3c3af [IMM32] Renaming: s/ImmLockOrLoadImeDpi/Imm32FindOrLoadImeDpi/ (#4422)
- Rename ImmLockOrLoadImeDpi as Imm32FindOrLoadImeDpi.
- Imm32FindOrLoadImeDpi --> Win: FindOrLoadImeDpi.
CORE-11700
2022-03-31 19:35:31 +09:00
Katayama Hirofumi MZ
89846a2977 [IMM32] Renaming: worker functions (#4420)
Renaming: s/Imm32SetCompositionStringAW/ImmSetCompositionStringAW
Renaming: s/Imm32GetImeMenuItemsAW/ImmGetImeMenuItemsAW/
Renaming: s/Imm32RequestMessageAW/ImmRequestMessageAW/
CORE-11700
2022-03-31 14:34:08 +09:00
Katayama Hirofumi MZ
166786061c [IMM32] Renaming about IME layout (#4419)
CORE-11700
2022-03-31 13:52:16 +09:00
Katayama Hirofumi MZ
6dfe032152 [IMM32] Renaming: s/g_SharedInfo/gSharedInfo/ (#4418)
CORE-11700
2022-03-31 10:00:06 +09:00
Katayama Hirofumi MZ
ed765b7c3b [IMM32] Renaming: s/pImmHeap/ghImmHeap/ (#4416)
CORE-11700
2022-03-31 09:11:13 +09:00
Oleg Dubinskiy
5d81de7d5b [REACTOS] Update email in all my copyrights (#4415)
Change it to Gmail, because Yandex disabled ua domain, which was used in my previous email.
2022-03-31 01:53:30 +02:00
Katayama Hirofumi MZ
f8902dc327 [IMM32] Renaming: s/Imm32CleanupContext/Imm32DestroyInputContext/
CORE-11700
2022-03-29 19:02:56 +09:00
Katayama Hirofumi MZ
720da3b9be [IMM32] Renaming: s/Imm32GetContextEx/ImmGetSaveContext/
CORE-11700
2022-03-29 18:05:09 +09:00
Katayama Hirofumi MZ
46518ad601 [IMM32] Renaming: s/Imm32HeapAlloc/ImmLocalAlloc/
s/Imm32HeapFree/ImmLocalFree/
CORE-11700
2022-03-29 18:02:25 +09:00
Katayama Hirofumi MZ
0d744afbc7 [IMM32] Renaming: s/g_hImm32Heap/pImmHeap/
CORE-11700
2022-03-29 17:59:23 +09:00
Katayama Hirofumi MZ
82fa82d8e1 [IMM32] Renaming: s/g_psi/gpsi/
CORE-11700
2022-03-29 17:57:28 +09:00
Eric Kohl
a4f08c7746 [DISKPART] Fix duplicate resource IDs 2022-03-28 21:04:06 +02:00
Oleg Dubinskiy
7309801e5a [NTOS:IO] IoRegisterDeviceInterface: create non-volatile keys for new device interfaces
Always create only non-volatile (sub)keys when registering a new device interface, so then they are saved after reboot.
On Windows, nearly all device interface keys are non-volatile, except the "Control" subkey, which is managed by IoSetDeviceInterfaceState instead.
In particular, it fixes MS sysaudio loading failure with MS audio drivers replacement (ks, portcls, swenum, sysaudio, wdmaud). My IoGetDeviceInterfaceAlias implementation is also required to be applied. MS sysaudio implementation(s) except that those keys are non-volatile (but we're creating them volatile instead), and trying to create a subkey(s) there (via other IoDeviceInterface* routines), to read/write some needed data. But then they fail to do that with STATUS_CHILD_MUST_BE_VOLATILE (0xc0000181), obviously because our keys are volatile.
The volatile keys can never have non-volatile subkeys.
CORE-17361
2022-03-28 08:13:05 +02:00
Hermès Bélusca-Maïto
215148267e [HALX64] Do not claim to handle display reset if you don't. Fix bootvid display initialization in x64 as a result.
The HalpBiosDisplayReset() function is currently stub-plemented.
Returning FALSE will make bootvid take the route of fully
re-initializing the VGA display all by itself.
2022-03-28 00:32:25 +02:00
Eric Kohl
38b38bbf0c [DISKPART] Implement the detail command
Display disk and partition details.
2022-03-28 00:25:34 +02:00
Eric Kohl
8476ae6ed5 [DISKPART] Improve the conversion of numeric command parameters 2022-03-28 00:04:24 +02:00
Eric Kohl
72087c1e3a [DISKPART] Move helper functions to a separate file 2022-03-27 20:09:34 +02:00
Hermès Bélusca-Maïto
d873865971 [SDK:CMLIB] Const-ify the unicode strings that are only used as input and not modified. 2022-03-27 19:38:54 +02:00
Hermès Bélusca-Maïto
a6da36ed1b [BOOTDATA] Properly capitalize 'Boot File System'. 2022-03-27 19:38:53 +02:00
Hermès Bélusca-Maïto
ce641de1e0 [NTOS:CONFIG] Add missing HvGetCell casts. Addendum to a4cad7be6. 2022-03-27 19:38:53 +02:00
Hermès Bélusca-Maïto
8ccd435eb0 [SDK:CMLIB] HvGetCell is a macro calling the hive's GetCellRoutine callback.
In principle there should be different get-cell routines, depending
on the type of the hive (given by the OperationType parameter of
HvInitialize): for flat hives, memory-mapped hives, etc.
For now in ReactOS we only support a restricted subset of these,
therefore we are still happy with a single get-cell callback...
This may change in the future.
2022-03-27 18:37:16 +02:00
Hermès Bélusca-Maïto
a4cad7be6b [SDK:CMLIB][MKHIVE][BOOT:ENVIRON][NTOS:CONFIG] Add missing HvGetCell casts. Replace some ASSERT(FALSE). 2022-03-27 18:37:16 +02:00
Eric Kohl
641fdb342e [DISKPART] Store full scsi address in the diskentry 2022-03-27 18:05:04 +02:00
Eric Kohl
5a63f3e85a [DISKPART] Implement the uniqueid command
TODO: Set disk signatures.
2022-03-27 17:54:38 +02:00
Eric Kohl
2ba6b09754 [DISKPART] Add volume support
Add the 'list volume' and 'select volume' commands
2022-03-26 15:18:08 +01:00
Hermès Bélusca-Maïto
eeb4cbcb6b [FREELDR:INF] Change immutable input string pointers to PCSTR when it's possible. 2022-03-25 18:54:22 +01:00
Hermès Bélusca-Maïto
e51c305f51 [SDK:RTL] Consistently use the Allocate/FreeStringMemory helpers when allocating/freeing string buffers. 2022-03-25 18:54:21 +01:00
Hermès Bélusca-Maïto
ab827f5225 [SDK:RTL] Don't copy-paste rtl.h into rtl_vista.h; just include it instead. 2022-03-25 18:54:20 +01:00
Hermès Bélusca-Maïto
fa404fb2b4 [SDK:RTL] Place source files in alphabetical order in CMakeLists.txt 2022-03-25 18:54:19 +01:00
Hermès Bélusca-Maïto
9d3c3a757a [SDK:REACTOS][CMLIB][BOOT] Get rid of the FreeLdr-specific __FREELDR_H define, and use the standard NT _BLDR_ instead.
This standard _BLDR_ define is already defined for both FreeLdr and
boot/environ UEFI bootloader lib, so no actual behavioural changes
should occur.
2022-03-25 18:54:18 +01:00
Joachim Henze
44a6987493 [CRT_APITEST] wctomb.c Fix '\n.' typos CORE-18103
Addendum to 0.4.15-dev-139-g 3cb0bdaa0b

Those were the only new cases introduced in the ReactOS source tree since
our last cleanup in that regard.
Ftr I think adding such finishing dots in debug prints are nonsense in general.
2022-03-25 18:42:07 +01:00
Joachim Henze
a8107ee446 [REACTOS] Fix ' \n' typos in *.rc CORE-18103
Some new were introduced recently since we did that
replacement the last time. Kill them quickly.
2022-03-23 21:10:08 +01:00
Joachim Henze
b66389c140 [SERVICES] Restore Herves name and readd g_dwServiceBits CORE-18071
Partial revert of 0.4.15-dev-4274-g d31a557237

As hbelusca explained the special character will warn only
once for each non-UTF8-file and not every time, unlike I anticipated.

The g_dwServiceBits is not important right now, but hpoussin expects it
to be a preparation step for making the stuff passed to the
function SetServiceBits() persistent
https://docs.microsoft.com/en-us/windows/win32/api/lmserver/nf-lmserver-setservicebits
for (yet unknown) features to come.
2022-03-20 20:52:53 +01:00
Joachim Henze
d31a557237 [SERVICES] Tweak the binary size a bit CORE-18071
Fixes some typos like "alread"->"already"
and kill g_dwServiceBits in rpcserver.cpp
and omit points and exclamation marks at end of prints.

On GCC8.4.0dbg RosBE2.2.1 this shrinks the file for me from 210.432 to 209.920
The file is loaded many times into memory, therefore
optimization pays off here at runtime memory consumption.

Also shorten to H. Poussineau in the header sections,
to stop git from displaying diff in that line on each review
due to that special char.
2022-03-20 20:12:56 +01:00
Mark Jansen
80c56a5f6c [WINESYNC]: msi is now in sync with wine-staging wine-7.3 2022-03-20 19:28:46 +01:00
winesync
3b5586f635 [WINESYNC] msi: Create the custom action server as an elevated process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51143
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>

wine-staging patch by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:45 +01:00
winesync
48d97683b3 [WINESYNC] msi: Do not sign extend after multiplying.
Signed-off-by: Mark Jansen <learn0more+wine@gmail.com>

wine-staging patch by Mark Jansen <learn0more+wine@gmail.com>
2022-03-20 19:28:45 +01:00
winesync
f162f02b5d [WINESYNC] msi/tests: Fix the trailing linefeed in an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 194d1b72587756512c693df7c2fce505d591c905 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:45 +01:00
winesync
0dd82beda9 [WINESYNC] msi/tests: Correctly free usersid.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1bab386adffce4cd5589cec43b407d53230ef1cd by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:45 +01:00
winesync
1b4acd3c65 [WINESYNC] msi/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54b8c8c7eaafd19780cb4d91b763fe2f20327f50 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:45 +01:00
winesync
02f995b22e [WINESYNC] msi: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c3135c632f1df0091afd5d0d62855f3dc7abe247 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:44 +01:00
winesync
36bf554942 [WINESYNC] msi: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 337d7911bfb83b0e775a34c96b67b4e67c1fa871 by Eric Pouech <eric.pouech@gmail.com>
2022-03-20 19:28:44 +01:00
winesync
d683397fb9 [WINESYNC] msiexec: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 081bd13f1159b43b4d9167d878217669d0eff3cd by Eric Pouech <eric.pouech@gmail.com>
2022-03-20 19:28:44 +01:00
winesync
848267813e [WINESYNC] msi: Fix memory leak in get_fusion_filename (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ad90181e1407bc4ffe81e55f07f83b23c09cccb8 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:44 +01:00
winesync
6aefc5b976 [WINESYNC] msi/tests: Use CRT allocation functions.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 11ddaf067f80749fa1a40b28dba3aa3f88a70623 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:44 +01:00
winesync
1b18dc22d5 [WINESYNC] msi: Use CRT allocation functions.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d5f28457e8eced81677509f5129a20f10df526c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:43 +01:00
winesync
34c24483e5 [WINESYNC] msi/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 164664a34ee7f01395e8b9028728a026268c1595 by Fabian Maurer <dark.shadow4@web.de>
2022-03-20 19:28:43 +01:00
winesync
5deb0e6042 [WINESYNC] msi: Use custom action name for MsiBreak handling.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50433
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b74b634335c8d843e6dc2ef21e5d9248ca05bae9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:43 +01:00
Mark Jansen
218a1ae241 [WINESYNC] include: Introduce winetest_push_context() and winetest_pop_context().
include: Introduce winetest_push_context() and winetest_pop_context().

Based on vkd3d's vkd3d_test_set_context(), but adding support for a stack of
context prefixes, to more easily accomodate tests with nested loops.

af39a1b0bce0622ed8df0e64f9c794380eb30c45

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:43 +01:00
winesync
eb75eae983 [WINESYNC] makefiles: Specify the bison prefix directly in the source files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4af3134dec425706b74428317e9ab327b6061cc by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:42 +01:00
winesync
9a05b53ce8 [WINESYNC] msi: Don't call RegCloseKey with uninitialized value.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4240e71a350b16d7ba048a839683c2023d03c831 by Eric Pouech <eric.pouech@gmail.com>
2022-03-20 19:28:42 +01:00
winesync
3d6aaff254 [WINESYNC] msi: GetBinaryType() doesn't accept DLLs.
With help from Dmitry Timoshkov.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51790
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4aa858c9badfb35bcc3cdd38abfd40dc5b06c696 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:42 +01:00
winesync
faea5bf012 [WINESYNC] msi: Wrap around to first record at end of view in MSI_ViewFetch.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 547492007e17ed7fe3c2e5ffd5f58f0d46a40048 by Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-03-20 19:28:42 +01:00
winesync
47b3e61d62 [WINESYNC] msi/tests: Add tests for MsiViewFetch wraparound behaviour.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f26a9d093dff052e1db0c68db8801219d409cb3f by Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-03-20 19:28:42 +01:00
winesync
91f589bcea [WINESYNC] makefiles: Directly generate resources also for non-registered typelibs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 04d8725080fdc1c97fcd04065acf6b30f42057a7 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:41 +01:00
winesync
6eaaa698cd [WINESYNC] msiexec: Append .msi extension to file name if file is not found.
Fixes Stellaris failing to install launcher at start.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd5d942a733bf35b7c6b6644d2aed571c185baba by Paul Gofman <pgofman@codeweavers.com>
2022-03-20 19:28:41 +01:00
winesync
f56eca297a [WINESYNC] msi: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 523553512a580a885b1783c773699dfe0928e3b6 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:41 +01:00
winesync
8c1eae241a [WINESYNC] msi: Pass size in bytes to RegQueryValueExW().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a6bdd2cee87bb076d57aaa013b2492d8b70506f by Zhiyi Zhang <zzhang@codeweavers.com>
2022-03-20 19:28:41 +01:00
winesync
00510cf555 [WINESYNC] include: Use the standard va_list instead of __ms_va_list when building with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a92c58e1152e1d80395cf31d7cd3f282d094540 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:41 +01:00
winesync
d749abb725 [WINESYNC] msi: Fixup Installer\\Patches\\<...> key path (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 856e8ea298eebf0eaedd5f352476e6e986b1bd67 by Nikolay Sivov <nsivov@codeweavers.com>
2022-03-20 19:28:40 +01:00
winesync
a966ff8233 [WINESYNC] msi: Set dialog as parent in subsequent dialog.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4b88e290521ef9fde9290c9bcbae7420966a6f46 by Fabian Maurer <dark.shadow4@web.de>
2022-03-20 19:28:40 +01:00
winesync
e097431ffc [WINESYNC] msi: Don't leak the file handle on error in cabinet_close_file_info().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0a800ab1bd174e78b03d4592d1caca0322cd1c9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:40 +01:00
winesync
bdddd67734 [WINESYNC] msiexec: Add system DPI awareness settings to the application manifest.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aa3f2ccd1dbf963cd1bed5e15458719a0488017d by Zhiyi Zhang <zzhang@codeweavers.com>
2022-03-20 19:28:40 +01:00
winesync
c239da3a8a [WINESYNC] msi: Remove CDECL on static functions where not needed.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b60e4064508e79ca6fdb2937ca8cfd3f58423f79 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:40 +01:00
winesync
026a2db614 [WINESYNC] msi: Fix ASCII / ANSI mixups in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45fb4ac4e2f94486e36d6d271c08b59feee4d12e by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:39 +01:00
winesync
0a1c22503d [WINESYNC] include: Fix size of MsiEnumClientsEx[AW]'s array argument (GCC).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14e205ff502ec7275d2c4cf59b1446ac0a294416 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
a8f4759920 [WINESYNC] msiexec: Enable visual styles.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76e448bd7dc147443191b9f652f2f274f44e9fbe by Zhiyi Zhang <zzhang@codeweavers.com>
2022-03-20 19:28:39 +01:00
winesync
de80f2a3c1 [WINESYNC] msi: Check for a NULL return from deformat_string() when checking for failure.
An empty string is valid, and can occur if e.g. a nonexistent property is
expanded.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51091
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 814f18ab756cd69158ce893c4f7898e14d3e46dc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
8975937c00 [WINESYNC] msi/tests: Make check_reg_* helpers more verbose.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0f54eee2a5dc985d7e16c382516c8b66e61e54f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
c595505376 [WINESYNC] msi/tests: Always explicitly test REG_MULTI_SZ strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 80426fdc76597768b787a38644f1c53110b26f05 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
9d3876e40f [WINESYNC] msi: Write "Clients" value as REG_MULTI_SZ in PublishProduct.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1951853d06144e67b8a3d9d63c835e06a7232588 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
8c80eb17f5 [WINESYNC] msi/tests: Pass an empty string to check_reg_str() instead of special-casing NULL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2052d03fdf82ea9112c6ce3719936e245834eeb7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
7cface09ce [WINESYNC] winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d82baf9747b7b133cad3be77c0cc9e24cc09582 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:38 +01:00
winesync
4bf22783a8 [WINESYNC] msi: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc2cc1463a493651f765fe18852a16c01184ad92 by Jacek Caban <jacek@codeweavers.com>
2022-03-20 19:28:38 +01:00
winesync
a3e22d8922 [WINESYNC] msi: Fix building the fusion filename.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50809
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 46424c6196a7b544ff6173d544fc120cc9f804d9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:37 +01:00
winesync
1c1431b92f [WINESYNC] msi: Remove read-only bit when copying the package file.
CopyFileW also copies the file attributes, and the copy will be opened with
write access later on.

Signed-off-by: Jérôme Gardou <jerome.gardou@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e830975806df9ef283c89f7153b06b145dfb2cec by Jérôme Gardou <jerome.gardou@gmail.com>
2022-03-20 19:28:37 +01:00
winesync
34b3377879 [WINESYNC] msi: Return an error if trying to run a 64-bit custom action in a 32-bit prefix.
This matches native behaviour (manually tested).

This allows the Research in Motion (Blackberry) USB and Modem driver to fail
cleanly instead of hanging, if run in a 32-bit prefix.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 408662379281aa24f41b680f1aba9abf2b40c603 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:37 +01:00
winesync
fc7157139f [WINESYNC] msi: Check for failure from do_msidbCustomActionTypeDll().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5f21acdc9e9840b50a6991b8e8dc52758adb192d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:37 +01:00
winesync
8585445613 [WINESYNC] msi: Also set "MsiRunningElevated" installer property.
This property is supposed to be set starting from Windows Installer
4.0 targeting Windows Vista. This patch fixes the installer that
checks this property in addition to VersionNT and ALLUSERS.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dac655abce0397b3c1accec64039b8cd75beb561 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:36 +01:00
winesync
0fdd4d83b3 [WINESYNC] msi/tests: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f211bd0a4e0b8e8911b6a64ff4f09bb9d4ec2f84 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:36 +01:00
winesync
7d95ee4fe9 [WINESYNC] msi: Use a string literal for empty strings.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17c745a9d253b888366831ce4b9e695297f0dac2 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:36 +01:00
winesync
9ad17dd7b2 [WINESYNC] msi: Correct Query for loading an image.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 358d4f5a914e574c026380666964fcefb0495517 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-03-20 19:28:36 +01:00
winesync
b6228b299c [WINESYNC] msi/tests: Test the "VersionNT" property.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 990fc66274d68b915df62005ab93792129612fc1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:36 +01:00
winesync
9fb472fc26 [WINESYNC] msi: Use the global is_wow64 variable in custom_start_server().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 12ae1f8528b18d0df018680747429be29fca7ea4 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:35 +01:00
winesync
f31e4044c2 [WINESYNC] msi/tests: Use wide character string literals.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 058ca3d04a4a712d86a111a1975045be02e03133 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
74f53b4bcb [WINESYNC] msi: Use wide character string literals in the remaining files.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c4fc91f4bf0ffdc4a7dc2e582e5bd3fddca85222 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
d012037f17 [WINESYNC] msi: Use wide character string literals in classes.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e7dd9b3f3694b276d50ccfb5515e7e0f70b1c555 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
0f67ae4bda [WINESYNC] msi: Use wide character string literals in registry.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2672646eaeb1877e0d746e8554529396ec8d9eb1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
0272139cbc [WINESYNC] msi: Use wide character string literals in package.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 731bb72c3d00b089ee23297efdfe0496733e96a4 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
a808407b15 [WINESYNC] msi: Use wide character string literals in msi.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8255da2249816b77b709d1e6c888760c5e59a8f8 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
9066c718b0 [WINESYNC] msi: Use wide character string literals in dialog.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d9fbe788af65c2b2696c446d765a34ae40e3226b by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
7ceaee6d19 [WINESYNC] msi: Use wide character string literals in action.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8e13b0b99c823bc22c7eef8b8dac04de283ca462 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
ce6af3b1bc [WINESYNC] msi: Use 0 terminated WCHAR strings in the SQL tokenizer.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6705b959d0cf7635bf2ab16ab89fefb409a0a9c8 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:33 +01:00
winesync
cdb9abd625 [WINESYNC] msiexec: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 64709fe7e9c629f476fb0dd7b62480e868b0174c by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:33 +01:00
winesync
dac7d6f23c [WINESYNC] msi: Fix a leak (Coverity).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 462edf6e2a79208d6c88ac6aeb760733d571b7c5 by Sven Baars <sbaars@codeweavers.com>
2022-03-20 19:28:33 +01:00
winesync
1cdb30ec0d [WINESYNC] msi: Install feature when new component is added.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49350
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 877540b522c46134aa1b843519fa5694adb187ce by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:33 +01:00
winesync
aa0312d7cb [WINESYNC] msi: Add disabled feature to show that it's not getting installed by patch.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99e7c801e4d5032110190acbb04d85eb069df867 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
8bb4f0597d [WINESYNC] msi: Test adding new feature in patch.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc8bc83e9ecd2aba8e322a974af268e715fbd372 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
1c5160dca5 [WINESYNC] msi: Add support for appending data to _TransformView table.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3459c90cd6a49e817213b6e6764bdfafa7d4bcc7 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
ed0e61b53a [WINESYNC] msi: Remove no longer needed parameter from TABLE_remove_column.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d579b17eb425ac5e28f9263ebf302ea2282996ec by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
c6c4bdb242 [WINESYNC] msi: Fix use after free error in TransformView_set_row.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a0a0d2a0b15bffa9d4a5b41e75be6765e731d69 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
61167e123f [WINESYNC] msi: Remove MSICOLUMNINFO.temporary field.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b61455cb81714ff4f4108b70584816adbffbc68a by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
791734c2e9 [WINESYNC] msi: Remove column_info.temporary field.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76a2077c83048d8eead8ea0cbfafa70406c0cd88 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
9cf1ecf2f3 [WINESYNC] msi: Fix adding temporary columns.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15b47513a1926a103492e0774396119f57d2e8d5 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
41e6537b69 [WINESYNC] msi: Add table existance tests for tables with temporary columns.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cb9cb83cda01fa873667e11038d9bdd01428f059 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
8b9aafd97b [WINESYNC] msi: Test freeing _TransformView table.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb5a803bdbb8f602ae1212674a121cadd24642a5 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
eb6788c943 [WINESYNC] msi: Remove ref_count from MSICOLUMNINFO.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7200257d0428b1e9b4da72e8c4e39f9cf27455e6 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
caa225a496 [WINESYNC] msi: Fix table ref count on create.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 405486fbe6853c78744099fa1ebe07995e07a438 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
5c718f5f5c [WINESYNC] msi: Support removing temporary columns in TABLE_remove_column.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d568279dc0b842206918ba87a955298e72973ae by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
f78dfeafac [WINESYNC] msi: Add MsiDatabaseApplyTransformA MSITRANSFORM_ERROR_VIEWTRANSFORM test.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 301dde9838563d33b610c2c09dc69cb07c4c8c9d by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
4048c060fc [WINESYNC] msi: Support DELETE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b1f9f4ccee6f7d42dbeaf457e81db462a1b526af by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
9d793f296e [WINESYNC] msi: Support DROP when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b6e1bd2c73ac23b03db0e656f895896936df5ba by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
e6af2a5a61 [WINESYNC] msi: Support INSERT INTO when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9130379710297cb487dbd8891b82f505e754c39d by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
28c50c1ac7 [WINESYNC] msi: Support ALTER TABLE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ae6fd7b14792b932832da6f5d5088d500723c386 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
27a430bda6 [WINESYNC] msi: Support CREATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e4077fb6d77810e40e842e7557c03ab3abe0593 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
317c1f6c05 [WINESYNC] msi: Support UPDATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6e7303a7006538d3df1a09e13f5a5f469098b35f by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
1bbb87bb26 [WINESYNC] msi: Add stub support for MSITRANSFORM_ERROR_VIEWTRANSFORM flag in MsiApplyTransform.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8bc835b4517728fac8ff8a9cfa5e59b843e9a8df by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
8e75cb8a26 [WINESYNC] msi: Introduce msi_record_stream_name helper.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5fc68884adec547a5343e8713e8727282b5aa25a by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
ce486a09ef [WINESYNC] include: Add MSITRANSFORM_ERROR enum definition.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 57b870007dddd86c6772ce1707148ec7ad8bd8db by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
5c7b97165c [WINESYNC] msi: Fix installing from administrative image with compressed source files.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49352
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15c8e5dee6fa3b7eac1d1b3cd6d27aa744faff4d by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
1c0e89646f [WINESYNC] msi: Return void from init_automation_object.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1726b7f46c03a543f5d682d951f29a4af41001e7 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
c65efd0116 [WINESYNC] msi: Add support for bitmap buttons.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48974
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9cc044957791e0658ec3d0d8ad08eebfc08b522c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:27 +01:00
winesync
f4d2571b7e [WINESYNC] msi: Report the real NT version number up to 6.3.
MSI always reports 6.3 even without a manifest, but does not report anything
higher.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48959
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 658183a803fced017e1e29f4001cec8b48748327 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:27 +01:00
winesync
ba60287fce [WINESYNC] msi: Add support for ListView dialog control.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76606eaea034c51a73190aac92e75d8b20e82164 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:27 +01:00
winesync
484e828005 [WINESYNC] msi/tests: Fix some format-overflow warnings.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f961817710edd81b5d91bb7cb3f78975c307bfa2 by Rémi Bernon <rbernon@codeweavers.com>
2022-03-20 19:28:27 +01:00
winesync
98d8ddaaa0 [WINESYNC] msi: Change unknown platform enum entry name.
Public shlwapi.h defines same name, it seems safer to rename internal type.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5aeb9ed82efd4a02d24eac4ffdb64e7badb5f8bd by Nikolay Sivov <nsivov@codeweavers.com>
2022-03-20 19:28:27 +01:00
winesync
3d671fafe3 [WINESYNC] msi: Properly declare variables in msi/tests/utils.h as extern.
Omitting the extern storage qualifier when declaring a global variable in
a header file is mistake. If that header is included by several files it
results in multiple definitions of the same variable (unless -fcommon is
specified or assumed, the latter being the case for GCC 9.x and earlier).

This fixes building with GCC 10.

Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ea032bb7f8daddfe308f86f52c54db5f657b658a by Gerald Pfeifer <gerald@pfeifer.com>
2022-03-20 19:28:26 +01:00
winesync
5741562d55 [WINESYNC] msi: Global variable compatibility update for gcc 10.
Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc7f698b8245a48669d248569e7589ff824f2c70 by Michael Cronenworth <mike@cchtml.com>
2022-03-20 19:28:26 +01:00
winesync
373ffef2ef [WINESYNC] msi: Add support for custom action type 7.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44618
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54ef6e5e3932a5ce747fca717c697b67f2bd3e24 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:26 +01:00
winesync
be64b5c843 [WINESYNC] msi/tests: Fix a crash on Windows 10.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4661c8d45b8f4b4b2adfb157bb16ce3466bc00f0 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:26 +01:00
winesync
ea5d4e807c [WINESYNC] msi/tests: Fix test_feature_override() to properly clean up its features on removal.
This was leaving behind registry entries (as well as the already accounted-for
program files), which apparently caused subsequent test failures when running
msi:action.

While Wine is not behaving exactly correctly here (i.e. and removing the feature
anyway), I suspect it is not sufficiently interesting to test whether we behave
correctly with what is essentially a buggy package.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 932ed6bf84a96efa6e0169eb7c9414824eef195c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:26 +01:00
winesync
fb0b52255c [WINESYNC] msi/tests: Avoid test failure when running as an unprivileged user.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 90422f9bb59d4a2e34ad9cffbb4f04b896ab7235 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:25 +01:00
winesync
ad8c894b8f [WINESYNC] msi: Use %define api.pure instead of %pure-parser.
The latter is deprecated and causes warnings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d977c55bb4b9c564f376c22b43c60c9be7dc782d by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:25 +01:00
winesync
796c6b07d2 [WINESYNC] msi: Use integers internally for MSIDBOPEN constants.
This fixes a bug where some verions of mingw and probably gcc
assume that the result of pointer subtraction will be non-NULL,
causing MSI_OpenDatabaseW to break when given the mode
MSIDBOPEN_READONLY + MSIDBOPEN_PATCHFILE.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cce9a5f124ae6d3fffcc7772cab6523f09a1e3d1 by Vincent Povirk <vincent@codeweavers.com>
2022-03-20 19:28:25 +01:00
winesync
694121b969 [WINESYNC] msi/tests: Remove workarounds for Windows 2000.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71f755820642777261c54d3fe6a04ba202059340 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:25 +01:00
winesync
2b92436d82 [WINESYNC] msi/tests: Run the package tests from a temporary directory.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8503ad172229979e9929e8d54dac546c5b799a03 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:25 +01:00
Mark Jansen
427d8af7f1 [SDK/WINE] Add support for subtest
033196641b
2022-03-20 19:28:24 +01:00
winesync
d7c30ed194 [WINESYNC] msi/tests: Fix test failures.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b4b37cc7e05724fac235cef278a97b358d0cba1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:24 +01:00
winesync
3b27d975e8 [WINESYNC] msi/tests: Add missing UnpublishFeatures actions.
Reported by Sven Baars.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47992
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f7bd33a838afca7086e993a9be7fa2d8dbdb5b6 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:24 +01:00
winesync
a57d95c134 [WINESYNC] msi: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0c6c8c2ecdad0bf8992b6c89276ee7bf2402883 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:24 +01:00
winesync
a88e131f97 [WINESYNC] msi/tests: Fix the case of an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3f2cae1378cc14e98747af6c0de02cb1e6a69928 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:24 +01:00
winesync
b248722082 [WINESYNC] msi/tests: Fix a test failure on Windows XP.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eec7f105124a58565fa35ca61c1bc8289321fedc by Sven Baars <sven.wine@gmail.com>
2022-03-20 19:28:23 +01:00
winesync
64fe3dd207 [WINESYNC] msi: Fix a leak on error path (Coverity).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fe91ae51f1553875c1858df264c0603877d50737 by Sven Baars <sven.wine@gmail.com>
2022-03-20 19:28:23 +01:00
winesync
9e09d87f83 [WINESYNC] msi/tests: Declare the custom subtest.
It may print test failures and as such should be declared by its parent.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 208ff02005e183a9f9b153644e06ace3e865df5e by Francois Gouget <fgouget@codeweavers.com>
2022-03-20 19:28:23 +01:00
winesync
16273720a9 [WINESYNC] msi: Don't error when an ODBC Data Source fails to register.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4f1f9b7bdd46bf1f18c1e337ac6864bee3b0733 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-03-20 19:28:23 +01:00
winesync
06129f8479 [WINESYNC] msi: Fix component Action for shared components in CostFinalize.
Fixes regression in wow .NET4.6.2 installation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d95bffdadbf18b91c1bb15cc7132ae3b9f505f98 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:22 +01:00
winesync
f51751dd6b [WINESYNC] msi/tests: Actually test two return values.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8738075da4e59336898457fb381488aa3be877cb by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:22 +01:00
winesync
7235446447 [WINESYNC] msi: Close all handles opened by a custom action thread.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47418
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4e7e956bd93f0ffd597a041a58c82c02c811ac0 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:22 +01:00
winesync
461c9cb74a [WINESYNC] msi/tests: Accept case variations for path properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48f93bc3290596b8da4455496fa88cd13ea6f3c9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:22 +01:00
Mark Jansen
eefbf83462 [SDK] Include stdio in wine/debug.h
Wine also has this, and they rely on it in some files
2022-03-20 19:28:22 +01:00
Mark Jansen
f1132155d9 [SDK][CRT] Add _CRT_NON_CONFORMING_SWPRINTFS support
This allows us to easier port wine changes, where swprintf with a size is used a lot
2022-03-20 19:28:22 +01:00
winesync
958f1addcf [WINESYNC] msi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7cd3c9f0734d217e1d08319e72a9df91fe2ef882 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
984f969d62 [WINESYNC] msi/tests: Don't skip a 64-bit test on Wine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3b621e6d6d0db956864907bc7960cdd20428b033 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
0f3c2a7956 [WINESYNC] include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5a372abbba2e174de78855bdd4a004b56cdc006 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
13f70a1e5f [WINESYNC] msi: Use strncmpiW instead of memicmpW for strings without embedded nulls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 280d10b27715c86a5784bba8db7db1e52b1602fa by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
f0decc7608 [WINESYNC] msi: Remove registration for no longer used WineMsiRemoteCustomAction coclass.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f73fefd24c175436f3623939973b377d0822e02e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:21 +01:00
winesync
62230ae3d8 [WINESYNC] msiexec: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8dff0e34452f4874873c91a7ec3b92a7cf1c3e16 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:20 +01:00
winesync
a32b4b85c6 [WINESYNC] makefiles: Build all tests with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d4ef782db7928e0deed5f0b43a8a1557cae0358e by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:20 +01:00
winesync
3b835aa0ab [WINESYNC] msi/tests: Avoid using snprintf().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 72f7f57a21d6e4dd63de56d4a9a265048ed930b6 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:20 +01:00
winesync
bef1f25922 [WINESYNC] msi: Always use the 64-bit registry view to retrieve registered owner and organization.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d17f36c13f129d5bfed290a0583b441657a6a9a by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:20 +01:00
winesync
0d7b11abec [WINESYNC] msi/tests: Check the NT key first when retrieving registered owner and organization.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dec192ce22283c4c0cb80337e0ce0904d9d9be89 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:20 +01:00
winesync
8db2fe8cb4 [WINESYNC] msi: Get rid of redundant KEY_WOW64_64KEY flags.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be02ecda3c27f4fa3ed574b1df4e51337f9304de by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
c3c3655cab [WINESYNC] msi: Fix handling of architecture in MSIREG_{Open, Delete}UninstallKey().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47009
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d9363446fad694b6e534d84fce63bfc9dbbf4d3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:19 +01:00
winesync
435274d1ec [WINESYNC] msi: Fix architecture handling in the AppSearch action.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb508e5a014f59fbb2c70d9909ba0870ce2b901a by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
6537d52d54 [WINESYNC] msi: Remove system environment variables on uninstall.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f95ed7cd2d440420c0c3d1a938af8b48960f352 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
4d61fb5224 [WINESYNC] msi: Take architecture into account when accessing the shared dll reference count.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5b6bf621cdc0b67528e2f0312d0a89d7cdfce5a7 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
92a82b2faa [WINESYNC] msi: Get rid of a redundant get_registry_view call.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5caebb2650e386904544a2c0326e2b0f1bd39bc3 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:18 +01:00
winesync
3635da2096 [WINESYNC] msi: Use KEY_WOW64_* flags in ACTION_Register/UnregisterClassInfo.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70732e273eb52821bfd725f3b1ea1919b8c0e3b0 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:18 +01:00
winesync
a3cf801a46 [WINESYNC] msi: Use case sensitive compare in handle_msi_break.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8c4b75f252dd5f127320144a43472d4558489af4 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:18 +01:00
winesync
b3eae05b11 [WINESYNC] msi: Add MsiSourceListForceResolution{A,W} stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46881
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e95d2247d8fb83d040bdfce388ed4e96172427c by Louis Lenders <xerox.xerox2000x@gmail.com>
2022-03-20 19:28:18 +01:00
winesync
d672ffc384 [WINESYNC] msi: Handle the remote case in MsiViewGetError().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46830
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 942964fdfbd0cb2af1ea6a1c681fc73d399bcce3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:18 +01:00
winesync
616d504d32 [WINESYNC] msi: Perform partial copies in MsiViewGetError().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a3dbf11923b96c93f1869c9b9ed34d68bdb2576 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
a7fd7860ad [WINESYNC] msi/tests: Separate and expand tests for MsiViewGetError().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fac04043d93b9e24f9f68954c6688310ab424954 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
b720e4c0e2 [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiOpenPackage() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b2d3567c1b4846905f01612d8f499f45ed9d24ac by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
df4fa37bf9 [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiEnableUIPreview() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4bb40d1a95e525c63f1f6f1f20f0c054d46f2fff by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
6d0c1c59ca [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiDatabaseImport() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 19420f5f7c146f0ade010b9fbfaf21f926ef10a8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
0b31064d1b [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiDatabaseExport() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3ff7d30520e4450fd9efbf5569eb28b82fb81aeb by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
115d04ba20 [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ed5f4bd14f5cece4bca63918b924606a09a3300d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
72c4091cef [WINESYNC] msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46812
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60b1fd7e8764ab63d79382c1805d4c007a6be332 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
f7e42b9b96 [WINESYNC] msi/tests: Test calling more functions from custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ae0298d46e8d4b7b689783b9c459ceafc3631780 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
af2abfcb7a [WINESYNC] msi: Avoid a crash in RemoveFiles if the component directory is invalid.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46907
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c7f323107b3b956d206d8d0ee28851d60f19841c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:15 +01:00
winesync
c611d50ecc [WINESYNC] msi: Append the custom action client PID to the endpoint name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46833
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 27a7952a84d157caed21a663dd827728a02c443e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:15 +01:00
winesync
e89ff1f99b [WINESYNC] msi: Don't fail the BindImage action if the BindImage table is absent.
This fixes a regression introduced with
15f852015a0332313821804cc1fbad79216408c6 and observable with several
installers, including dotnet472.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46885
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a3dfd2f251f336f1cc570863edb60251227cdf5d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:15 +01:00
winesync
e342f3379d [WINESYNC] msi: Disable filesystem redirection only when really needed.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46846
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15f852015a0332313821804cc1fbad79216408c6 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:15 +01:00
winesync
a5ae0e3add [WINESYNC] msi: Add support for exporting binary streams (Binary/Icon tables).
The Binary and Icon tables store their data in a different format from
other tables, one column of the data is stored as a "stream" instead
of a normal text field.  With this patch those tables can now be
exported properly by the MSI export functionality.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f1d8218169715fcb64d4c6d81be7ead9d8bbf6ed by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:15 +01:00
winesync
3d9c99d37a [WINESYNC] msi: Break out field exporting into a separate routine.
msi_export_record is a lot more complicated than necessary, this patch
splits out the field export part of that functionality as
msi_export_field.  This also needs to be separate for exporting binary
stream data (next patch).

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b08d9998635137475dae335f8b45c909274d3001 by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:14 +01:00
winesync
87ce83f46a [WINESYNC] msi: Add support for exporting the _SummaryInformation table.
The _SummaryInformation table stores a lot of important information
about an MSI database.  This patch adds the ability to export that
table since, like _ForceCodepage, it is stored in a different format
than the other tables.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 79fd42fc1ae0747f509fce05cedf9e56c9f928bc by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:14 +01:00
winesync
3ad01e9aad [WINESYNC] msi: Add support for deleting streams from an MSI database.
msidb allows developers to remove "streams" (cabinet files) from a
database with the "-k" mode flag.  To support that feature we need
MSIMODIFY_DELETE support in the underlying MSI implementation.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51d5242a5fa07a76077f2318fbbff968d760389d by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:14 +01:00
winesync
23993e205c [WINESYNC] msi: Skip the special SummaryInformation stream in msi_commit_streams.
Avoids adding a useless table stream when called on an existing database.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 02a25a9d4fb170755d8de7aa7cb5d388c206b337 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:14 +01:00
winesync
8530abce68 [WINESYNC] msi: Don't use globals to manage assembly cache state.
Based on a patch by Zebediah Figura.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46719
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c64d73c829c3bde7744362b2cd566075ab7e37df by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:14 +01:00
winesync
17a9073433 [WINESYNC] msi: Prevent uninitialized variable usage.
Observed with Lync 2010 setup in ReactOS. The embedded Silverlight
setup hits this case (no LASTUSEDSOURCE in the registry).

Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 145b4109205c385cf1bd1ecd8a18e47c9f27a9fd by Mark Jansen <mark.jansen@reactos.org>
2022-03-20 19:28:13 +01:00
winesync
3c78b826b3 [WINESYNC] msi: Do not leak rootkey.
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c91f254a7740dacd5cb6bc3f8817cd1806bddeb4 by Mark Jansen <mark.jansen@reactos.org>
2022-03-20 19:28:13 +01:00
winesync
9a70868a53 [WINESYNC] msi: Link directly to sxs.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aaead3e433239898c0747bab32a2d2dfe63e5b3c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:13 +01:00
winesync
f474f080a1 [WINESYNC] msi: Initialize assembly caches before disabling redirection.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46638
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a70ece68b7fa98e55e62eaed1006ceea961666ce by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:13 +01:00
winesync
0e4c16b13b [WINESYNC] msi: Remove duplicate condition in msi_dialog_destroy().
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 57dd594865b002205edb4e053102241bed72bd1a by Andrey Gusev <andrey.goosev@gmail.com>
2022-03-20 19:28:13 +01:00
winesync
5da3f84d5a [WINESYNC] msi/tests: Add more tests for MSIMODIFY_INSERT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4179189ec6638ec74cf54eea68798218798affc1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:13 +01:00
winesync
693fc86646 [WINESYNC] msi/tests: Add more tests for MSIMODIFY_MERGE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 535983743c6e7bccb515a823f2e9bf721740aada by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
a38f680cef [WINESYNC] msi/tests: Add more tests for MSIMODIFY_REFRESH.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2e51963a6218e1ecb3d8127004b9c8c128dd746 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
d2c4626d98 [WINESYNC] msi/tests: Add more tests for MSIMODIFY_ASSIGN.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0628a7c8bf43388a3c2d14ec5d57566921ef436c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
f954f7ec69 [WINESYNC] msi: Translate records as appropriate in SELECT_modify().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e742319627e311cfc364901ed82517dba9990456 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
3b4aa9822b [WINESYNC] msi/tests: Add some more tests for MsiViewModify() applied to joins.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9faa8d170349ce48e7f572461e7c41422317e43 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
5f1570f47d [WINESYNC] msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 96b6d6b58725f17f3faabeeffe82d2b8bd5f0445 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
17ae3a2dd9 [WINESYNC] msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 05976464556385e7a7ef5d04b2a56c4830ff33cf by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
bef9fb0245 [WINESYNC] msi: Factor out msi_view_refresh_row().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 31628cee6e2ba63a1a08672d89ccd8d10836bf7e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
6425c406fb [WINESYNC] msi: Implement UPDATE queries using msi_select_update().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 40a08f8362c191b51db07a483c4f41fa61158c76 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
580d3e1be0 [WINESYNC] msi: Support setting streams in msi_select_update().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 044c1dd23b307a0b7f2188855d5bf6e479cefd5e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
e734a9189b [WINESYNC] msi: Store the IStorage list as an array of STORAGE structures.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33045101ca657b2b09a53e14711b3f6bcacbafe2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
01a3611583 [WINESYNC] msi: Remove an unnecessary call to SELECT_get_dimensions().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7728acd1b6994c553a046e3ff9ee1aebc20c38b6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
f6659d1de9 [WINESYNC] msi: Get rid of the get_row() view operation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7c28a1dbddc012d497988f638b7ecb70e75b17c3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
97918c366e [WINESYNC] msi: Set table values directly in msi_select_update().
In order to avoid the need to create a temporary record and copy values back
and forth.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f45a7b04a6caca4eed1d08f4e69884b119f3aa17 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
0e83dd032c [WINESYNC] msi: Factor out int_to_table_storage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99425f272f7807aea068629ef3e5fda6640b2845 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
def8c91e2a [WINESYNC] msi: Use 0-indexed row numbers in the modify() view operation.
For consistency with other operations.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8aefa871ad3fcd28b8bc7e5b79f2e661dbab9435 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
211c410496 [WINESYNC] msi: Use a BOOL to track string persistence.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a7f455b97fdd0ef07a15b66eea63f82522ff4f31 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
fb72dff218 [WINESYNC] msi: Get rid of the remove_column() view operation.
It was added to the structure, rather unnecessarily, by ccef56f2c.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c2810f40a0af6496cfbb7d87685e2e018befd43b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
43025b17d1 [WINESYNC] msi: Get rid of the find_matching_rows() view operation.
It was introduced in 9f487ba1d as part of an optimization, but ceased to be used in a52c2bf94.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ced768f2ec163e25b7e1cf54a87f4b01369a846e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
eaa4c035ac [WINESYNC] msi/tests: Use check_record() in more places.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fe23e015278e318f9642c67384887f865e5f2ed3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
88f53494e9 [WINESYNC] msi/tests: Use check_record() in test_join().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5eab4a59de5f77f3d747b0f3e9eadd2c45dc7cf5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
8376f7c354 [WINESYNC] msi/tests: Use check_record() in test_select_column_names().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d7879eaa99b45d9f1263cad5f7e3699450ec1557 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
b883a2b271 [WINESYNC] msi/tests: Use check_record() in test_dbmerge().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2ea8d809e9d2bc575abc3beb5b7c0de99e20f9f8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
c4131daacc [WINESYNC] msi/tests: Use check_record() in test_columnorder().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2edcc9e24cf9919825dcd0480b3f22e25dc7115 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:07 +01:00
winesync
3417cf8659 [WINESYNC] msi/tests: Introduce a variadic check_record() helper.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e083034d665fa8873c6d87a90d959f3351de7d3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:07 +01:00
winesync
f8514c722b [WINESYNC] msi/tests: Add a trailing '\n' to an ok() call.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ad735ca1f329b9419aaaf59bda4e3c936f9d92f5 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:07 +01:00
winesync
8c4b2b004b [WINESYNC] msi: Only perform the media check if the label of the disk entry differs from the last.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40433
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 85fea53af80d324a4cf7f80a45f43fed8d8d65e1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:07 +01:00
winesync
609c059647 [WINESYNC] msi/tests: Use more reasonable buffer sizes for guid strings (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a853bb6d0a91e5766ff1afbfaf1fcb9b8d27fc76 by Nikolay Sivov <nsivov@codeweavers.com>
2022-03-20 19:28:07 +01:00
winesync
6e5382cc5a [WINESYNC] msi: Return an error code instead of a button id in msi_change_media().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a47343b97369e5f64bb78a7421f2d75258da282a by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:06 +01:00
winesync
d5012ca368 [WINESYNC] msi: Turn several variables and constants into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a833ce0b39ae9f57162f6ffd3ff55f19f3ba540 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:06 +01:00
winesync
0d13a87670 [WINESYNC] msi: Set stale function pointers to NULL.
A crash occurs during install of dotnet35 on a 64-bit prefix
as when msi_destroy_assembly_caches is called, the mscoree
library is unloaded but the function pointers are not set back
to NULL.

Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 256ca317a2871c62ca121e49f29fc37a64b4fb64 by Brendan McGrath <brendan@redmandi.com>
2022-03-20 19:28:06 +01:00
winesync
537188d764 [WINESYNC] msi: Increase MSI_INITIAL_MEDIA_TRANSFORM_DISKID to avoid conflicts.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49e9fa376ca1ab251a0b5ccc506b255a93071bc2 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:06 +01:00
winesync
de59794f36 [WINESYNC] msi: Allow ARM64 installations.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5a169463b30af229368a5559b20f9ae415c3048 by André Hentschel <nerv@dawncrow.de>
2022-03-20 19:28:06 +01:00
winesync
3dfa0cce09 [WINESYNC] msi: Support substorage transforms in MsiDatabaseApplyTransform.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40206
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef86011ba40ef90eefb5e54059d907753ec8d694 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync
182a2d623e [WINESYNC] msi: Don't consider read-only drives when enumerating volumes.
Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0dd0d879a1c487dcefedd44762d4ea0fcebd98fe by Pierre Schweitzer <pierre@reactos.org>
2022-03-20 19:28:05 +01:00
winesync
8e17398c26 [WINESYNC] msi: In dialogs show titlebar buttons.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46080
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 84e6b331918d57f39e20a3063b67eb7fc0876288 by Fabian Maurer <dark.shadow4@web.de>
2022-03-20 19:28:05 +01:00
winesync
d30e40fc22 [WINESYNC] msi: Avoid duplicate product codes in FindRelatedProducts.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b33b8cab0dbef9571553a814c7bff501ae0a5b48 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync
14478462cc [WINESYNC] msi: Fix the remote case for MsiViewModify(MSIMODIFY_UPDATE).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45972
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c494570d89f270c9240519c625c5c757a4e8ff23 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync
4b4baf5cb8 [WINESYNC] msi: Fix memory leaks.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 965ca1b4de78600366cde437c97a7208a954b18b by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
0bbc2be92c [WINESYNC] msi/tests: Add tests for directory properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8386157caa9bfaea9a17c2d36e61f8a15138a791 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
312627c75b [WINESYNC] msi: Remove unused fields from MSIFOLDER.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id de78ca24a5a2945e7431c1eb9a6e5404bbcfbf5d by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
0922e524ec [WINESYNC] msi: Rename msi_reset_folders to msi_reset_source_folders.
It was always called with source parameter set to TRUE.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14ddb49df278e44fd184a8fd73ff1341ce0885ec by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
b608ba9798 [WINESYNC] msi: Add support for control event DirectoryListNew.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25687
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 97a7a4ff0c8895c3ef1979eeee988c4c121d9839 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
eab017d18f [WINESYNC] msi: Fix a couple of memory leaks (Valgrind).
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1cb43677632ded6aba8ba0b91937ded934c0c690 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
0f342a37a3 [WINESYNC] msi: Add support for ARPNOMODIFY, APRNOREMOVE and ARPNOREPAIR.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 78af6e341fcdf1030bb5b0a4bed4b32e5caf09a3 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
f0841e860f [WINESYNC] msi/tests: SQLGetInstalledDrivers fails if there are no ODBC drivers installed.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1be65cbb46bf792773a5aabc550851ed51f727cd by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
bc149d9d14 [WINESYNC] msi: Allow recursive changes to the target folder path.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7bf2a1b2099b534fd4472962d2e945bc9ab9e2b8 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
a49306360d [WINESYNC] msi/tests: Drop workarounds for Windows 2000.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a3e79b00225a1186a01101cd5614141748e6a53 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:02 +01:00
winesync
6ff51864fb [WINESYNC] msi/tests: Add a test for repetitive MsiGetActiveDatabase calls.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 06fd9bb3178c363bdcc89586248a2ce707f94041 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
dbebec3065 [WINESYNC] msi/tests: Also test full range of properties for MsiSummaryInfoSetPropertyW.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ff0129370869ed4ffb4acd69d7123f3d5ca294c3 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
7c8b6fdf82 [WINESYNC] msi: Do not attempt to copy a non-string property in MsiSummaryInfoGetProperty.
This patch fixes the crashes when running the tests under Wine.
Currently the crashes are hidden by a custom action exception handler.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b857369f87c49f812b23320099dcb91dbdb6f320 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
e58cc02596 [WINESYNC] msi: Move parameter checks to a common helper in MsiSummaryInfoSetProperty.
Currently MsiSummaryInfoSetProperty tests don't have a chance to execute under
Wine because the tests crash earlier, and the crashes are hidden by a custom
action exception handler. This patch simplifies the next one.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7929c31ea7b9f47f68cd434393f1212e448a9cf7 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
bf1ca65888 [WINESYNC] msi: Fix a typo.
Should fix the regression introduced by baea371c3d4153bc4a718c07f46971d4d39aa9f3.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 09e4240f33425eda3ea05eb2a98adaec184b7ba4 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
4ad772129d [WINESYNC] msi/tests: Add more tests for remote MsiSummaryInfoGetProperty.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 69b7e09fa76d73c51fd290b511400060ef7c20f0 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
0bde253621 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoGetProperty.
This patch fixes the regression introduced by bf5589311de8ac2c74e3bd73bef32337a2ce8df2.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce2ebd72750ca85e7307372de1a73831ad9e73a8 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
28c46d90e1 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoGetPropertyCount.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 00b8b3c5e0e04d229cfb9f8d8294113e5b30e9b4 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
636f46adb6 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoSetProperty.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 190ef475fa3164d2f468d5b09c58c8150d30f129 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
a8bfcb28ab [WINESYNC] msi/tests: Add some tests for remote MSI summary info APIs.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4acd7b6c45faa960aee3d753d2979315ad4d2b46 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
2a9ae85885 [WINESYNC] msi: Add exception handling around all custom action RPC calls.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id baea371c3d4153bc4a718c07f46971d4d39aa9f3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
9af3c0ad3e [WINESYNC] msi: Skip publishing a local assembly with no corresponding file.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45735
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 12195e450fea6885eb2d3be05a8ed92dd93752c9 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
3671579f96 [WINESYNC] msi/tests: Remove some workarounds in test_publish_assemblies().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9a96657910c2ce30f6f8492bdd562932d63ba430 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
9792c08fe4 [WINESYNC] msi: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a9cb67bb7ffb5b25469ba6a732f8913ac8778c36 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:00 +01:00
winesync
49439bc1b4 [WINESYNC] msi: Don't assume that WoW64 redirection is enabled in custom_start_server().
As of 3a884c2ef the server is started on the main thread, so this is no
longer a valid assumption. In particular, we disable WoW64 redirection while
running standard actions, including the top-level INSTALL action.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45663
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51ad009bacd297c0607bc6de4d5dae18afe6ea98 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
d79a5e413e [WINESYNC] msi: Unlock msi_custom_action_c on the error paths.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45483
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c2add8a030b63d79f94d516d2dbee9fb09b9c09c by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:59 +01:00
winesync
dc4f732a06 [WINESYNC] msi/tests: Add a test for asynchronous custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6387476d99f4f762628cb0d72b2d43c23f76f563 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
33595a42c9 [WINESYNC] msiexec: Don't keep the custom action GUID in the main thread's stack.
Since it could potentially change on us during an asynchronous custom action.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2592690540a87498db09753a32c416cfe7f26e81 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
8c067cc02c [WINESYNC] msi: Don't refcount the msi_custom_action_info struct.
This is unnecessary, and may have always been so. The struct will either be
freed after it completes synchronously, or after it has completed
asynchronously in ACTION_FinishCustomActions().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7f06accb05edd70239dbd7b04b956bf10456dee by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
b1b2cc1e8d [WINESYNC] msi: Protect communication with the custom action server with a critical section.
Avoids a potential race whereby an asynchronous custom action receives the
wrong thread handle.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 583edf7f59866cf0a58c978e692f3077e74b4938 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
eca4d999d6 [WINESYNC] msi: Don't start the custom action server inside of custom_client_thread().
Asynchronous custom actions don't wait for custom_client_thread() to
terminate, so it's possible for two consecutive actions to both try to start
the server at once, causing failures when the second action e.g. receives
ERROR_PIPE_BUSY from CreateNamedPipe().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3a884c2ef7a5828a5b42bf9d2532422afeac0fd8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:58 +01:00
winesync
55b4e50af8 [WINESYNC] msi: Avoid an ARRAY_SIZE-like macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b8027768b88eed2376ea484aa7adef20c82483f4 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:58 +01:00
winesync
ac9d876fe9 [WINESYNC] msi: Generate unique names for 32- and 64-bit custom action server pipes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6925846988fb78a2dd217d2b837e59ec53234f87 by Zebediah Figura <zfigura@codeweavers.com>
2022-03-20 19:27:58 +01:00
winesync
fd8b07bdfc [WINESYNC] msi: Implement deferral for standard and custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a9e0f1fada4a414cc750f6d45595342f473e02f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:58 +01:00
winesync
426052d1aa [WINESYNC] msiexec: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id effac73e7275e40d717ccf21af84b34fe3e0844a by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:58 +01:00
winesync
4c8ffed7ec [WINESYNC] msi: Do not free hPackage twice or uninitialized (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9f1cdb4970c569460c96a143b126d1c298116d7d by Marcus Meissner <marcus@jet.franken.de>
2022-03-20 19:27:57 +01:00
winesync
980ce9db3f [WINESYNC] msi: Use msi_get_package_code in msi_publish_product_properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ddf762a82f2c578cd3b0d4ff0c13c8a08641a666 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:57 +01:00
winesync
331be61263 [WINESYNC] msi: Fix condition evaluation when comparing literal and integer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45445
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7837ae20cdeabab661da7bb5dae24f5ffefe17ee by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:57 +01:00
winesync
82decec5f1 [WINESYNC] msi: Reuse the custom action server process where possible.
We use a named pipe to communicate between the client (i.e. the process that
called MsiInstallProduct() and the custom action server. The naïve approach
has the client send custom action GUIDs to the server and the server send
back the results of executing the action, but this fails in the case of
nested custom actions, so instead we send back handles of threads for the
client to wait on.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 457431ab5bc1dd10c4957f145de85c4ba6d0ef72 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync
dfdb6d1050 [WINESYNC] msi: Avoid connecting to the RPC server more than once.
This is a no-op as is, but is necessary as of the next patch in the case of
nested custom actions.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6135b38d7d60e7bceb36a57630cad72d3e7e4b2e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync
1fa71cf3c5 [WINESYNC] msi: Create the custom action thread inside msiexec.exe.
This patch is effectively a no-op by itself, but makes the next patch
architecturally much simpler. We need the main thread to be non-blocking
to allow nested custom actions to work, so creating the thread inside of
msiexec allows the custom action thread to write the result of the action to
the server pipe while the main thread simply reads from it.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7908d6ee399f4ef556e194dfa5cdef746fc091b6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync
0a327bfe94 [WINESYNC] msi: Avoid starting the RPC server more than once for a given package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5c7cf0a47d9d43b11f84914f5890eae3fd694592 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:56 +01:00
winesync
55dcc258b1 [WINESYNC] include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 962b31c80b74cfc479da386a8c76d55d26aed752 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:56 +01:00
winesync
306890e8c4 [WINESYNC] msi: Remove checks for negative value.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bd1b6f41032d1e133a8d9a96fba711ee491d634 by Andrey Gusev <andrey.goosev@gmail.com>
2022-03-20 19:27:56 +01:00
winesync
a237138534 [WINESYNC] msi: Add support for re-caching package.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5924321ad63edc1d3fabf22d7b047e4efacbce66 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:56 +01:00
winesync
b7b9c0c4cb [WINESYNC] msi: Report error when cached installer has different version.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0657d966ffb9afdcd7cf8bd0c2ac7289a8bfbe5e by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:56 +01:00
winesync
fbdb719be0 [WINESYNC] msi: Add ProductToBeRegistered property tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4c5d24ae20a51f4ddf3fde6a57417a442282ed67 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
366dd26e41 [WINESYNC] msi: Add REINSTALLMODE=v installation mode test.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cecff8a353652606924f152c26d25ea89a25cb90 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
74196b8000 [WINESYNC] msi: Re-publish product if previous installation with different package is detected.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21836b79dd0acbd16f802f7364c070e1004e48ea by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
da8483616c [WINESYNC] msi: Add support for ProductToBeRegistered property.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6dc49e4b685850a76a35b1d1d102903a0231c5cc by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
d27e3499c7 [WINESYNC] msi: Mark exported wine functions CDECL.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d0451d57348c0a25290f9326ca150843cd7d4486 by Zebediah Figura <zfigura@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
96486643cf [WINESYNC] msi/tests: Add package minor/major upgrade tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bdf8895d7671aa9b9a749a9fb99e82295f7b5c8f by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:54 +01:00
winesync
8667645111 [WINESYNC] msi/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b716661c4a5c492fff79bed14190f33b47afebc8 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:54 +01:00
winesync
42961bd8b0 [WINESYNC] msi/tests: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 74b0dec3c1be0e16c7c2d487e0780a150d15e75c by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:54 +01:00
winesync
0d762dcba3 [WINESYNC] msi: Store the current script in the package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 756bbb5bb756d1fcbeea41e10a6fdf2149fa1323 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:54 +01:00
winesync
19863c8002 [WINESYNC] msi: Resolve source when executing InstallFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 536a86f21ff0f8432309225b61695138be95cb3a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:54 +01:00
winesync
88888f8f4f [WINESYNC] msi/tests: Test that some actions cause resolution of SourceDir.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 38747c32347afc4d8be18a577fe91f8325a68340 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
a2e86899fd [WINESYNC] msi/tests: Test deferral of WriteRegistryValues.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ed2861c28cdfd2bb97abb7d376f9aa2d975ea97d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
158d7545ab [WINESYNC] msi/tests: Simplify and clarify WriteRegistryValues and RemoveRegistryValues tests.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3c2b229431805ff771f4c20be52d1a9d7ff0ced3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
ba86f76417 [WINESYNC] msi: Only delete empty registry keys in delete_key().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 91e418073f64368110a9339d17fad36ad26c1a7f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
cdbd0095f0 [WINESYNC] msi/tests: Remove duplicate service tests.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f655bb7ee71a5e271fc7091013a60bb799b315df by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:53 +01:00
winesync
5239ed572c [WINESYNC] msi/tests: Test deferral of WriteIniValues and RemoveIniValues.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 377d32c4fb6ea72c68436eb590541ec88d0c74f9 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
759a987243 [WINESYNC] msi/tests: Add a simple test for WriteIniValues.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1a78380e6fbaafb78a9d1b522a5b18b251ac4787 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
39c835f2a3 [WINESYNC] msi/tests: Test deferral of WriteEnvironmentStrings and RemoveEnvironmentStrings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aae3d6b5afaa67530ee62f922a301fce1967151a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
7b0084e68a [WINESYNC] msi/tests: Simplify and combine environment variable tests.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2765b4778092a9ee25156c2b0facc34fe3861587 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
342159af51 [WINESYNC] msi/tests: Test deferral of SelfRegModules and SelfUnregModules.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a08438afbd1d111e78ebb7fb0743a456f1da4d19 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
761e72c7d0 [WINESYNC] msi/tests: Test self-registration of a valid DLL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8867712944d839385837ae4db8b50fff1380c507 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
cc5bb28b0c [WINESYNC] msi/tests: Test deferral of RegisterTypeLibraries and UnregisterTypeLibraries.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d3023ad3f7c87f29da762e82c7e0d47f6830df19 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
45a3a9f56b [WINESYNC] msi/tests: Test registration of a valid typelib.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5da1902aa24433375fc3c99eaadad00917daa9f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
b493df633a [WINESYNC] msi/tests: Test deferral of RegisterUser.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d0ab6deb773912b427251f041e7413669fdef702 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
d6a9b26126 [WINESYNC] msi/tests: Test deferral of RegisterProgIdInfo and UnregisterProgIdInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2fe0388d0cf205926cc9b8686b8f7ebd692261ef by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
e0bf393210 [WINESYNC] msi/tests: Test deferral of RegisterProduct.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71f3f2a6edf8db909a756d25d2acf96ef9258dbc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
742877db6d [WINESYNC] msi/tests: Simplify key access flags in test_register_product().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d72829a874810c788bddbd46cee98366165fdb0 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
c6f0b6c95e [WINESYNC] msi/tests: Test deferral of RegisterMimeInfo and UnregisterMimeInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f181e71400eb25a9aa4e1bf6355116269d04c0b7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
13c16770a5 [WINESYNC] msi/tests: Test deferral of RegisterFonts and UnregisterFonts.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a364e1a9c8aeba972f13f1af13cd0643b9a05a8e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
22740df97c [WINESYNC] msi/tests: Test deferral of RegisterExtensionInfo and UnregisterExtensionInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 884d146b3243f01f00efb527bf3f3f578344da94 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
a4c6f8f2c9 [WINESYNC] msi/tests: Test deferral of RegisterClassInfo and UnregisterClassInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fc6bd87375a945aa456505c9b83d2e7e08c2f891 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
6a9321b897 [WINESYNC] msi/tests: Test deferral of PublishProduct.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f2bb46fd1b7e190946b288312b2be30a68c02c1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
074bd3b468 [WINESYNC] msi/tests: Test deferral of PublishFeatures and UnpublishFeatures.
test_publish_assemblies() was leaving behind feature data that caused this
test to fail when run multiple times.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 920dde0b1e1d137720a277ee05b65c6bf2387ad6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
3a2e2e6560 [WINESYNC] msi/tests: Test deferral of PublishComponents and UnpublishComponents.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 625ef14967984ef2f35638e0012ceb7c816f346c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
29e57f7808 [WINESYNC] msi/tests: Test deferral of ProcessComponents.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5e0e25d4b4eb2ebd0a97bbbe02bf9a5d1ece7ff8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
ef7637bf77 [WINESYNC] msi/tests: Test deferral of MsiPublishAssemblies and MsiUnpublishAssemblies.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6eb74409147751a69cbf7dff34d79bd7e3a5dc7a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
51f5b07762 [WINESYNC] msi/tests: Test deferral of MoveFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id af737f9c2f78c448b914570005d34d61d95e7b83 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
a06d5f3df5 [WINESYNC] msi/tests: Test deferral of InstallODBC and RemoveODBC.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7305e5fd8c1262e369c2807e83adfb9aaf4f2e7a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
d15d81da99 [WINESYNC] msi/tests: Test installation of ODBC driver.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f69ea3c57b9caa0fd39e6cb3c0164d7b37aa21b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
49fb19da45 [WINESYNC] msi/tests: Test deferral of InstallFiles and RemoveFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99562a56170f51002c817cd353fa62325c056ab3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
07ea0dc651 [WINESYNC] msi/tests: Test deferral of DuplicateFiles and RemoveDuplicateFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4d9d73e1b95ced3c66beaeab0e337c4b9eec52d5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
c5b7f9f395 [WINESYNC] msi/tests: Avoid calling MsiSetTargetPath("TARGETDIR").
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 30fe6f43612ce0a7d65ec16f751d3212cb78c1fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
df90c9beba [WINESYNC] msi/tests: Test deferral of StartServices and StopServices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f0c8b3c6130bf1181e83bcdd9ab6b71583208f5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
07f42a0af1 [WINESYNC] msi/tests: Test deferral of InstallServices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b8f982fa4b190398edce45290cd49159d586a26b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
49a44f014f [WINESYNC] msi/tests: Test deferral of DeleteServices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d8e16f7018b4fb0382ec991adc08e1f305bd353 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
0c2c3863ef [WINESYNC] msi/tests: Test deferral of CreateShorcuts and RemoveShortcuts.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab9ab2a8f701064af3212a91ecd89ffa6a4a331b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
31eeb62486 [WINESYNC] msi/tests: Test deferral of CreateFolders and RemoveFolders.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0f7d50c02ea301ceebf0c18c1a49797ae9a93788 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
6fc5d381f1 [WINESYNC] msi: Avoid using awstring in MsiGetSourcePathW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48aeef69fc99ff1460da934f4933f0499ff33b13 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
2491afaa14 [WINESYNC] msi: Handle the remote case directly in MsiGetSourcePathA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 43ce218a48f5b3420f48379e911e974b8bb9ef88 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
2f2e68eb50 [WINESYNC] msi: Avoid using awstring in MsiGetTargetPathW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce3fc1af555106bcc614a1b9259172357035517f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
c33915e409 [WINESYNC] msi: Handle the remote case directly in MsiGetTargetPathA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9fc3510218f3426b9b448b4569ff4fd275044f8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
02726bbc20 [WINESYNC] msi: Avoid leaking memory on failure paths in MsiGetPropertyA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e2934e455318c2753741a051876bc0a3c2399fa by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
4f51867f22 [WINESYNC] msi/tests: Break out of the loop if both components are found in test_MsiEnumComponentsEx.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5b1a6b5c507fd2766725251af00efa5eb8431ee by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:45 +01:00
winesync
4748b31284 [WINESYNC] msi: Avoid using awstring in MsiGetPropertyA/W().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 389ad808d2ac1a443d4a4190928e665b25214c1a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
e12fb5036c [WINESYNC] msi: Handle the remote case directly in MsiGetPropertyA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 84d972010fcf7bc94534c7bb20890ce88381f943 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
0b125236c6 [WINESYNC] msi: Avoid using awstring in MsiFormatRecordW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b54a4bc2eadd0b5cbc2553e2969ff572ff042d1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
d5e04177e7 [WINESYNC] msi: Handle the remote case directly in MsiFormatRecordA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 75aa132b521f426fa670c05774a50c87247e9834 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
56c14436f4 [WINESYNC] msi/tests: More accurately calculate estimated size.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 40b211b6c2d61effba333cb64fb30289d3a18ee1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
b016bb6bcc [WINESYNC] msi/tests: Add the custom action DLL in create_database_wordcount().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bf0b9b97e08879637750f721fc96ca766e6ff61a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
0e76906074 [WINESYNC] msi/tests: Add a header for some common functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab522d694d5ffe08a410320988100b1a0fb2f077 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
0bca61ed83 [WINESYNC] msi: Avoid leaking custom action data.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4bcd95fa78172a3a07c5f065adf4287fe69af02 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
8e940ff11f [WINESYNC] msi: Disable WoW redirection when installing a 64-bit package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 540c48b91175b11c7b8646d0a036b20c46425080 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
8baf528d3f [WINESYNC] msi: Check return value of GetBinaryType().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id deb4f970009d6fd85a61d3183877e67e1ccf66fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
3ec0ea99c6 [WINESYNC] msi: Set the correct values for ProgramFiles64Folder and CommonFiles64Folder.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a6e9622439c4fd22578e737e60ca2af44a32f8b1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
d817f7cfa1 [WINESYNC] msi: Don't load a custom action DLL in the main process.
This has no effect anymore, and won't work if the architecture doesn't match.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e355cb62775f7fd39a03458c62334a603dcb0c78 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
20260e3310 [WINESYNC] msi: Execute the custom action server with the correct bitness.
The bitness depends solely on the bitness of the DLL (tested manually).

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6049b0f8c3637b6ef55b05a57893191ab808c69f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
7a16dc22c5 [WINESYNC] msi/tests: Add trailing '\n's to ok() calls.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4d1c3a022bcf28d46aa38cec458ac701b3cc615f by Francois Gouget <fgouget@free.fr>
2022-03-20 19:27:43 +01:00
winesync
db6dce432d [WINESYNC] msi: Initialize [out] strings to NULL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71c0738c0e2598d2af9e31e2e82b69e6a5081e51 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
a8bc3902ba [WINESYNC] msi: Execute custom actions in a separate process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 85d1fb62b321e890004bc8d0ded7a0183216c42d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
c2e9daf59e [WINESYNC] msi: Make remote_GetActionInfo() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2635333922f13c0312b3cdae08f7cf870e10f49a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
3919813408 [WINESYNC] msi: Make MsiEnumComponentCosts RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id efb8ed4748e75e88240cb27f3f917f6ed3446901 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
9f3e4bbbec [WINESYNC] msi: Make MsiGetFeatureCost() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e500af2b678da519011588ee6973bda19999f34d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
818a84dd11 [WINESYNC] msi: Handle some invalid parameters in MsiGetFeatureCost().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b6adcb7216a6b4a0706ac7255f3ddb832656127 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
03faa10759 [WINESYNC] msi: Make MsiEvaluateCondition() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0fc1b6f2f31952f9dab4a22805fe0f098548cb25 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
cde5f24cd9 [WINESYNC] msi: Make MsiFormatRecord() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef7ed29348584fc0385d42b707fd6fcc03dfddc5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
d20dc08f61 [WINESYNC] msi: Make MsiSetInstallLevel() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5ab576b8a09f715401a1de2bb384ccc9ffb37750 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
fdca309017 [WINESYNC] msi: Make MsiGetLanguage() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5f45959adc55961a9787b54cd7814f18c056ebef by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
1c8fdff293 [WINESYNC] msi: Make MsiSetComponentState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 11702a31d2a31bfc5ac13e5d7995b2e71578f25f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
709d0f5b57 [WINESYNC] msi: Make MsiGetComponentState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35b1b87dc90b5d0700ec0893bc3918e15a43b07d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
5bbed50795 [WINESYNC] msi: Make MsiSetFeatureState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 863680d5edcdb9fd62910cd7266658d2e3a0e743 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
ed5fbe399d [WINESYNC] msi: Make MsiGetFeatureState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9f428f592dc949d528c149692addf8e34f3f005b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
5219367eac [WINESYNC] msi: Make MsiSetMode() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1723536058c73b71894f60ab2c030e78948abe45 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
83bbe8c85b [WINESYNC] msi: Make MsiGetMode() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9091c3dcf2e4c7775926c0a7a3f82f2e491eb849 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
8c04add139 [WINESYNC] msi: Avoid returning an uninitialized variable.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 859f455cb95a37e11f1187731be530fc9b48da8a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
4253f35129 [WINESYNC] msi: Make MsiGetSourcePath() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2b0981a2ceb8371460f009e0250ad2690ca0e93 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
a5e210012b [WINESYNC] msi: Make MsiSetTargetPath() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e5fba6d23ee82229582a0cf19a455b3c5ca43776 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
a529a627a9 [WINESYNC] msi: Make MsiGetTargetPath() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49d67080c97cbe89ea6f665f692c6d32db272a0f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
10abb6f6bc [WINESYNC] msi: Make MsiSequence() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 676376d1d3b87a8843e15baf6c7f7b958c2bdf83 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
c65c209a0c [WINESYNC] msi: Make MsiDoAction() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c49abc8ce006441163c4a0b25d42ad1e9650d9da by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
6f8e5d88d9 [WINESYNC] msi: Make MsiGetSummaryInformation() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bf5589311de8ac2c74e3bd73bef32337a2ce8df2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
9943fe3a65 [WINESYNC] msi: Make MsiDatabaseGetPrimaryKeys() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ed0a8dd3bfb5dbe6899cd1315c366d9fd833f060 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
b2b149a09e [WINESYNC] msi/tests: Add tests for MsiDatabaseGetPrimaryKeys().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3a1d9bb915952fd69f16c32cbea29983d9a5a5fc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
aede536c83 [WINESYNC] msi: Make MsiViewModify() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c79fbc241e3c9a62ab50fb0826e33e85e97ae883 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
ec581d9fc9 [WINESYNC] msi: Make MsiViewGetColumnInfo() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cea37419f1d16798ca24ad14712f14dac136f7d6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
ae286278fc [WINESYNC] msi: Make MsiViewClose() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9ab15d4edea1ab0c80f9d3ea15d9855aba2f4880 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
795da5286b [WINESYNC] msi: Make MsiViewFetch() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 39c116fd0c0aca6517b9c1f31296bf8665cf7834 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
ce495d7a38 [WINESYNC] msi: Make MsiViewExecute() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id afb5eede24c35308d2370fd3b492545aed607ce6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
00684fb410 [WINESYNC] msi: Make MsiDatabaseOpenView() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c6bd4d8c35de1ae452a5b5bec69d4779c813b37f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
b4fb978270 [WINESYNC] msi: Make MsiDatabaseIsTablePersistent() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 252dd11f20a7ac2285d4f082f3ab3f3168f494dc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:36 +01:00
winesync
7cc54a4f48 [WINESYNC] msi: Make MsiGetActiveDatabase() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a6934768d1070d91c764d5c88fe276a9d6163683 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:36 +01:00
winesync
cd631b7912 [WINESYNC] msi/tests: Improve COM test.
Test for a class that Wine actually supports, and also make sure our
apartment is uninitialized.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdb9bdc88b27ffdaea5ad31256f250b66bdf6b78 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:36 +01:00
winesync
18123440c0 [WINESYNC] msi: Support NULL value in INSERT query.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63ccdfeaaab56aca42d21a884789eb5048064276 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:36 +01:00
winesync
2dce4ee7d2 [WINESYNC] msi: Only mark non-registered features as absent if we haven't done anything with them.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b052fc3c893a0fa946c1dd6065047f4b5538cbe0 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:36 +01:00
winesync
34c2011c9f [WINESYNC] msi: Don't cache the base URL.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99aa0eb5d8777b790f1aa3c643217571274b744f by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:35 +01:00
winesync
2e19edd6a0 [WINESYNC] msi: Make MsiProcessMessage() RPC-compatible.
Instead of passing a remote MSIHANDLE and creating a set of remote_Record*()
methods, we marshal the whole record as a wire struct. We do this for two
reasons: firstly, because chances are whoever is reading the record is going
to want to read the whole thing, so it's much less taxing on IPC to just pass
the whole record once; and secondly, because records can be created on the
client side or returned from the server side, and we don't want to have to
write a lot of extra code to deal with both possibilities.

The wire_record struct is designed so that we can simply pass the relevant
part of an MSIRECORD to the server.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bbf0f2da8211da73066fb36a444593ab0e8901f2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
78fc7f9ea8 [WINESYNC] msi: Store a record's associated query privately.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9d121203955da5c761cfb5c22b6428278e41f0c7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
11702b643d [WINESYNC] msi/tests: Test properties from custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5808f1ddd49930ad49aeab640fced8305db476ea by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
66669aedea [WINESYNC] msi: Also null-terminate WCHAR strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f37e61817f0393132c75b2e5d86778d1a4ceab45 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
c20004294d [WINESYNC] msi/tests: Clean up property tests.
Remove many redundant tests, and print relevant values on failure.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c6b84cee179ac538c3a596fe9e7d10aaacd56321 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
3431091c60 [WINESYNC] msi: Make MsiSetProperty() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a73182ca542c00d15becd1d9e09f1c213082999d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
62ababd70d [WINESYNC] msi: Make MsiGetProperty() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2192c9a50a91d175f367534d2ed84fe24f4253aa by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
b74b77aa65 [WINESYNC] msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8bfb4e8b6209d02a18be3299717b1f38db7045fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
f9131763ed [WINESYNC] msi: Allocate the remote handle on the server side.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9b459810f646c48bdac981a066f0102acb9201c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
a5f9ac3b85 [WINESYNC] msi: Stop vending WineMsiRemotePackage.
Since we return it from WineMsiRemoteCustomAction::GetActionInfo().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d26336a944e0b516e56dd69fa06543404402b45f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:33 +01:00
Eric Kohl
691a739b02 [UMPNPMGR] Improve UpdateServiceStatus()
- Set dwCheckPoint
- Set dwControlAccepted depending on the service state
2022-03-20 17:21:45 +01:00
Eric Kohl
b0a73746cd [UMPNPMGR][SETUPAPI] Fix notification handles in PNP_RegisterNotification and PNP_UnregisterNotification
- Notification handles must be context handles
- Register and unregister notification targets
2022-03-20 14:59:30 +01:00
Vadim Galyant
d4a05ad7aa [FREELDR:NTLDR] Stub out x86 PAE support in preparation for PR #4272.
- Move boot options parsing early on in LoadWindowsCore().

- Add WinLdrIsPaeSupported(), move in it the PAE options parsing.
  The aim is to perform other tests to determine whether or not to
  enable PAE, and select an adequate kernel image.

Co-authored-by: Vadim Galyant <vgal@rambler.ru>

- Fix parsing of the NOEXECUTE options, taking their precedence
  into account. Most of these are also x86-specific.
2022-03-20 04:12:58 +01:00
Hermès Bélusca-Maïto
52275a92bd [WIN32SS:DISPLAY] Fix some return values (use correct types) in display drivers.
See for example, in DrvEnableSurface(), etc.

TODO: framebufacc's comments need to be "translated" into actual English...
2022-03-19 17:51:44 +01:00
Hermès Bélusca-Maïto
5e93daa9ce [WIN32SS] Use the DCFLAGS and DCTYPE flags defined in ntgdi/dc.h instead of the old ones in include/ntgdihdl.h
The names of these new flags match the documented ones at
https://reactos.org/wiki/Techwiki:Win32k/DC
https://books.google.hr/books?id=-O92IIF1Bj4C&pg=PA197&lpg=PA197
and the gdikdx debug extension.
2022-03-19 17:26:09 +01:00
Hermès Bélusca-Maïto
1c2b757a64 [WIN32SS:NTUSER] Use kernel handle in W32kOpenFile(). 2022-03-19 17:04:30 +01:00
Hermès Bélusca-Maïto
d535ecf1dc [FREELDR] Use safe-string buffer printf to initialize the returned strings in WinLdrGetNLSNames().
This will also stop the GCC 9+ warnings, see PR #4385.
2022-03-19 16:56:13 +01:00
Vadim Galyant
d01f948925 [FREELDR] Allow booting from NTFS volume. (#3775) 2022-03-19 15:44:42 +01:00
Mark Jansen
1eed7ca9a9 [RAPPS] Fix uninstalling applications
- 'WindowsInstaller' setups do not fill the UninstallString and ModifyPath with the needed info, so manually calculate those.
- Fix the case where REG_EXPAND_SZ is used instead of REG_SZ
- Take NoModify into account
2022-03-19 13:32:51 +01:00
Stanislav Motylkov
40fe3e5dd9 [NTDLL][ARM] Add missing definition for RtlFillMemoryUlong
[GITHUB] Build entire base module for ARM platform

CORE-17604
2022-03-18 22:52:05 +03:00
Adam Słaboń
d811fca7c0 [WINLOGON] Make PC Speaker "beep" similar to Windows 2003 one (#4397) 2022-03-17 22:31:06 +03:00
Thomas Faber
be33631629 [COMSUPP] Relicense as BSD. 2022-03-15 22:54:17 -04:00
Thomas Faber
680f103f3d [NETCFGX] Fix uninitialized variable use. 2022-03-13 16:20:44 -04:00
Stanislav Motylkov
d3f3a97b1e [DISKPART] Fix GCC build. Addendum to 28d565ae9a. 2022-03-13 17:58:06 +03:00
Eric Kohl
a2aaa28436 [DISKPART] Add dump command to dump a sector of a disk or partition
Select a disk and run "dump disk 0" to dump the MBR of the disk.
2022-03-13 14:26:10 +01:00
Eric Kohl
28d565ae9a [DISKPART] Add dump command to dump a sector of a disk or partition
Select a disk and run "dump disk 0" to dump the MBR of the disk.
2022-03-13 14:20:47 +01:00
Mark Jansen
af33607a27 [SHELL32] Do not reopen the drive properties dialog on cancel (#4383)
CORE-18073
2022-03-12 15:25:48 +01:00
Joachim Henze
248fe4714a [WINFILE] de-DE.rc White-space addendum in context of CORE-18077
Addendum to 0.4.15-dev-3887-g c3f4c11af1
2022-03-10 23:58:48 +01:00
Dmitry Borisov
dc6dfbf668 [NETKVM] Fix calling convention for callback and variadic functions
Addendum to 4c37757e81.
2022-03-10 13:31:10 +03:00
Katayama Hirofumi MZ
dd5a634611 [ATL] Add atlsync.h (#4382)
- Add atlsync.h and implement CCriticalSection, CEvent, CMutex and CSemaphore classes.
CORE-13950
2022-03-07 11:02:42 +09:00
Katayama Hirofumi MZ
6cb1e57a63 [SHELL32] Support CSIDL_FLAG_NO_ALIAS (#4381)
Adding the CSIDL_FLAG_NO_ALIAS flag to SHGetSpecialFolderLocation should return the physical PIDL if possible.
CORE-18079
2022-03-06 15:25:45 +09:00
Katayama Hirofumi MZ
c5f6e744e7 [SHELL32] Follow-up of 'Simplify CChangeNotifyServer'
Do DestroyAllItems() on OnDestroy().
CORE-13950
2022-03-06 12:33:10 +09:00
Katayama Hirofumi MZ
08bd879247 [SHELL32] Simplify CChangeNotifyServer
- Rename ITEM as CWatchItem.
- Change CWatchItem::hRegEntry to CWatchItem::pRegEntry.
- Simplify code around CWatchItem.

CWatchItem::hRegEntry was local to server, so we could change it to a pointer. CORE-13950
2022-03-06 11:49:28 +09:00
Thamatip Chitpong
79eb14deb5 [TASKMGR] Add version resource info (#4376) 2022-03-06 01:06:58 +03:00
Thamatip Chitpong
9ca32a2b95 [AC97] Improve driver version info (#4368) 2022-03-06 01:04:56 +03:00
Adam Słaboń
68e19a95d0 [AC97] Enable on all Intel AC'97 audio controllers (#4366) 2022-03-06 01:04:22 +03:00
Joachim Henze
c3f4c11af1 [REACTOS] de-DE.rc in all modules: DIE! EINGABETASTE! DIE! CORE-18077
harmonize the mixed usage of EINGABETASTE and ENTER
in favor of ENTER.

Allows us even to omit a linebreak in the format utility and
therefore get closer to en-US.rc
2022-03-05 21:25:30 +01:00
Joachim Henze
c791d4ee4e [USETUP] de-DE Update 2022-03-05 CORE-18075
Avoids some typos like
 gew\201nste -> gew\201nschte
 gew\204hlten -> gew\204hlte

Global replacement of
 fahr->setz
to harmonize the mixed usage of Fortfahren vs Fortsetzen

Also recently someone started using ENTER instead of EINGABETASTE
and although I was pissed off by that in the beginning, after thinking
twice: ENTER is the much better alternative to EINGABETASTE, because:
- it does not need to be translated from english
- it is shorter and therefore helps to avoid some needed abbreviations
- it allows to avoid articles and therefore aligns better with other selections
- it avoids translation errors like EINGABETASTER (and EEINGABETASTE in older branches)
So I use that consistently throughout the translation now.

Also shorten "Der PC wird automatisch neu gestartet" because that line was
so long, that it looked odd.

88 Lines touched: "Der Führer wär stolz"
2022-03-05 18:23:33 +01:00
Julio Carchi
ea7c14919e [NTUSER] Fix Toolbar re-painting when Rebar parent has been altered (#4380) CORE-12342
If a Rebar window is altered by calling either ShowWindow() or UpdateWindow()
then we were only updating the parent and omitting their children windows.

This is closer to the behavior of the very very old SVN r27394 == git f1a7f30 .
And therefore intentionally excludes parts of SVN r27403 == git e2651a0 .

The bots have no complaints about it:
KVM https://reactos.org/testman/compare.php?ids=81266,81290
VBox https://reactos.org/testman/compare.php?ids=81267,81291
2022-03-04 19:40:57 +01:00
Katayama Hirofumi MZ
6ba810c08e [IMM32] s/CLIENTIMC_UNKNOWN1/CLIENTIMC_DESTROY/
CORE-11700
2022-03-03 16:17:07 +09:00
Joachim Henze
a6b544fe37 [RUNAS] de-DE.rc Fix typo
An addendum to 0.4.15-dev-3876-g 4109072bc8
which had no JIRA-ticket.
2022-03-03 04:17:43 +01:00
Joachim Henze
e6de6098fb [MSCONFIG_NEW] Exclude from the iso, for the time being CORE-18067
Since more than 10 years we do ship two binaries for the very same purpose in our isos:
msconfig and msconfig_new.

msconfig_new was an attempt to refactor the old tool, but it got stuck rather soon
and is bloating our isos since then, and consuming build-time.
My testing shows that the older version is superior in many ways
compared to that refactoring attempt: see CORE-18067 for examples of some bugs.

Personally I think focusing on the older tool exclusively would make more sense
than trying to improve that refactoring proposal.
But since one never knows what the future might bring and I did not want to step on anyones toes,
I decided to just disable the build and iso-integration of the unfinished one meanwhile,
instead of dumping it entirely. Although my feeling is that after 10years of waiting
it's not worth waiting another 10 years with that.
2022-03-03 03:33:40 +01:00
Katayama Hirofumi MZ
f6317405f6 [IMM32] Silence "invalid HIMC" in Imm32CleanupContext
CORE-18049
2022-03-03 10:21:49 +09:00
Katayama Hirofumi MZ
1c097babff [IMM32_APITEST] Fix ImmGetImeInfoEx for Win2k3
CORE-11700
2022-03-03 10:10:46 +09:00
Katayama Hirofumi MZ
cfeb498e4f [NTUSER][IMM32] Fix ValidateHandleNoErr (#4377)
- Add DesktopPtrToUser helper function.
- Fix imm32.ValidateHandleNoErr function.
- Use DesktopHeapAlloc to allocate the IMC, instead of ExAllocatePoolWithTag.
- Use DesktopHeapFree to free the IMC, instead of ExFreePoolWithTag.
CORE-11700, CORE-18049
2022-03-03 09:43:05 +09:00
Joachim Henze
d9f156e9a8 [RASDLG] de-DE.rc Update CORE-18056
Fix the glitch
"Wenn nur eine nur einzige Leitung verbunden ist"
to
"Wenn nur eine einzige Leitung verbunden ist"
which was introduced by
SVN r67570 == git 8ad8574f4b

and a few other small glitches.
2022-02-28 12:11:05 +01:00
Eric Kohl
50a1479c53 [SECLOGON] Create the remote process 2022-02-26 19:08:15 +01:00
Eric Kohl
4109072bc8 [RUNAS] Support the /netonly option and improve the help text 2022-02-26 18:57:57 +01:00
Mark Jansen
977c129f33 [USER32] SetScrollPos should not bypass UserApiHook
CORE-18048
2022-02-23 20:32:02 +01:00
Stanislav Motylkov
015fd3a72f [NOTEPAD] Fix Croatian (hr-HR) resource file
Addendum to e0fc48d6 (#4338).
2022-02-23 18:34:48 +03:00
Mark Jansen
6304059721 [SHELL32] Add extra information when encountering an unexpected pidl
In addition, make pdump slightly less unusable
2022-02-22 19:43:05 +01:00
Mark Jansen
6a68717c58 [SHELL32] CDefaultContextMenu: Provide a fallback property sheet
CORE-17691
2022-02-22 19:40:09 +01:00
Eric Kohl
7a42954cb7 [ADVAPI32] Remove buggy declaration of SystemFunction034
Addendum to f4982e54.
2022-02-21 17:34:23 +01:00
Eric Kohl
f4982e547d [ADVAPI32][SECLOGON] Start the implementation of CreateProcessWithLogonW 2022-02-21 16:38:29 +01:00
Eric Kohl
eb0830a1d6 [RUNAS] Load user profile by default 2022-02-21 16:26:35 +01:00
Eric Kohl
d4b947aa9b [RUNAS] Pass the current directory to CreateProcessWithLogonW and handle errors 2022-02-21 11:12:50 +01:00
Hermès Bélusca-Maïto
38cbe5acc3 [FREELDR] Update documentation following timeout and UI style work. 2022-02-21 02:54:06 +01:00
Hermès Bélusca-Maïto
63833c769f [FREELDR] Update existing FREELDR.INI documentation. 2022-02-21 02:54:05 +01:00
Hermès Bélusca-Maïto
ea4cfcfa12 [BOOTDATA][SETUPLIB] Don't hardcode FreeLdr's UI defaults in the freeldr.ini files.
This includes:
- the default TimeText;
- the default colors.

They can however be changed by the user at one's convenience, by
explicitly specifying different values.
2022-02-21 02:54:04 +01:00
Hermès Bélusca-Maïto
d215039216 [FREELDR:UI] Improve setting UI colors/strings ("theme") defaults.
Now, default UI colors/strings (e.g. titles/timeout text) that are
dependent of the UI "theme" (mini vs. full TUI) are set first when
calling their corresponding Initialize() function.
Then, the user UI settings are read from the user's freeldr.ini file
and override the UI theme defaults.

These settings get effectively applied at the first drawing operation
(usually the UiFadeInBackdrop() call done by the main UiInitialize()
function).
For "directui" we don't care about the settings -- they are hardcoded.

This allows not having to specify the default settings in the
freeldr.ini files anymore.

+ Add support for "None" UiBackdropFillStyle: fill with whitespace,
  instead of the specific patterns.
2022-02-21 02:54:03 +01:00
Hermès Bélusca-Maïto
44ed4fb001 [FREELDR:UI] TuiUpdateDateTime(): Simplify building the date/time strings. 2022-02-21 02:54:02 +01:00
Hermès Bélusca-Maïto
3599c835f6 [FREELDR:UI] Improve menu timeout drawing.
Fixes CORE-13827, where the timer countdown would otherwise display
incorrectly if there were no trailing spaces after the timer string.
Now, the countdown is always appended with one space separator after
the end of the string, **or**, it is inserted at a specific place
delimited by a %d insertion point in the string.

Also, don't repaint the date & time (in full-UI mode) many times per
second -- instead of only once per second -- while displaying a menu.
2022-02-21 02:54:01 +01:00
Hermès Bélusca-Maïto
ee32f9b86e [FREELDR:UI] Isolate TuiDrawBox() top/bottom horizontal lines drawing into their own helpers. 2022-02-21 02:54:00 +01:00
Hermès Bélusca-Maïto
622a90522d [FREELDR:UI] Fix the painting ordering of menu elements. 2022-02-21 02:53:59 +01:00
Hermès Bélusca-Maïto
5239a0ca4d [FREELDR:UI] Improve how menu line separators are drawn.
When the menu is not boxed, do not draw the specific "T"-shaped box
corners for the separators.
2022-02-21 02:53:58 +01:00
Hermès Bélusca-Maïto
c322610f6e [FREELDR] Improve progress bar support, adapted from Inbv.
- Improve accuracy/progression smoothness when loading drivers.
- Allow changing text and percentage independently.
2022-02-21 02:53:54 +01:00
Eric Kohl
c14440ee57 [RUNAS] Add password input and improve help text
Now it works on windows xp and 10.
2022-02-19 19:50:46 +01:00
Oleg Dubinskiy
9ab5d3afb2 [WIN32SS][NTGDI] Remove useless assert (#4370) CORE-17561
Remove useless ASSERT(FALSE); in IntGdiCreateDisplayDC, because it actually does not check anything useful. It only asserts each time when the function is called from DxEngCreateMemoryDC by MS DirectDraw stack (ddraw.dll & dxg.sys).
UNIMPLEMENTED debug print is enough a lot to see that this function is not implemented properly.
CORE-17561
2022-02-18 22:00:57 +01:00
Hermès Bélusca-Maïto
81943afb7b [FREELDR:NTLDR] Slightly rework how KD transport DLLs are loaded.
A Kernel Debugger Transport DLL is always loaded for Windows XP+ :
either the standard KDCOM.DLL (by default), or an alternative
user-provided one via the /DEBUGPORT= option. If this alternative
does not exist or fails to be loaded, fall back to the standard
KDCOM.DLL.

If no KD dll is loaded, kernel loading would fail because of the
resulting unsatisfied KDCOM dll import (tested on Windows and ReactOS).

+ Normalize kernel, HAL and KD dll file names to lowercase (needed for
  case-sensitive installations).
2022-02-18 20:24:51 +01:00
Hermès Bélusca-Maïto
2221df213f [FREELDR] Add cleanup in PE-image-handling-related failure code paths. 2022-02-18 20:24:49 +01:00
Hermès Bélusca-Maïto
15e1489c7f [FREELDR:NTLDR] Add some error handling for LoadModule().
Based on PR #4294 by Serge Gautherie.

Co-authored-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2022-02-18 20:24:48 +01:00
Hermès Bélusca-Maïto
1a920d9a7e [FREELDR:NTLDR] Shorten KdTransportDllName --> KdDllName. 2022-02-18 20:24:47 +01:00
Thomas Faber
b72efb6ca8 [CRT] Fix some inconsistent annotations in CRT headers.
This fixes about 5000 VS analysis warnings.
2022-02-17 22:01:37 -05:00
Thomas Faber
f5c5426924 [USBPORT] Fix incorrect use of bitfields.
EndpointMoved == TRUE could never be true, because BOOL is a signed type,
and the only two values in a signed one-bit type are 0 and -1.

Courtesy of VS analysis warning C6299:
Explicitly comparing a bit field to a Boolean type will yield unexpected results.
2022-02-17 22:01:34 -05:00
Mark Jansen
fd28a69de6 [WIN32SS] Store the scrollbar theming enabled flag in the scrollbar
This ensure we do not rely on usermode for always passing this flag in,
which is a ReactOS specific flag.
Thanks to Doug Lyons for finding the source of the problem.
CORE-17780
2022-02-16 18:43:32 +01:00
Andrej Bartulin
7bfc35c366 [README] Add Discord server join link (#4352) 2022-02-16 19:04:44 +03:00
Alex Miccolis
9b71653918 [SHELL32] Stop SHELL_execute from always executing files (#4363)
CORE-18038
Add a check (PathIsExeW) to SHELL_execute to prevent it from executing non-exe files.
2022-02-16 00:54:20 +01:00
Robert Naumann
d64ab28b5f [USER32] Use UINT as parameter for DrawText() (#4357)
Import Wine Commit 0ba1bfb0624d5e95f15499d6cfc9af1910c7c5be by Marcus
Meissner: user32: DrawText gets a 32bit flag, not a 16bit flag.

Fixes CORE-17315 - spottted by I_Kill_Bugs
2022-02-16 00:50:51 +01:00
Hermès Bélusca-Maïto
a7e3584065 [FREELDR:UI] Cleanup for the DrawMenu* functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Add SAL annotations.
2022-02-16 00:49:48 +01:00
Hermès Bélusca-Maïto
ccddb4aaf2 [BOOTDATA] Add /HAL=halpc98.dll to all the PC98 floppy disk's freeldr INI file boot entries. 2022-02-16 00:49:47 +01:00
Obaid51
9c79a7982b [AC97] Import the AC97 driver sample
The source code is licensed under MIT license, taken from
"MSDN Code Gallery Microsoft Samples" repository
(https://github.com/microsoftarchive/msdn-code-gallery-microsoft)

The original license was MS-PL, but the driver was later relicensed
as MIT.

Adopted to ReactOS code base by Michael Stamper.

Co-authored-by: Michael Stamper <michaelstamper1@gmail.com>
2022-02-16 01:31:28 +03:00
Bryan Kirk
0944f808f8 [DDK] Hack the IDmaChannel::PhysicalAddress ABI 2022-02-16 01:31:28 +03:00
Bryan Kirk
3d9ef5c7e7 [PSDK] Add GUIDs used by AC97 sample driver 2022-02-16 01:31:28 +03:00
Bryan Kirk
07baa95a01 [DDK] Fix and add portcls definitions used by AC97 driver sample 2022-02-16 01:31:27 +03:00
Victor Perevertkin
6e97b4314f [PORTCLS] Centralize AddRef/Release implementation.
And make it thread-safe.

Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
2022-02-16 01:31:27 +03:00
Thomas Faber
7db9fb3ba6 [PORTCLS] Don't leak CPortWaveCyclic. 2022-02-15 08:43:08 -05:00
Thomas Faber
ec1eb52ebf [PORTCLS] Do not rely on operator new to zero memory.
The standard operator new does not do this, and GCC will in fact
optimize out any zeroing done in the operator.
2022-02-15 08:43:05 -05:00
Katayama Hirofumi MZ
418edcd2bf [SHELL32_APITEST] ShellExecCmdLine: Close newly-opened windows
ROSTESTS-378
2022-02-15 20:15:36 +09:00
Katayama Hirofumi MZ
2b2366ab90 [NTUSER] Improve UserFreeInputContext and UserDestroyInputContext
CORE-18044
2022-02-15 19:07:50 +09:00
Katayama Hirofumi MZ
dfd06ee8fc [MSPAINT] Implement skew (#4362)
- Add SkewDIB helper function in dib.cpp.
- Implement Stretch and Skew feature by SelectionModel::StretchSkew and ImageModel::StretchSkew.
- Move ColorKeyedMaskBlt function.
CORE-16634
2022-02-14 16:18:18 +09:00
Katayama Hirofumi MZ
2d90919047 [MSPAINT] Implement canvas rotation (#4360)
- Add Rotate90DegreeBlt function to dib.cpp.
- Implement ImageModel::RotateNTimes90Degrees and SelectionModel::RotateNTimes90Degrees.
- Improve ToolsModel::SetBackgroundTransparent.
- Extend and improve SelectionModel::InsertFromHBITMAP.
CORE-16634
2022-02-14 12:08:34 +09:00
Thomas Faber
6eccbe27ec [HAL:APIC] Ensure the interrupt gets requested immediately in ApicRequestSelfInterrupt. CORE-17663 2022-02-13 17:15:00 -05:00
Eric Kohl
5811da1ec5 [RUNAS] Initial version of the runas utility
- Work in progress
- Please do not translate it yet because the resources will change significantly
2022-02-13 21:45:10 +01:00
Hermès Bélusca-Maïto
f7e8214b55 [NTOS:INBV] Code refactoring: Move all the boot animation-specific code out of inbv.c and into the new bootanim.c file.
- inbv.c now only contains the Inbv-specific API and nothing else.

- It will make easier for people to write their own boot themes & animations,
  by just copying/adapting the bootanim.c file (and the resources).

- Add SAL annotations.

- All INBV progress bar functions (except for InbvIndicateProgress())
  should not be INIT-only functions, since they can be (not yet in ROS)
  used at later times -- namely, for feedback during hibernation.
2022-02-13 21:29:14 +01:00
Hermès Bélusca-Maïto
17bd71b570 [NTOS:INBV] Duplicate inbv.c to bootanim.c -- the Git way >_> 2022-02-13 21:19:13 +01:00
Hermès Bélusca-Maïto
8fd64d636d Restore the original inbv.c 2022-02-13 21:18:51 +01:00
Hermès Bélusca-Maïto
93c5e2b7c0 [NTOS:INBV] Duplicate inbv.c to bootanim.c -- the Git way >_>
This will preserve the history in the copied file.
2022-02-13 21:18:22 +01:00
Hermès Bélusca-Maïto
e17f7d6994 [NTOS:INBV] Add documentation to the progress-bar helpers. And fix a bug in them.
In particular, the progress percentage specified to InbvUpdateProgressBar(),
or the progress feedback made with InbvIndicateProgress() calls, is
**relative** to the progress sub-range specified with a previous call to
InbvSetProgressBarSubset() (by default, the range is 0...100%).

This functionality is used e.g. when the number of progress steps is
unknown prior, for example when loading drivers: in this case progress
is made within a given percentage range.

This bug has always been with us since 2010.
2022-02-13 21:16:52 +01:00
Eric Kohl
3f67212812 [PSDK] Add missing flags for CreateProcessWithLogon 2022-02-13 15:41:49 +01:00
Katayama Hirofumi MZ
60b89da383 [SHELL32_APITEST] Try to fix Test Win2003_x64 again 2022-02-13 17:45:08 +09:00
Katayama Hirofumi MZ
45a4e53fa4 [NTUSER][IMM32] Use Imm32CurrentPti and pool (#4356)
- Use newly-defined Imm32CurrentPti() instead of NtCurrentTeb()->Win32ThreadInfo.
- THREADSTATE_GETTHREADINFO is same as THREADSTATE_UNKNOWN18.
- Use the paged pool to allocate HIMC rather than heap.
- Fix and improve ImmDestroyContext function.
CORE-11700
2022-02-13 15:51:53 +09:00
Hermès Bélusca-Maïto
78a7d7dc32 [CMIDRIVER] Remove useless Visual Studio resource editor file. 2022-02-12 16:21:32 +01:00
Hermès Bélusca-Maïto
f73c0e08e2 [FDEBUG][CMIDRIVER] Add missing psdk dependency for user-mode code. 2022-02-12 16:21:30 +01:00
Katayama Hirofumi MZ
b5c9d532e8 [NTUSER][USER32] Implement IntImmProcessKey (#4353)
- Establish the trampoline callback USER32_CALLBACK_IMMPROCESSKEY for imm32!ImmProcessKey function, between NTUSER and IMM32.
- Add IntGetImeCompatFlags helper function.
- Implement co_IntImmProcessKey and IntImmProcessKey functions.
CORE-11700
2022-02-12 08:32:13 +09:00
Joachim Henze
27d73cd78b [NOTEPAD] Fix hr-Hr.rc compiler warning 'unrecognized escape sequence' CORE-18043
It regressed by 0.4.15-dev-3810-g e0fc48d6e2 (#4338)
No release was ever affected therefore.

The diff looks massive in tgit-diffview, strange,
but I actually replaced just a '\' with '\n' at line 168.
My local diff tool does properly display it as a one-line-change only.
2022-02-11 12:42:03 +01:00
Katayama Hirofumi MZ
bbe5fd5274 [NTUSER] Implement NtUserCheckImeHotKey (#4351)
- Modify NtUserCheckImeHotKey prototype.
- Add IntGetImeHotKeyLanguageScore, IntGetActiveKeyboardLayout, IntGetImeHotKeyByKey, and IntCheckImeHotKey helper functions.
- Implement NtUserCheckImeHotKey function.
CORE-11700
2022-02-10 22:53:28 +09:00
George Bișoc
1b06522638 [NTOS:SE] Assign the captured SID and/or privileges to NULL manually on token filtering
This reverts 8479509 commit which pretty much does nothing at all (the captured pointer is NULL within the stack of the function has no effect outside of the function). My mistake, sorry.
2022-02-10 09:51:58 +01:00
Katayama Hirofumi MZ
8cdfc245b3 [IMM32] Implement ImmWINNLSGetEnableStatus
CORE-11700
2022-02-10 15:18:44 +09:00
Katayama Hirofumi MZ
cf32c7cb5e [IMM32] Implement ImmSendMessageToActiveDefImeWndW
CORE-11700
2022-02-10 15:05:59 +09:00
George Bișoc
8479509a7b [NTOS:SE] Assign the captured privilege or SID as NULL when releasing
Whenever a captured security property such as privilege or SID is released, we must not have such captured property point at random address in memory but rather we must assign it as NULL after it's been freed from pool memory. This avoids potential double-after-free situations where we might release a buffer twice.
This is exactly the case with token filtering.
2022-02-09 10:29:56 +01:00
Katayama Hirofumi MZ
3ed22ed326 [SHELL32_APITEST] Try to fix Test Win2003_x64
rm: cannot remove 'C:\\tests/testdata/shell32_apitest_sub.exe': Permission denied
2022-02-09 12:37:06 +09:00
Katayama Hirofumi MZ
e52ce89be3 [NTUSER] Refactoring ime.c
s/WINAPI/NTAPI/
CORE-11700
2022-02-09 11:51:27 +09:00
Katayama Hirofumi MZ
5d5cc57869 [NTUSER] Implement NtUserSetImeHotKey (#4350)
- Modify NtUserGetImeHotKey and NtUserSetImeHotKey prototypes.
- Define enum SETIMEHOTKEY_ACTION in <undocuser.h>.
- Define IMEHOTKEY structure in ime.c.
- Add IntGetImeHotKeyLangId, IntAddImeHotKey, IntGetImeHotKeyById, IntGetImeHotKeyByKeyAndLang, IntDeleteImeHotKey, IntFreeImeHotKeys, and IntSetImeHotKey helper functions.
- Implement NtUserGetImeHotKey and NtUserSetImeHotKey functions.
- Cleanup the IME hotkeys at process exit.
CORE-11700
2022-02-09 11:27:44 +09:00
Andrej Bartulin
e0fc48d6e2 [NOTEPAD] Add Croatian translation (hr-HR) (#4338) 2022-02-09 10:26:22 +09:00
Hermès Bélusca-Maïto
2ae45e0985 [CONCFG:FONT] Implement support for the Windows 10 "__DefaultTTFont__" special FaceName value. (#4337)
This special value tells the console to default to whichever font
is deemed most appropriate for the current code page.

Add Doxygen documentation for FindCachedTTFont().
2022-02-08 15:59:10 +01:00
Hermès Bélusca-Maïto
0b6b0b0021 [CONCFG:FONT] Convert the TT_FONT_ENTRY structure to one similar to MS Terminal's _TT_FONT_LIST. (#4337)
See the definition of struct _TT_FONT_LIST
in https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h

Add Doxygen documentation.

[CONSOLE.CPL][CONSRV] "fonts cache" -> "font cache".
2022-02-08 15:59:08 +01:00
Hermès Bélusca-Maïto
5d3915d0fc [CONCFG:FONT][CONSRV] Use a suitable font when changing console output CP; fail if none found. (#4337)
CORE-12451, CORE-17601, CORE-17803
Replaces PR #4281.

When changing the console output code page, check whether the current
font can support it. If not, try to find a suitable font for the new
code page. If none can be found:

- if we are creating a new console, forcefully switch to codepage 437
  (OEM USA) and retry finding a font, falling back to "Terminal" if
  none could be found;

- if we were just changing the current CP, just fail and keep the old
  code page and font.

Rework the console font selection/creation functions for this new job
(see CreateConsoleFontEx() and friends). Elements of implementation
based from https://github.com/microsoft/terminal ; see code for more
information.

Silence the noisy IsValidConsoleFont2() diagnostic messages.

Add Doxygen documentation.

[CONSOLE.CPL] Only add "Terminal" to the enumerated list of faces
+ add a TODO implementation comment.
2022-02-08 15:59:07 +01:00
Hermès Bélusca-Maïto
a94436b519 [KERNEL32] SetThreadUILanguage(): Validate the parameter. Use LANGIDFROMLCID() macro. (#4301)
Both ReactOS and Win2k3 only support '0' for the parameter.
2022-02-08 15:58:04 +01:00
Hermès Bélusca-Maïto
3e44a5d71c [KERNEL32][CONSRV] Retrieve the best-suited language ID corresponding to the active console output code page. (#4301)
CORE-17601, CORE-17803
Replaces PR #4281.

Implement SrvGetConsoleLangId() (server-side) and set the new current
thread's locale after connecting to a console, or changing its output
code page.

Based on API tracing on Windows 2003, as well as on comments and code
gathered from: https://github.com/microsoft/terminal

Tests results are listed in PR #4301.
2022-02-08 15:58:02 +01:00
Hermès Bélusca-Maïto
ba516ff0f5 [KERNEL32_APITESTS] Add a test showing thread locale/LangID sync with console (#4301)
This test shows how a console program's thread's language ID changes,
or not, when changing the console output code page (or indirectly
when starting on/connecting to a new console), depending on whether
or not the console is running on a CJK/on a non-CJK system, and the
selected code page is a CJK/a non-CJK one.

By that, the test indirectly tests the (non-exposed) consoles GetLangId
+ SetThreadLocale() calls being made under the hood.
2022-02-08 15:58:00 +01:00
Hermès Bélusca-Maïto
20e23bbfcd [NTOS:EX] ExpGet/SetCurrentUserUILanguage() take pointer to const string. Add an implementation note to NtQueryDefaultUILanguage(). 2022-02-08 15:56:39 +01:00
Hermès Bélusca-Maïto
0540c20167 [NTOS:EX][SDK:REACTOS] Fix capitalization of "LangId" in the ProbeFor*** functions. 2022-02-08 15:56:34 +01:00
Katayama Hirofumi MZ
9db4437185 [NTUSER] Implement NtUserNotifyIMEStatus (#4345)
- Define "the special virtual keys for Japanese".
- Add UserSetImeConversionKeyState helper function.
- Implement NtUserNotifyIMEStatus function.
CORE-11700
2022-02-08 12:22:08 +09:00
Katayama Hirofumi MZ
61d4b5fd6c [NTUSER] Cleanup the window lists (#4346)
Cleanup the window lists that are no longer needed at the thread / process termination.
CORE-11700
2022-02-08 12:21:05 +09:00
Mark Jansen
ce306b83db [SHELL32] Rename functions to fix ambiguity 2022-02-07 20:56:46 +01:00
Mark Jansen
bc5603d9d0 [SHELL32] Show properties dialog in a new thread 2022-02-07 20:56:46 +01:00
Mark Jansen
93fac5533d [SHELL32] ShellExecute: Retry after searching for the file in the SEE_MASK_INVOKEIDLIST case
CORE-18035
2022-02-07 20:56:46 +01:00
Mark Jansen
f6f5490ab4 [SHELL32] ShellExecute: Implement SEE_MASK_INVOKEIDLIST
CORE-18035
Also simplify some error handling by using smart pointers
2022-02-07 20:56:21 +01:00
Katayama Hirofumi MZ
1bc9dda5e6 [NTUSER] Rewrite NtUserDestroyInputContext (#4342)
CORE-11700
2022-02-07 10:45:02 +09:00
Hermès Bélusca-Maïto
914f14a8b9 [FREELDR:NTLDR] Adjust some debug traces. RegOpenKey(): demote an ERR to WARN.
CORE-18040
2022-02-07 00:26:30 +01:00
Hermès Bélusca-Maïto
f6a13d452c [FREELDR:NTLDR] Implement support for the SOS option.
CORE-9023, CORE-18033

- Reset the UI to a minimal one in SOS mode.

- In SOS mode, a trace of loaded files is displayed on the screen,
  instead of the usual progress bar.

- Add a callback to the PE loader to notify when imported DLLs are
  loaded for a main image. This allows getting an accurate SOS trace.
2022-02-06 23:53:41 +01:00
Hermès Bélusca-Maïto
cfbec70e04 [FREELDR] Use strsafe functions in the PE loader. 2022-02-06 22:20:58 +01:00
Hermès Bélusca-Maïto
313e6b6cbb [FREELDR:UI] Clean-up when uninitializing the UI.
- If the started OS loader failed and we are back to the OS selection
  menu, re-initialize the UI as the loader may have messed up the display
  in the meantime.

- Tear down allocated off-screen back-buffer when uninitializing the TUI.
- Clear up the screen when initializing the direct-UI.
2022-02-06 22:20:57 +01:00
Hermès Bélusca-Maïto
e2daca3f60 [FREELDR:UI] Improve drawing of progress bars, reducing flickering.
- Remove excessive UiDrawBackdrop() calls that caused too many
  unnecessary redraws.

- ProgressBar: Clear only the portions that need to be cleared up.
  This allows to not use DrawBackdrop anymore and the flickering.
2022-02-06 17:52:46 +01:00
Hermès Bélusca-Maïto
9101247366 [FREELDR:UI] Couple of fixes for the ProgressBar functions.
- Fix box size calculations.
- MiniTUI: Distinguish Vista+ vs. NTLDR style progress bar.
2022-02-06 17:52:44 +01:00
Hermès Bélusca-Maïto
d749b45e2a [FREELDR:UI] Cleanup for the ProgressBar functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Fix their title color.
- Add SAL annotations.
2022-02-06 17:52:43 +01:00
Hermès Bélusca-Maïto
a9994eab45 [FREELDR:UI] Couple of fixes for some TUI Draw*Text functions.
- TuiDrawCenteredText: Partly fix centering calculations (susceptible
  to give negative coordinates).

- TuiDrawText2: Don't display anything if X or Y are out of the screen.
2022-02-06 17:52:42 +01:00
Hermès Bélusca-Maïto
f6a2438c1f [FREELDR:UI] Cleanup for the DrawText* functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Provide the minimal implementations for NoUiDrawText*().
- TuiDrawText() is just a particular case of TuiDrawText2().

- Isolate the TuiPrintf() and TuiDraw*Text*() functions as separate
  "Generic TUI utils".

- Fix "TAG_TAG" typo in TAG_TAG_TUI_PALETTE.
- Add SAL annotations.
2022-02-06 17:52:40 +01:00
Hermès Bélusca-Maïto
06fc2e72a6 [FREELDR:UI] Disable GUI code from compilation as it is currently stubbed.
Rename "ShowGui" -> "ShowUi" as this variable was actually unrelated
to *graphical* aspects of the UI.
2022-02-06 17:52:39 +01:00
Hermès Bélusca-Maïto
844c9dce6c [FREELDR:UI] Code formatting only. 2022-02-06 17:52:38 +01:00
Eric Kohl
942e79963a [SCHEDSVC] This is a shared process service too 2022-02-06 16:56:43 +01:00
Eric Kohl
b76d49bcaa [SYSSETUP] Disable debug messages on the process page 2022-02-06 16:30:53 +01:00
Katayama Hirofumi MZ
f2c3167db3 [NTUSER] Implement NtUserAssociateInputContext (#4334)
- Add IntReAllocatePoolWithTag function in window.c.
- Define WINDOWLIST structure in "window.h".
- Add IntBuildHwndList and IntFreeHwndList helper functions in window.c.
- Add IntAssociateInputContext and IntAssociateInputContextEx helper functions in ime.c.
- Implement NtUserAssociateInputContext function.
CORE-11700
2022-02-05 20:23:57 +09:00
Joachim Henze
bf16435303 [WIN32SS] Remove an ambiguous assert entirely CORE-16738
It popped up very reliably when performing git-clone of the ros sources
while having the taskmgr open in the processes-tab.
Or when building 'ninja bootcd -j1' while having the taskmgr open in the processes-tab.

It is always possible to ignore it and then continue using ros for days without
noticing any side effects.
James Tabor judged the assert to have a "questionable logic".
Giannis who once added it, was also ok with commenting it.

His words:
This assertion isn't something fatal,
the worst thing that can happen from continuing on it would be
to make the thread get awake more times than it should.

It was commented out already on 2020-04-21 via
0.4.14-dev-1519-g 87f6c82d85
2022-02-05 01:06:15 +01:00
Hermès Bélusca-Maïto
f79c02bd8a [CONSRV] Introduce a CON_SET_OUTPUT_CP() macro to simplify setting the console's output CP + associated changes. Simplify ConDrvSetConsoleCP() as well. 2022-02-04 21:35:15 +01:00
Mark Jansen
f80de47c85 [SHELL32_APITEST] ShellExecuteEx: Add test for 'properties' verb
CORE-18035
2022-02-03 21:50:34 +01:00
Mark Jansen
d40d642f03 [PSDK] Add some parameter names 2022-02-03 21:50:34 +01:00
Serge Gautherie
1944d7b71b [KERNEL32] HeapCreateTagsW(): Sync' types and add annotations
See RtlCreateTagHeap().
2022-02-03 20:21:40 +01:00
Serge Gautherie
25bff3a1e0 [NDK][NTDLL][RTL] RtlCreateTagHeap(): Fix types and annotations
According to
https://processhacker.sourceforge.io/doc/ntrtl_8h.html
2022-02-03 20:21:40 +01:00
Katayama Hirofumi MZ
0519ae0ac5 [NTUSER] Half-implement NtUserSetImeOwnerWindow (#4332)
- Add some code to NtUserSetImeOwnerWindow function.
- Add IntGetTopLevelWindow helper function.
CORE-11700
2022-02-03 13:39:15 +09:00
George Bișoc
8bd980e483 [NTOS:CC] Unintialize private cache maps before purging the cache section
Before purging the data cache of a certain section of a file from system cache, we have to unintialize the private cache maps of that section if a filesystem or any other component prompts the kernel to do so.
2022-02-02 17:45:59 +01:00
Katayama Hirofumi MZ
8c6dcdcf81 [USER32] Implement ImeWnd_OnImeSetContext (#4329)
- Modify NtUserSetImeOwnerWindow prototype.
- Add User32GetTopLevelWindow function.
- Add ImeWnd_OnImeSetContext function.
- Implement WM_IME_SETCONTEXT message handling of the IME window.
CORE-11700
2022-02-02 11:58:31 +09:00
Katayama Hirofumi MZ
470aa27610 [NTUSER] Move IMM-related code to ime.c (#4322)
Move the IMM-related code from ntstubs.c into ime.c.
CORE-11700
2022-02-02 11:56:40 +09:00
Katayama Hirofumi MZ
99614febad [USER32] Add ImeWnd_OnImeSystem (#4327)
- Add WM_IME_SYSTEM message handling of the IME window.
- Modify immtable.h.
CORE-11700
2022-01-31 21:20:08 +09:00
Katayama Hirofumi MZ
173fca6ed6 [NTUSER] UserIsDBCSEnabled: Vietnamese doesn't use DBCS
CORE-11700
2022-01-31 09:33:19 +09:00
Katayama Hirofumi MZ
fbab1914a6 [USER32] Don't delay-load-link to imm32.dll (#4328)
Reduce binary size.
- Don't directly call the IMM32 functions. Use IMM_FN instead.
- Modify CMakeLists.txt to unlink imm32.dll.
CORE-11700
2022-01-31 09:30:47 +09:00
Katayama Hirofumi MZ
d735373e46 [USER32] Improve RegisterIMEClass function
CORE-11700
2022-01-31 04:21:45 +09:00
Joachim Henze
cacb2db2f3 [TAPIUI] Fix es-ES.rc MSVC warning RC4206 : title string too long; truncated at 256 CORE-18034
An addendum to 0.4.15-dev-257-g 546862babc which was (#2667)

Thanks for the shortened translation, provided by Vic Marcal and julenuri.
2022-01-30 17:20:57 +01:00
Katayama Hirofumi MZ
0839711566 [MSPAINT] Improve Undo/Redo and finishing tool (#4324)
- Fix Undo/Redo mechanism.
- Finish drawing when the tool is to be chanaged and when the file is to be saved.
- Add ToolBase::OnFinishDraw to virtualize finishing drawing.
- Extend bClearRedo parameter to ImageModel::Undo.
- Add ImageModel::DrawSelectionBackground and ImageModel::DeleteSelection methods.
- Fix some WM_PAINT message handling.
CORE-17969
2022-01-30 12:05:23 +09:00
Hermès Bélusca-Maïto
c5b029d0fc [BOOTDATA] "open" actions for 'msstylesfile' and 'themefile' should be REG_EXPAND_SZ since they contain unexpanded environment variables. 2022-01-30 03:51:34 +01:00
Hermès Bélusca-Maïto
4929d8ddb8 [BOOTDATA] Add missing quotes around %1 for the 'cplfile' Control_RunDLL command line.
Suppose you copy a CPL file (e.g. console.dll renamed into console.cpl)
into a path containing spaces, for example into the Desktop:

  C:\Documents and Settings\Administrator\Desktop\console.cpl

If the shell registry value for the "open" action of 'cplfile' does not
contain quotes around %1, then the Control_RunDLL function will attempt
to load "C:\Documents" as a file, which of course does not exist.

(NOTE: Missing in ReactOS: Doing a PathFindOnPath() or a PathFileExists()
call to verify that the file actually exists, instead of blindly trying
to run it and failing later in kernel32!LoadExecuteExW ...)

Adding quotes around the %1 fixes this and the correct file is being
loaded.

This behaviour has been confirmed to exist e.g. on Windows Server 2003
too (and is thus *NOT* a bug in ReactOS/Wine's Control_RunDLL
implementation).

----------------------

How to confirm this behaviour, in Win2k3 x86:

1. Start Win2k3 in debug mode under WinDbg. Ensure you have the debug
   symbols available.

2. Once loaded, break into the debugger, attach context to explorer.exe,
   and enter the magical :) single WinDbg command (all in one line, with
   **NO inserted newlines!!**):

bp shell32!CPL_RunMeBaby ".echo \"CPL CmdLine:\"; ?? (wchar_t*)*(void**)(@esp+12);
  bp SHLWAPI!PathIsFileSpecW \".echo \\\"CPL Path:\\\"; ?? (wchar_t*)*(void**)(@esp+4);
  bc \\\"SHLWAPI!PathIsFileSpecW\\\"; g;\"; g"

(Explanation:
a breakpoint is placed in the internal shell32!CPL_RunMeBaby function.
When the bp is hit, it runs the large WinDbg command inside the quotes.
This command echoes an informative line, then dumps the 3rd parameter
of the function on the stack that contains the CPL command-line.
It then adds a new breakpoint in SHLWAPI!PathIsFileSpecW, which is the
function that is being called *just after* the internal parsing of the
CPL command-line, and will verify whether the extracted CPL path does
exist. That new breakpoint in turn will run a WinDbg command that will:
(i) Display the CPL file path (1st-param of that new function), then
(ii) Clear that breakpoint.  Finally, automatic continuation ensues.)

3. On vanilla Win2k3, whose 'cplfile' "open" action does contain the
   quotes around %1:
     rundll32.exe shell32.dll,Control_RunDLL "%1",%*

   you will observe the following:

CPL CmdLine:
wchar_t * 0x00094e30
 ""C:\Documents and Settings\Administrator\Desktop\console.cpl","
CPL Path:
wchar_t * 0x0007f898
 "C:\Documents and Settings\Administrator\Desktop\console.cpl"

Notice the extra pair of quotes around the CPL filename in the CmdLine.

4. When modifying the 'cplfile' "open" action by *removing* the quotes
   around %1, you will instead see the following, thereby confirming
   the behaviour, which is now identical to what used to happen in ROS:

CPL CmdLine:
wchar_t * 0x00094e30
 "C:\Documents and Settings\Administrator\Desktop\console.cpl,"
CPL Path:
wchar_t * 0x0007f898
 "C:\Documents"

Due to the (now) absence of quotes around %1, the command-line gets
wrongly parsed and the extracted file path is incorrect.
2022-01-30 03:51:33 +01:00
Katayama Hirofumi MZ
c339105b0d [NTUSER] Implement GetSystemMetrics.SM_DBCSENABLED (#4317)
- Add UserIsDBCSEnabled helper function.
- Support SM_DBCSENABLED value of GetSystemMetrics function.
CORE-11700
2022-01-30 11:23:22 +09:00
Katayama Hirofumi MZ
df8c74e78b [INCLUDE] Rename <ddk/imm.h> as <ddk/immdev.h> (#4321)
- Rename <ddk/imm.h> as <ddk/immdev.h>.
- Delete sdk/include/reactos/wine/imm.h (this header is confusing and nonsense).
- Changes related to it.
CORE-11700
2022-01-30 09:38:04 +09:00
Hermès Bélusca-Maïto
4fe4a57889 [PSDK] commctrl.h: Add missing 'U' unsigned indicators. 2022-01-30 01:02:12 +01:00
Hermès Bélusca-Maïto
38f6fd9df7 [CONSOLE.CPL] Fix problems detected by code analysis.
colors.c(129): warning C6287: Redundant code: the left and right sub-expressions are identical.

colors.c(159): warning C6001: Using uninitialized memory 'colorIndex'.
colors.c(180): warning C6385: Reading invalid data from 'ConInfo->ColorTable': the readable size is '64' bytes, but '259696' bytes may be read.
(I thank ThFabba for the suggestion fix.)

console.c(313): warning C6387: 'ConInfo->hWnd' could be '0': this does not adhere to the specification for the function 'SendMessageW'.

font.c(60): warning C6387: 'Preview->hFont' could be '0': this does not adhere to the specification for the function 'GetFontCellSize'.
font.c(230): warning C6001: Using uninitialized memory 'szFontSize'.
font.c(230): warning C6054: String 'szFontSize' might not be zero-terminated.
font.c(671): warning C6387: 'hFont' could be '0': this does not adhere to the specification for the function 'GetFontCellSize'.

layout.c(502): warning C6387: 'FontPreview.hFont' could be '0': this does not adhere to the specification for the function 'SelectObject'.
2022-01-30 01:02:10 +01:00
Hermès Bélusca-Maïto
3b76aa5d19 [CONCFG] Rewrite the InitTTFontCache() registry enumeration loop. 2022-01-30 01:02:09 +01:00
Hermès Bélusca-Maïto
2a5536c540 [CONSOLE.CPL] Rewrite the BuildCodePageList() registry enumeration loop and use far less stack space.
Any valid code page value name in System\CurrentControlSet\Control\Nls\CodePage
is a string representation of its corresponding decimal value, that
cannot be larger than MAXUSHORT == 65535, i.e. longer than 5+1
characters.

Noticed with the analyser warning
dll\cpl\console\options.c(74): warning C6262: Function uses '32808' bytes
of stack: exceeds /analyze:stacksize '16384'. Consider moving some data to heap.

Make the enumeration loop actually stop when ERROR_NO_MORE_ITEMS is
returned. If we got another error, e.g. because the value name was
too long (and thus, an invalid code page), just ignore and continue
looping.
2022-01-30 01:02:08 +01:00
Hermès Bélusca-Maïto
13b3425369 [CONSOLE.CPL] Use fallback brushes for text preview in case CreateSolidBrush() fails (e.g. low memory scenario). 2022-01-30 01:02:07 +01:00
Hermès Bélusca-Maïto
0e5496d082 [CONSOLE.CPL] Add missing/fix some SendMessageW result casts. 2022-01-30 01:02:06 +01:00
Hermès Bélusca-Maïto
446eb60937 [CONSOLE.CPL] Update faces/fonts list on Fonts page activation, when the current code page has changed. 2022-01-30 01:02:05 +01:00
Hermès Bélusca-Maïto
f650cbdb68 [CONCFG] IsValidConsoleFont(): Validate font against charset corresponding to selected code page. 2022-01-30 01:02:04 +01:00
Hermès Bélusca-Maïto
1530a678a8 [CONCFG:FONT] Add SAL annotations. 2022-01-30 01:01:58 +01:00
Victor Perevertkin
e1cda2fb9e [WDMAUD.DRV] Enable the module for amd64 architecture 2022-01-29 12:28:55 +03:00
Katayama Hirofumi MZ
3fc83b4361 [USER32] Implement ImeWnd_OnImeControl (#4320)
- Add IMC_GETCONVERSIONMODE, IMC_GETSENTENCEMODE, IMC_GETOPENSTATUS, IMC_GETSOFTKBDPOS, and IMC_SETSOFTKBDPOS macros into <ddk/imm.h>.
- Implement WM_IME_CONTROL message handling of the IME window.
CORE-11700
2022-01-29 10:35:48 +09:00
Katayama Hirofumi MZ
82136b3ee4 [USER32] Implement ImeWnd_OnImeNotify (#4318)
- Modify CMakeLists.txt to include <ddk/imm.h>
- Implement WM_IME_NOTIFY message handling of the IME window.
CORE-11700
2022-01-28 19:21:21 +09:00
Joachim Henze
6a496c3991 [CRYPTUI] RC Addendum to 0.4.15-dev-3739-gff9301e CORE-18017
Strip the backslash to avoid GCC8.4.0 RosBE2.2.1 warning:

[104/108] Building RC object dll/win32.../CMakeFiles/cryptui.dir/cryptui.rc.obj
C:/ros/reactos/dll/win32/cryptui/lang/cryptui_En.rc:383: unrecognized escape sequence

The glitch was introduced yesterday
by 0.4.15-dev-3739-g ff9301e9db
2022-01-28 02:10:40 +01:00
Katayama Hirofumi MZ
23bb27037d [USER32] Implement User32CreateImeUI (#4316)
Implementing Japanese input...
- Add User32CreateImeUIWindow, User32GetImeShowStatus, User32SendImeUIMessage, User32UpdateImcOfImeUI, User32SetImeWindowOfImc and User32NotifyOpenStatus helper functions.
- Add WM_IME_SELECT, WM_IME_COMPOSITION, WM_IME_STARTCOMPOSITION and WM_IME_ENDCOMPOSITION message handling of the IME window.
- Rename ImeWnd_OnDestroy as User32DestroyImeUIWindow.
- Rename CheckIMCForWindow as User32CanSetImeWindowToImc.
- Improve ImeWnd_OnCreate function.
CORE-11700
2022-01-27 21:19:37 +09:00
Tibor Lajos Füzi
f010059e63 [3DTEXT] Rearrange settings dialog window to look nicer (#4263)
The settings for the 3d text screensaver was unnecessarily big.
2022-01-27 20:12:25 +09:00
Katayama Hirofumi MZ
356babcaf3 [IMM32] s/Imm32IsImmMode/IS_IMM_MODE/
CORE-11700
2022-01-27 07:34:29 +09:00
Katayama Hirofumi MZ
fc62d268d2 [USER32] Implement WM_CREATE of IME window (#4314)
Implement handling of WM_CREATE and WM_DESTROY messages of the IME window.
CORE-11700
2022-01-27 07:30:11 +09:00
Katayama Hirofumi MZ
9c8167e90a [NTUSER] Implement NtUserGetAppImeLevel and NtUserSetAppImeLevel (#4313)
- Add AtomImeLevel atom.
- Modify NtUserSetAppImeLevel prototype.
- Implement NtUserGetAppImeLevel and NtUserSetAppImeLevel functions.
CORE-11700
2022-01-27 07:29:19 +09:00
Hervé Poussineau
963e76fd60 [VIDEOPRT] Fix typo: DEViCEMAP -> DEVICEMAP 2022-01-26 19:30:32 +01:00
Hervé Poussineau
1add6de3e8 [VIDEOPRT] Change case of device registry path written to registry
Change it it two places, to handle when 'UseNewKey' is enabled or disabled.

This fixes the Spice guest agent, which searches 'System' case-sensitively in it.
2022-01-26 19:30:32 +01:00
Hervé Poussineau
b80d806e05 [VIDEOPRT] Honour UseNewKey setting in registry
This changes:
- which device key is written to DEVICEMAP\Video
- which registry key is used in VideoPortSetRegistryParameters()

CORE-17896
2022-01-26 19:30:32 +01:00
Joachim Henze
ff9301e9db [CRYPTUI] Fix all MSVC *.rc warnings RC4206 CORE-18017
warning RC4206 : title string too long; truncated at 256
by providing shorter translations.
We had 24 such warnings in this module on master head.
2022-01-26 03:23:24 +01:00
Katayama Hirofumi MZ
1cad26ad08 [USER32] Fix uninitialized cbTotal
CORE-18025
2022-01-26 08:14:59 +09:00
Valerij Zaporogeci
f8faa0b660 [TASKMGR] Fix a heap corruption bug (#4311)
Improper adjustment of the array index in graphctl.c, introduced in PR #4141 lead to an off-by-one heap corruption.
2022-01-25 15:49:46 +01:00
Katayama Hirofumi MZ
5972c0c18b [USER32] Fix release build C4700 CORE-16287 2022-01-25 21:57:47 +09:00
Katayama Hirofumi MZ
2c4beeca8e [SHELL32] CCopyToMenu/CMoveToMenu: Check if this_ is NULL 2022-01-25 21:08:14 +09:00
Katayama Hirofumi MZ
0360abb796 [USER32] Follow-up of #4262 (a47590c) (#4312)
Display icons/cursors correctly without hungup. CORE-16287
2022-01-25 20:41:00 +09:00
Katayama Hirofumi MZ
974a0f03df [SHELL32] Fix assertion failure in CMenuToolbars
CORE-17505
2022-01-25 11:49:27 +09:00
Victor Perevertkin
99a6667bd9 [NTOS:KE] Remove all checks for x87 not being present 2022-01-25 02:12:33 +03:00
Victor Perevertkin
1aca6937ff [NTOS:KE] Add a check for unsupported CPU features on i586
Currently, these features are vital for the kernel:
- CPUID instruction
- CMPXCHG8B instruction
- TSC aka Time Stamp Counter

All of that have to be present on i586
2022-01-25 02:12:33 +03:00
Victor Perevertkin
705e07ce31 [NTOS:KE] Move CPU features detection to a separate function on i586 2022-01-25 02:12:26 +03:00
Katayama Hirofumi MZ
c199edda45 [SHELL32] Enable _DEBUG and fix assertion failures (#4307)
Improve debuggability. Fix "WorkerW" window class conflict.
- Enable _DEBUG macro if debugging, in order to enable ATLASSERT macro.
- Fix assertion failures.
- Add SHCreateDefaultWorkerWindow helper function and CWorkerTraits, then use them.
- Don't create the broker and server windows by themselves, but subclass.
CORE-17505, CORE-13950
2022-01-25 03:42:46 +09:00
Katayama Hirofumi MZ
a92304fdd4 [RAPPS] Enable _DEBUG and fix assertion failures
CORE-17505
2022-01-24 10:50:26 +09:00
Katayama Hirofumi MZ
d958950217 [EXPLORER] Enable _DEBUG and fix assertion failures (#4306)
- Enable _DEBUG if debugging.
- Fix assertion failures.
CORE-18013
2022-01-24 10:26:13 +09:00
Joachim Henze
c262020016 [RAPPS] Update outdated README regarding size CORE-18018 2022-01-23 22:03:08 +01:00
Joachim Henze
adfef37b2b [RAPPS] Addendum to 0.4.15-dev-3724-g3a7c0d8 CORE-18018
For a moment I thought this member was obsolete entirely,
and intended to delete it entirely.
(as its size is just ULONG which is too small for big downloads > 4GB size).
It apparently works also without it to display the size,
as we actually use a different member that stores the size as a string.

But there actually still *is* a usage for that ULONG representation.
In (the rare) corner-case the http download does not allow to query the size,
then the ULONG representation m_SizeBytes is used as a fallback for the
download-progress-bar to avoid 'marquee mode'.

The 'fallback of the fallback' so to say.
We should enlarge this to be a 64bit unsigned value some day.
2022-01-23 21:21:50 +01:00
Joachim Henze
3a7c0d82d2 [RAPPS] Fallback to legacy "size" entry is not longer needed CORE-18018
on 2021-10-03 Mark Jansen deleted all old size entries from the rapps database via
https://git.reactos.org/?p=rapps-db.git;a=commit;h=551e8cb95716f46e05c3be08996467bd93b1936f
So it makes no sense to keep that fallback-code in RAPPS available.cpp RetrieveSize() func.
2022-01-23 20:24:47 +01:00
Thomas Faber
8d701598fb [NTOS:MM] Implement partial virtual region releases. CORE-17938
Fixes boot with MS videoprt.sys (and some apitests).
2022-01-22 15:07:06 -05:00
Katayama Hirofumi MZ
7014cf04b1 [ATL][MSPAINT] Add ATLTRACE and fix assertion failures (#4299)
- Implement ATLTRACE and AtlTrace in atlbase.h.
- Fix assertion failures in mspaint.
CORE-17969, CORE-18012
2022-01-23 00:59:12 +09:00
Eric Kohl
085f135f1a [SFCFILES] Add sfcfiles dll and header file
Sfcfiles.dll contains only a short list of protected files (WIP).
2022-01-22 13:28:50 +01:00
Thomas Faber
4cf9b7985e [CRT] Fix MSVC version of call_handler 2022-01-21 20:00:41 -05:00
Katayama Hirofumi MZ
41b87158ff [NTUSER] Improve NtUserGetThreadState (#4300)
- Improve enum ThreadStateRoutines.
- Improve NtUserGetThreadState function.
- Improve CLIENTIMC structure.
- Improve imm32 code.
CORE-17732
2022-01-20 11:49:27 +09:00
Stanislav Motylkov
2318f7f436 [TRANSLATION] Cumulative update for Russian (ru-RU) translation
[SYSDM] Addendum to 5a2911d7, e58b4a49, ea2ca8fa.
[SHELL32] Addendum to 16f64a95, 44bb99cc, 2ae526a0, 34b0f3e4, fd39a292.
[SYSSETUP] Addendum to 556cfbf5, 6f1a57a9, 3f053db3.
[SAMSRV] Addendum to 6f1a57a9.
[BOOTDATA] Addendum to 63cd5d54.
[INF] Addendum to fb500b88.
2022-01-18 23:42:06 +03:00
Julio Carchi
292e6a429f [NTUSER] Initialize correctly CaretWidth value. (#4297) CORE-13984 CORE-14359 CORE-16624
Fixes:
CORE-13984 LibreOffice Writer shows no blinking caret
CORE-14359 Apache Open Office 4.1.2 SWriter - no blinking Caret
CORE-16624 KVIRC, no blinking caret in configuration edit controls
2022-01-18 00:36:49 +01:00
Stanislav Motylkov
e105aefc1c [SHELL32] List CD-ROM drives in the "Hardware" tab of disk properties
CORE-17397
2022-01-17 21:04:04 +03:00
Stanislav Motylkov
5bd2cb13b5 [SAMSRV] Fix typo in IDS_ALIAS_BACKUP_OPS_COMMENT (en-US and others)
Addendum to f1e768c0.
2022-01-17 20:40:31 +03:00
Hermès Bélusca-Maïto
c660590567 [USETUP] Default to en-US output codepage when initializing the console. Addendum to commit 9f201d462.
Reported by julenuri.
2022-01-17 16:16:10 +01:00
Katayama Hirofumi MZ
4bec8ff63e [WIN32KNT_APITEST] Strengthen NtUserGetThreadState testcase (#4291)
Add some paramters to test on. CORE-17732
2022-01-17 16:01:31 +09:00
4284 changed files with 314962 additions and 208736 deletions

3
.github/labeler.yml vendored
View File

@@ -13,3 +13,6 @@ freeldr:
ROSTESTS:
- modules/rostests/**
Win32SS:
- win32ss/**

View File

@@ -78,14 +78,19 @@ jobs:
build-msvc:
strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
os: [windows-latest, windows-2019]
toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below)
arch: [i386, amd64]
config: [Debug, Release]
include:
- arch: i386 # Not compiling on amd64 prompt
toolset: '14.0' # VS 2015
exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019
- os: windows-2019
toolset: '14.2'
- os: windows-2019
toolset: '14.1'
- os: windows-latest
toolset: '14.0'
fail-fast: false
runs-on: windows-latest
runs-on: ${{matrix.os}}
steps:
- name: Install ninja
run: choco install -y ninja
@@ -115,7 +120,7 @@ jobs:
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build
run: cmake --build build -- -k0
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
@@ -136,7 +141,7 @@ jobs:
strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
arch: [arm]
arch: [arm, arm64]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
@@ -151,9 +156,16 @@ jobs:
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (arm)
if: ${{ matrix.arch == 'arm' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86_arm
arch: amd64_arm
toolset: ${{matrix.toolset}}
- name: Activate VS cmd (arm64)
if: ${{ matrix.arch == 'arm64' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
@@ -161,18 +173,24 @@ jobs:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build applications
run: cmake --build build --target base/applications/all
- name: Build base module
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target base/all
- name: Build control panel applets
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target dll/cpl/all
- name: Build rosapps
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all
- name: Build some applications (arm64)
if: ${{ matrix.arch == 'arm64' }}
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/base/applications
build/base
build/dll/cpl
build/modules/rosapps
!**/CMakeFiles
@@ -207,7 +225,7 @@ jobs:
run: choco install -y ninja
- name: Install LLVM
run: |
choco install -y llvm
choco install -y --allow-downgrade llvm --version 13.0.1
echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install Flex & Bison
run: |
@@ -256,7 +274,7 @@ jobs:
build-msbuild-i386:
name: MSBuild (i386)
runs-on: windows-latest
runs-on: windows-2019
steps:
- name: Install Flex and Bison
run: |

32
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues and pull requests
on:
schedule:
- cron: '43 0 * * *'
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 120
days-before-issue-stale: -1
days-before-close: 14
days-before-issue-close: -1
exempt-all-assignees: true
stale-pr-message: 'This PR is stale because it received no updates in the last 4 months. Without removing the stale label, or commenting on this ticket it will be closed in 2 weeks.'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
operations-per-run: 100

1
.gitignore vendored
View File

@@ -8,6 +8,7 @@ modules/3rdparty
modules/[Aa][Hh][Kk]_[Tt]ests
.cache
.cproject
.DS_Store
.project
.settings
.vscode

View File

@@ -68,12 +68,16 @@ include(sdk/cmake/config.cmake)
# Compiler flags handling
include(sdk/cmake/compilerflags.cmake)
add_definitions(-D__REACTOS__)
add_definitions(
-D__REACTOS__
# swprintf without count argument is used in most of the codebase
-D_CRT_NON_CONFORMING_SWPRINTFS
)
# There doesn't seem to be a standard for __FILE__ being relative or absolute, so detect it at runtime.
file(RELATIVE_PATH _PATH_PREFIX ${REACTOS_BINARY_DIR} ${REACTOS_SOURCE_DIR})
if (GCC AND ((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
OR ((CMAKE_C_COMPILER_ID STREQUAL "Clang") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "10.0.0"))))
if (NOT MSVC AND ((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
OR (CMAKE_C_COMPILER_ID STREQUAL "Clang") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "10.0.0")))
# Thankfully, GCC has this
add_compile_options(-ffile-prefix-map=${REACTOS_SOURCE_DIR}=)
add_compile_options(-ffile-prefix-map=${_PATH_PREFIX}=)
@@ -143,13 +147,11 @@ if(NOT CMAKE_CROSSCOMPILING)
endif()
add_subdirectory(sdk/include/host)
if(NOT MSVC)
add_subdirectory(dll/win32/dbghelp)
endif()
add_subdirectory(dll/win32/dbghelp)
add_subdirectory(sdk/tools)
add_subdirectory(sdk/lib)
set(NATIVE_TARGETS bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
set(NATIVE_TARGETS asmpp bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
if(NOT MSVC)
list(APPEND NATIVE_TARGETS rsym pefixup)
endif()
@@ -213,19 +215,11 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_definitions(-DDBG=0)
endif()
if(KDBG)
add_definitions(-DKDBG)
endif()
if(_WINKD_)
add_definitions(-D_WINKD_)
endif()
if(ENABLE_CCACHE)
message(WARNING "-- Disabling precompiled headers support (ccache).")
option(PCH "Whether to use precompiled headers" OFF)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
elseif(GCC)
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
message(WARNING "-- Disabling precompiled headers on GCC by default CORE-17108.")
option(PCH "Whether to use precompiled headers" OFF)
else()
@@ -242,7 +236,8 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
# Arch Options
if(ARCH STREQUAL "i386")
if(NOT USE_CLANG_CL)
# clang-cl defines this one for itself
if(NOT (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang"))
add_definitions(-D_M_IX86)
endif()
add_definitions(-D_X86_ -D__i386__ -Di386)
@@ -276,6 +271,8 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
elseif(ARCH STREQUAL "arm")
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
elseif(ARCH STREQUAL "arm64")
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
endif()
# Activate support for assembly source files

View File

@@ -121,8 +121,8 @@
# R: learn-more, learn_more, Mark Jansen
# R: ThFabba, Thomas Faber
# S: Maintained
/sdk/cmake/ @learn-more
*.cmake @learn-more
/sdk/cmake/
*.cmake
# File Patch API
# M: learn-more, learn_more, Mark Jansen
@@ -225,7 +225,7 @@
# R: learn-more, learn_more, Mark Jansen
# R: ThFabba, Thomas Faber
# S: Maintained
/modules/rostests/apitests/ @learn-more
/modules/rostests/apitests/
# ReactOS Kernel-Mode Tests
# M: ThFabba, Thomas Faber
@@ -252,6 +252,16 @@
/modules/rostests/kmtests/ntos_se/ @GeoB99
/ntoskrnl/se/ @GeoB99
# Shell
# M:
# R: learn-more, learn_more, Mark Jansen
# R: yagoulas, Giannis Adamopoulos
# S: Maintained
/base/shell/explorer/ @learn-more @yagoulas
/base/shell/rshell/ @learn-more @yagoulas
/dll/win32/browseui/ @learn-more @yagoulas
/dll/win32/shell32/ @learn-more @yagoulas
# Shell Extensions
# M:
# R: learn-more, learn_more, Mark Jansen
@@ -272,7 +282,7 @@
/drivers/filesystems/btrfs/ @HeisSpiter
/drivers/filesystems/cdfs/ @HeisSpiter
/drivers/filesystems/ext2/ @HeisSpiter
/drivers/filesystems/fastfat_new/ @HeisSpiter
/drivers/filesystems/fastfat/ @HeisSpiter
/drivers/filesystems/nfs/ @HeisSpiter
/media/doc/README.FSD @HeisSpiter
/sdk/lib/fslib/btrfslib/ @HeisSpiter

View File

@@ -2,9 +2,9 @@
There are several ways to contribute to the development of ReactOS. The most often encountered problem is not knowing where to begin or what to do. If you are able to program or understand the technical information that is pertinent to this project, helping the development can be easy.
- [What To Do?](#what-to-do?)
- [How To Contribute?](#how-to-contribute?)
- [Where To Start?](#where-to-start?)
- [What To Do?](#what-to-do)
- [How To Contribute?](#how-to-contribute)
- [Where To Start?](#where-to-start)
**Legal notice:** If you have seen Microsoft Windows source code, your contribution won't be accepted because of potential copyright violation. Before contributing, you must affirm that the following is true:
>I hereby swear that I have not used nor seen the source code to any version of the Windows operating system

View File

@@ -32,6 +32,7 @@
[Official chat](https://chat.reactos.org/) &bull;
[Wiki](https://reactos.org/wiki/) &bull;
[Forum](https://reactos.org/forum/) &bull;
[Community Discord](https://discord.gg/7knjvhT) &bull;
[JIRA Bug Tracker](https://jira.reactos.org/issues/) &bull;
[ReactOS Git mirror](https://git.reactos.org/) &bull;
[Testman](https://reactos.org/testman/)

View File

@@ -21,7 +21,7 @@ add_subdirectory(magnify)
add_subdirectory(mmc)
add_subdirectory(mplay32)
add_subdirectory(msconfig)
add_subdirectory(msconfig_new)
#add_subdirectory(msconfig_new) #excluded from the build because it is significantly more buggy than the old msconfig. see CORE-18067 for examples
add_subdirectory(mscutils)
add_subdirectory(mshta)
add_subdirectory(mspaint)
@@ -33,6 +33,7 @@ add_subdirectory(rapps)
add_subdirectory(rapps_com)
add_subdirectory(regedit)
add_subdirectory(regedt32)
add_subdirectory(runas)
add_subdirectory(sc)
add_subdirectory(screensavers)
add_subdirectory(sdbinst)

View File

@@ -13,13 +13,13 @@ BEGIN
IDS_HELP "显示或者修改文件的访问控制表\n\n\
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
[/P user:perm [...]] [/D user [...]]\n\
filename 显示 ACLs。\n\
filename 显示访问控制表。\n\
/T 更改当前目录及其所有子目录中\n\
指定文件的 ACL。\n\
/E 编辑 ACL 而不替换。\n\
/E 编辑访问控制表而不替换。\n\
/C 在出现拒绝访问错误时继续。\n\
/G user:perm 赋予指定用户访问权限。\n\
Perm 可以是: R 读取\n\
perm 可以是R 读取\n\
W 写入\n\
C 更改(写入)\n\
F 完全控制\n\
@@ -33,7 +33,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
/D user 拒绝指定用户的访问。\n\
在命令中可以使用通配符指定多个文件。\n\
您也可以在命令中指定多个用户。\n\n\
缩写:\n\
缩写\n\
CI - 容器继承。\n\
ACE会由目录继承。\n\
OI - 对象继承。\n\

View File

@@ -1,5 +1,5 @@
/* Превод на Български/ Bulgarian translation
* http://www.reactos.org/wiki/Bulgarian_translation
* https://reactos.org/wiki/Bulgarian_translation
* FILE: base/applications/calc/lang/bg-BG.rc
* Недовършен / Incomplete
*/
@@ -10,7 +10,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Изчислителят на РеактОС"
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -145,7 +145,7 @@ BEGIN
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Градуси", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Радиани", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Градове", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
CONTROL "Градиани", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -158,7 +158,7 @@ END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Изчислителян на РеактОС"
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -223,7 +223,7 @@ END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Изчислителят на РеактОС"
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -331,7 +331,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Градуси\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "Радиани\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Градове\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM "Градиани\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Разделяне на хилядите", IDM_VIEW_GROUP, CHECKED
END
@@ -339,7 +339,7 @@ BEGIN
BEGIN
MENUITEM "Помощ", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
END
END
@@ -372,7 +372,7 @@ BEGIN
BEGIN
MENUITEM "Помощ", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
END
END
@@ -395,7 +395,7 @@ BEGIN
BEGIN
MENUITEM "Помощ", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
END
END
@@ -410,7 +410,7 @@ END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Изчислителят на РеактОС"
IDS_CALC_NAME "Калкулатор за ReactOS"
IDS_AUTHOR "Написано от Carlo Bramini"
END
@@ -419,7 +419,7 @@ STRINGTABLE
BEGIN
IDS_CONV_ANGLE "Ъгъл"
IDS_CONV_AREA "Площ"
IDS_CONV_CONSUMPTION "Потребление (двигатели)"
IDS_CONV_CONSUMPTION "Разход (двигатели)"
IDS_CONV_CURRENCY "Парични единици"
IDS_CONV_ENERGY "Енергия"
IDS_CONV_LENGTH "Дължина"
@@ -435,10 +435,10 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES "Минути от arc"
IDS_ANGLE_ARCSECONDS "Секунди от arc"
IDS_ANGLE_DEGREES "Градуси"
IDS_ANGLE_GRADIANS "Гради"
IDS_ANGLE_GRADIANS "Градиани"
IDS_ANGLE_RADIANS "Радиани"
END
@@ -486,7 +486,7 @@ STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Километри/литър"
IDS_CONSUMPTION_L_PER_100_KM "Литри/100 километра"
IDS_CONSUMPTION_MILES_GALLON_UK "Мили/галон (ОК)"
IDS_CONSUMPTION_MILES_GALLON_UK "Мили/галон (ВБ)"
IDS_CONSUMPTION_MILES_GALLON_US "Мили/галон (САЩ)"
END
@@ -710,6 +710,6 @@ BEGIN
IDS_WEIGHT_STONES "Камъни"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Тонове"
IDS_WEIGHT_TONS_UK "Тонове (ОК)"
IDS_WEIGHT_TONS_UK "Тонове (ВБ)"
IDS_WEIGHT_TONS_US "Тонове (САЩ)"
END

View File

@@ -429,8 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES "Minute d'arc"
IDS_ANGLE_ARCSECONDS "Seconde d'arc"
IDS_ANGLE_DEGREES "Degrés"
IDS_ANGLE_GRADIANS "Grades"
IDS_ANGLE_RADIANS "Radians"
@@ -599,7 +599,7 @@ BEGIN
IDS_PRESSURE_KILOPASCALS "Kilopascals"
IDS_PRESSURE_MM_OF_MERCURY "Millimètres de mercure"
IDS_PRESSURE_PASCALS "Pascals"
IDS_PRESSURE_PSI "Pounds-force per square inch"
IDS_PRESSURE_PSI "Livre-force par pouce-carrés"
END
/* Temperatures */

View File

@@ -0,0 +1,716 @@
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Indonesian resource file
* TRANSLATORS: Copyright 2022 Wilson Simanjuntak <wilsontulus5@gmail.com>
*/
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Derajat", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radian", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradian", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Kembali", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Kembali", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Konversi", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Kategori:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Konversikan dari:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Konversikan ke:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Kembali", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kotak statistik"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "&Ubah"
BEGIN
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "&Lihat"
BEGIN
MENUITEM "S&tandar", IDM_VIEW_STANDARD
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Desimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Oktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Biner\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "D&erajat\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "&Radian\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "&Gradian\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
END
POPUP "&Bantuan"
BEGIN
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Ubah"
BEGIN
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "&Lihat"
BEGIN
MENUITEM "S&tandar", IDM_VIEW_STANDARD
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Desimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Oktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Biner\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "&Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "&Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "&Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "B&yte\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
END
POPUP "&Bantuan"
BEGIN
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Ubah"
BEGIN
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "&Lihat"
BEGIN
MENUITEM "S&tandar", IDM_VIEW_STANDARD
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
END
POPUP "&Bantuan"
BEGIN
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "Kesalahan"
IDS_QUICKHELP "Bantuan cepat"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Kalkulator ReactOS"
IDS_AUTHOR "Dibuat oleh Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "Sudut"
IDS_CONV_AREA "Area"
IDS_CONV_CONSUMPTION "Konsumsi (mesin)"
IDS_CONV_CURRENCY "Mata Uang"
IDS_CONV_ENERGY "Energi"
IDS_CONV_LENGTH "Panjang"
IDS_CONV_POWER "Daya"
IDS_CONV_PRESSURE "Tekanan"
IDS_CONV_TEMPERATURE "Suhu"
IDS_CONV_TIME "Waktu"
IDS_CONV_VELOCITY "Kecepatan"
IDS_CONV_VOLUME "Volume"
IDS_CONV_WEIGHT "Berat"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Busur menit"
IDS_ANGLE_ARCSECONDS "Busur detik"
IDS_ANGLE_DEGREES "Derajat"
IDS_ANGLE_GRADIANS "Gradian"
IDS_ANGLE_RADIANS "Radian"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "Hektar"
IDS_AREA_ACRES_BRAZIL "Hektar (Brazil)"
IDS_AREA_ACRES_FRANCE "Hektar (Perancis)"
IDS_AREA_ACRES_SCOTS "Hektar (Skotlandia)"
IDS_AREA_ACRES_US "Hektar (US)"
IDS_AREA_ARES "Ares"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hektar"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungaria)"
IDS_AREA_MU "Mu"
IDS_AREA_PING "Ping"
IDS_AREA_PYEONG "Pyeong"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Centimeter persegi"
IDS_AREA_SQUARE_CHR "Chr persegi"
IDS_AREA_SQUARE_FATHOMS "Fathom persegi"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Fathom persegi (Hungaria)"
IDS_AREA_SQUARE_FEET "Kaki persegi"
IDS_AREA_SQUARE_INCHES "Inci persegi"
IDS_AREA_SQUARE_KILOMETERS "Kilometer persegi"
IDS_AREA_SQUARE_LAR "Lar persegi"
IDS_AREA_SQUARE_METER "Meter persegi"
IDS_AREA_SQUARE_MILES "Mil persegi"
IDS_AREA_SQUARE_MILLIMETERS "Milimeter persegi"
IDS_AREA_SQUARE_SHAKU "Shaku persegi"
IDS_AREA_SQUARE_TSUEN "Tsuen persegi"
IDS_AREA_SQUARE_VA "Va persegi"
IDS_AREA_SQUARE_YARD "Yard persegi"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Kilometer/liter"
IDS_CONSUMPTION_L_PER_100_KM "Liter/100 kilometer"
IDS_CONSUMPTION_MILES_GALLON_UK "Mil/galon (UK)"
IDS_CONSUMPTION_MILES_GALLON_US "Mil/galon (US)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "Schilling Austria"
IDS_CURRENCY_BELGIAN_FRANC "Franc Belgia"
IDS_CURRENCY_CYPRIOT_POUND "Pound Siprus"
IDS_CURRENCY_CZECH_KORUNA "Koruna Ceko"
IDS_CURRENCY_DEUTSCHE_MARK "Mark Jerman"
IDS_CURRENCY_DUTCH_GUILDER "Gulden Belanda"
IDS_CURRENCY_ESTONIAN_KROON "Kroon Estonia"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Markka Finlandia"
IDS_CURRENCY_FRENCH_FRANC "Franc Perancis"
IDS_CURRENCY_GREEK_DRACHMA "Drakhma Yunani"
IDS_CURRENCY_IRISH_POUND "Pound Irlandia"
IDS_CURRENCY_ITALIAN_LIRA "Lira Italia"
IDS_CURRENCY_LATVIAN_LATS "Lats Latvia"
IDS_CURRENCY_LITHUANIAN_LITAS "Litas Lithuania"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc Luksemburg"
IDS_CURRENCY_MALTESE_LIRA "Lira Malta"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugis"
IDS_CURRENCY_SLOVAK_KORUNA "Koruna Slovakia"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar Slovenia"
IDS_CURRENCY_SPANISH_PESETA "Peseta Spanyol"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C Kalori"
IDS_ENERGY_BTUS "British Thermal Unit"
IDS_ENERGY_ERGS "Erg"
IDS_ENERGY_EVS "Voltase elektron"
IDS_ENERGY_FOOT_POUNDS "Pon kaki"
IDS_ENERGY_IT_CALORIES "Tabel Kalori Internasional"
IDS_ENERGY_IT_KILOCALORIES "Tabel Kilokalori Internasional"
IDS_ENERGY_JOULES "Joule"
IDS_ENERGY_KILOJOULES "Kilojoule"
IDS_ENERGY_KILOWATT_HOURS "Kilowatt per jam"
IDS_ENERGY_NUTRITION_CALORIES "Kalori pangan"
IDS_ENERGY_TH_CALORIES "Kalori termokimia"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "Ångström"
IDS_LENGTH_ASTRONOMICAL_UNITS "Satuan astronomi"
IDS_LENGTH_BARLEYCORNS "Barleycorn"
IDS_LENGTH_CENTIMETERS "Centimeter"
IDS_LENGTH_CHAINS_UK "Rantai (UK)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Fathom"
IDS_LENGTH_FATHOMS_HUNGARY "Fathom (Hungaria)"
IDS_LENGTH_FEET "Kaki"
IDS_LENGTH_FURLONGS "Furlong"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Tangan"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Inci"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Kilometer"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Tahun cahaya"
IDS_LENGTH_LINKS_UK "Link (UK)"
IDS_LENGTH_METERS "Meter"
IDS_LENGTH_MICRONS "Mikron"
IDS_LENGTH_MILES "Mil"
IDS_LENGTH_MILLIMETERS "Milimeter"
IDS_LENGTH_NAUTICAL_MILES "Mil laut"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsec"
IDS_LENGTH_PICAS "Pica"
IDS_LENGTH_RI_JAPAN "Ri (Jepang)"
IDS_LENGTH_RI_KOREA "Ri (Korea)"
IDS_LENGTH_RODS "Rod"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_SPAN "Jengkal"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Yard"
IDS_LENGTH_YOTE "Yote"
IDS_LENGTH_ZHANG "Zhang"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "British Thermal Unit per menit"
IDS_POWER_FPS_PER_MINUTE "Pon Kaki per menit"
IDS_POWER_HORSEPOWER "Tenaga kuda"
IDS_POWER_KILOWATTS "Kilowatt"
IDS_POWER_MEGAWATTS "Megawatt"
IDS_POWER_WATTS "Watt"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "Atmosfir"
IDS_PRESSURE_BARS "Bar"
IDS_PRESSURE_HECTOPASCALS "Hektopascal"
IDS_PRESSURE_KILOPASCALS "Kilopascal"
IDS_PRESSURE_MM_OF_MERCURY "Milimeter merkuri"
IDS_PRESSURE_PASCALS "Pascal"
IDS_PRESSURE_PSI "Pon per inci persegi"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "Celsius"
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
IDS_TEMPERATURE_KELVIN "Kelvin"
IDS_TEMPERATURE_RANKINE "Rankine"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "Hari"
IDS_TIME_HOURS "Jam"
IDS_TIME_NANOSECONDS "Nanodetik"
IDS_TIME_MICROSECONDS "Mikrodetik"
IDS_TIME_MILLISECONDS "Milidetik"
IDS_TIME_MINUTES "Menit"
IDS_TIME_SECONDS "Detik"
IDS_TIME_WEEKS "Minggu"
IDS_TIME_YEARS "Tahun"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "Centimeter/jam"
IDS_VELOCITY_FEET_HOUR "Kaki/jam"
IDS_VELOCITY_FEET_SECOND "Kaki/detik"
IDS_VELOCITY_KILOMETERS_HOUR "Kilometer/jam"
IDS_VELOCITY_KNOTS "Knot"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Meter/detik"
IDS_VELOCITY_MILES_HOUR "Mil/jam"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "Barel (UK)"
IDS_VOLUME_BARRELS_OIL "Barel minyak"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Bushel (UK)"
IDS_VOLUME_BUSHELS_US "Bushel (US)"
IDS_VOLUME_CUBIC_CENTIMETERS "Centimeter kubik"
IDS_VOLUME_CUBIC_FEET "Kaki kubik"
IDS_VOLUME_CUBIC_INCHES "Inci Kubik"
IDS_VOLUME_CUBIC_METERS "Meter kubik"
IDS_VOLUME_CUBIC_YARDS "Yard kubik"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Ons cairan (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Ons cairan (US)"
IDS_VOLUME_GALLONS_UK "Galon (UK)"
IDS_VOLUME_GALLONS_DRY_US "Galon, beku (US)"
IDS_VOLUME_GALLONS_LIQUID_US "Galon, cair (US)"
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Liter"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "Mililiter"
IDS_VOLUME_PINTS_UK "Pint (UK)"
IDS_VOLUME_PINTS_DRY_US "Pint, beku (US)"
IDS_VOLUME_PINTS_LIQUID_US "Pint, cair (US)"
IDS_VOLUME_QUARTS_UK "Quart (UK)"
IDS_VOLUME_QUARTS_DRY_US "Quart, beku (US)"
IDS_VOLUME_QUARTS_LIQUID_US "Quart, cair (US)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "To"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "Baht"
IDS_WEIGHT_CARATS "Karat"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "Gram"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "Jin (China)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_KILOGRAMS "Kilogram"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ons, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Ons, troy"
IDS_WEIGHT_POUNDS "Pon"
IDS_WEIGHT_QUINTAL_METRIC "Kuintal (metrik)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Batu"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Tonne"
IDS_WEIGHT_TONS_UK "Ton (UK)"
IDS_WEIGHT_TONS_US "Ton (US)"
END

View File

@@ -1,7 +1,7 @@
/*
* Translated by Caemyr - Olaf Siejka (Feb, Jun 2008)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl;
* Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
* UTF-8 conversion by Caemyr (May, 2011)

View File

@@ -1,6 +1,10 @@
/*
* Translators: Petru Dimitriu (petrimetri at gmail dot com)
* Ștefan Fulea (stefan dot fulea at mail dot com)
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri@gmail.com>
* Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2022 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -501,7 +505,7 @@ BEGIN
IDS_CURRENCY_ESTONIAN_KROON "Coroană estoniană"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marcă finlandeză"
IDS_CURRENCY_FRENCH_FRANC "Franc framcez"
IDS_CURRENCY_FRENCH_FRANC "Franc francez"
IDS_CURRENCY_GREEK_DRACHMA "Drahmă grecească"
IDS_CURRENCY_IRISH_POUND "Liră irlandeză"
IDS_CURRENCY_ITALIAN_LIRA "Liră italiană"

View File

@@ -1,4 +1,10 @@
/* Simplified Chinese translation for calc. By Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> */
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2011 Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
@@ -226,13 +232,13 @@ BEGIN
PUSHBUTTON "转换", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "类别:", IDC_STATIC, 5, 20, 56, 8
LTEXT "类别", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "从...转换:", IDC_STATIC, 5, 49, 56, 8
LTEXT "从...转换", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "转换为:", IDC_STATIC, 5, 76, 56, 8
LTEXT "转换为", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
@@ -415,7 +421,7 @@ STRINGTABLE
BEGIN
IDS_CONV_ANGLE "角"
IDS_CONV_AREA "面积"
IDS_CONV_CONSUMPTION "油耗 (引擎)"
IDS_CONV_CONSUMPTION "油耗引擎"
IDS_CONV_CURRENCY "货币"
IDS_CONV_ENERGY "能量"
IDS_CONV_LENGTH "长度"
@@ -431,8 +437,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES ""
IDS_ANGLE_ARCSECONDS ""
IDS_ANGLE_DEGREES "角度"
IDS_ANGLE_GRADIANS "梯度"
IDS_ANGLE_RADIANS "弧度"
@@ -442,26 +448,26 @@ END
STRINGTABLE
BEGIN
IDS_AREA_ACRES "英亩"
IDS_AREA_ACRES_BRAZIL "英亩 (巴西)"
IDS_AREA_ACRES_FRANCE "英亩 (法国)"
IDS_AREA_ACRES_SCOTS "英亩 (苏格兰)"
IDS_AREA_ACRES_US "英亩 (美国)"
IDS_AREA_ACRES_BRAZIL "英亩巴西"
IDS_AREA_ACRES_FRANCE "英亩法国"
IDS_AREA_ACRES_SCOTS "英亩苏格兰"
IDS_AREA_ACRES_US "英亩美国"
IDS_AREA_ARES "公亩"
IDS_AREA_CHOU "畴"
IDS_AREA_DANBO "大亩"
IDS_AREA_HECTARES "公顷"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "摩根 (匈牙利)"
IDS_AREA_MORGEN_HUNGARY "摩根匈牙利"
IDS_AREA_MU "亩"
IDS_AREA_PING "坪"
IDS_AREA_PYEONG "坪 (韩国)"
IDS_AREA_PYEONG "坪韩国"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "莱"
IDS_AREA_SE "亩 (日本)"
IDS_AREA_SE "亩日本"
IDS_AREA_SQUARE_CENTIMETERS "平方厘米"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "平方英寻"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英寻 (匈牙利)"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英寻匈牙利"
IDS_AREA_SQUARE_FEET "平方英尺"
IDS_AREA_SQUARE_INCHES "平方英寸"
IDS_AREA_SQUARE_KILOMETERS "平方千米"
@@ -474,7 +480,7 @@ BEGIN
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "平方码"
IDS_AREA_TAN "段"
IDS_AREA_TSUBO "坪 (日本)"
IDS_AREA_TSUBO "坪日本"
END
/* Consumptions */
@@ -482,8 +488,8 @@ STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "千米/升"
IDS_CONSUMPTION_L_PER_100_KM "升/100 千米"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加仑 (英国)"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加仑 (美国)"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加仑英国"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加仑美国"
END
/* Currencies */
@@ -536,20 +542,20 @@ BEGIN
IDS_LENGTH_ASTRONOMICAL_UNITS "天文单位"
IDS_LENGTH_BARLEYCORNS "巴利肯"
IDS_LENGTH_CENTIMETERS "厘米"
IDS_LENGTH_CHAINS_UK "链 (英国)"
IDS_LENGTH_CHAINS_UK "链英国"
IDS_LENGTH_CHI "尺"
IDS_LENGTH_CHOU "畴"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "寸"
IDS_LENGTH_FATHOMS "英寻"
IDS_LENGTH_FATHOMS_HUNGARY "英寻 (匈牙利)"
IDS_LENGTH_FATHOMS_HUNGARY "英寻匈牙利"
IDS_LENGTH_FEET "英尺"
IDS_LENGTH_FURLONGS "浪"
IDS_LENGTH_GAN "杆"
IDS_LENGTH_HANDS "掌宽"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "英尺"
IDS_LENGTH_JA "尺 (韩国)"
IDS_LENGTH_JA "尺韩国"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
@@ -566,14 +572,14 @@ BEGIN
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsecs"
IDS_LENGTH_PICAS "Picas"
IDS_LENGTH_RI_JAPAN "里 (日本)"
IDS_LENGTH_RI_KOREA "里 (韩国)"
IDS_LENGTH_RI_JAPAN "里日本"
IDS_LENGTH_RI_KOREA "里韩国"
IDS_LENGTH_RODS "杆"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "尺 (日本)"
IDS_LENGTH_SHAKU "尺日本"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_SUN "寸 (日本)"
IDS_LENGTH_SUN "寸日本"
IDS_LENGTH_TSUEN "寸"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "码"
@@ -643,22 +649,22 @@ END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "桶 (英国)"
IDS_VOLUME_BARRELS_UK "桶英国"
IDS_VOLUME_BARRELS_OIL "桶油"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "蒲式耳 (英国)"
IDS_VOLUME_BUSHELS_US "蒲式耳 (美国)"
IDS_VOLUME_BUSHELS_UK "蒲式耳英国"
IDS_VOLUME_BUSHELS_US "蒲式耳美国"
IDS_VOLUME_CUBIC_CENTIMETERS "立方厘米"
IDS_VOLUME_CUBIC_FEET "立方英尺"
IDS_VOLUME_CUBIC_INCHES "立方英寸"
IDS_VOLUME_CUBIC_METERS "立方米"
IDS_VOLUME_CUBIC_YARDS "立方码"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "液盎司 (英国)"
IDS_VOLUME_FLUID_OUNCES_US "液盎司 (美国)"
IDS_VOLUME_GALLONS_UK "加仑 (英国)"
IDS_VOLUME_GALLONS_DRY_US "干量加仑 (美国)"
IDS_VOLUME_GALLONS_LIQUID_US "液加仑 (美国)"
IDS_VOLUME_FLUID_OUNCES_UK "液盎司英国"
IDS_VOLUME_FLUID_OUNCES_US "液盎司美国"
IDS_VOLUME_GALLONS_UK "加仑英国"
IDS_VOLUME_GALLONS_DRY_US "干量加仑美国"
IDS_VOLUME_GALLONS_LIQUID_US "液加仑美国"
IDS_VOLUME_GOU "合"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
@@ -666,17 +672,17 @@ BEGIN
IDS_VOLUME_LITERS "升"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "毫升"
IDS_VOLUME_PINTS_UK "品脱 (英国)"
IDS_VOLUME_PINTS_DRY_US "干量品脱 (美国)"
IDS_VOLUME_PINTS_LIQUID_US "液品脱 (美国)"
IDS_VOLUME_QUARTS_UK "夸脱 (英国)"
IDS_VOLUME_QUARTS_DRY_US "干量夸脱 (美国)"
IDS_VOLUME_QUARTS_LIQUID_US "液夸脱 (美国)"
IDS_VOLUME_PINTS_UK "品脱英国"
IDS_VOLUME_PINTS_DRY_US "干量品脱美国"
IDS_VOLUME_PINTS_LIQUID_US "液品脱美国"
IDS_VOLUME_QUARTS_UK "夸脱英国"
IDS_VOLUME_QUARTS_DRY_US "干量夸脱美国"
IDS_VOLUME_QUARTS_LIQUID_US "液夸脱美国"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "斗 (日本)"
IDS_VOLUME_TO "斗日本"
END
/* Weights */
@@ -690,14 +696,14 @@ BEGIN
IDS_WEIGHT_GRAMS "克"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "斤 (中国)"
IDS_WEIGHT_JIN_TAIWAN "斤 (中国台湾)"
IDS_WEIGHT_KAN "贯 (日本)"
IDS_WEIGHT_JIN_CHINA "斤中国"
IDS_WEIGHT_JIN_TAIWAN "斤中国台湾"
IDS_WEIGHT_KAN "贯日本"
IDS_WEIGHT_KILOGRAMS "千克"
IDS_WEIGHT_KIN "斤 (日本)"
IDS_WEIGHT_LIANG_CHINA "两 (中国)"
IDS_WEIGHT_LIANG_TAIWAN "两 (中国台湾)"
IDS_WEIGHT_MONME "两 (日本)"
IDS_WEIGHT_KIN "斤日本"
IDS_WEIGHT_LIANG_CHINA "两中国"
IDS_WEIGHT_LIANG_TAIWAN "两中国台湾"
IDS_WEIGHT_MONME "两日本"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡盎司"
IDS_WEIGHT_OUNCES_TROY "金衡盎司"
IDS_WEIGHT_POUNDS "英磅"
@@ -706,6 +712,6 @@ BEGIN
IDS_WEIGHT_STONES "石"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "吨"
IDS_WEIGHT_TONS_UK "吨 (英国)"
IDS_WEIGHT_TONS_US "吨 (美国)"
IDS_WEIGHT_TONS_UK "吨英国"
IDS_WEIGHT_TONS_US "吨美国"
END

View File

@@ -63,6 +63,9 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
#ifdef LANGUAGE_HU_HU
#include "lang/hu-HU.rc"
#endif
#ifdef LANGUAGE_ID_ID
#include "lang/id-ID.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif

View File

@@ -4,7 +4,6 @@
* FILE: base/applications/charmap/charmap.c
* PURPOSE: main dialog implementation
* COPYRIGHT: Copyright 2007 Ged Murphy <gedmurphy@reactos.org>
*
*/
#include "precomp.h"
@@ -567,6 +566,8 @@ PanelOnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
}
}
SetFocus(hCharmapDlg);
return 0;
}
@@ -710,6 +711,14 @@ wWinMain(HINSTANCE hInst,
break;
}
/* NOTE: CreateDialog needs IsDialogMessage call in message loop */
if (hCharmapDlg && IsDialogMessage(hCharmapDlg, &Msg))
continue;
#ifndef REMOVE_ADVANCED
if (hAdvancedDlg && IsDialogMessage(hAdvancedDlg, &Msg))
continue;
#endif
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}

View File

@@ -1,5 +1,5 @@
/* Превод на Български/ Bulgarian translation */
/* http://www.reactos.org/wiki/Bulgarian_translation */
/* https://reactos.org/wiki/Bulgarian_translation */
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
@@ -8,7 +8,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Шрифт :", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Помощ", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Ajuda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -10,7 +10,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Písmo:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Nápověda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Schrift:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Hilfe", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Γραμματοσειρά :", IDC_STATIC, 6, 7, 60, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Βοήθεια", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Help", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -8,7 +8,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Fuente:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Ayuda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Spikker", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Police :", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Aide", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -7,7 +7,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
EXSTYLE WS_EX_LAYOUTRTL
BEGIN
LTEXT "גופן", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "עזרה", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Fon:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Bantuan", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Aiuto", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 9, "MS UI Gothic", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "フォント:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "ヘルプ", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -9,7 +9,7 @@ FONT 9, "굴림", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "글꼴:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "도움말", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Šriftas:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Pagalba", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Lettertype:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Help", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Skrift:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Hjelp", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Czci&onka:", IDC_STATIC, 7, 9, 32, 8
COMBOBOX IDC_FONTCOMBO, 49, 7, 183, 60, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 49, 7, 183, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Pomo&c", IDC_CMHELP, 237, 7, 50, 14
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Fonte:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Aj&uda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -1,6 +1,6 @@
/*
* FILE: base/applications/charmap/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* ReactOS Project (https://reactos.org)
* TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot com)
*/
@@ -11,7 +11,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "F&ont:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Manual…", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -7,7 +7,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Шрифт:", IDC_STATIC, 6, 7, 27, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Справка", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Pís&mo:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Pomocník", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -9,7 +9,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Ndihmë", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -12,7 +12,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Typsnitt:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Hjälp", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -10,7 +10,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Yazı Tipi:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Yardım", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
@@ -57,5 +57,5 @@ BEGIN
IDS_ABOUT "&Hakkında..."
IDS_TITLE "Karakter Seçici"
IDS_UNICODE "Unicode"
IDS_ALL "Hepsi"
IDS_ALL "Tümü"
END

View File

@@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Шрифт :", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Довідка", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -12,13 +12,13 @@ IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 9, "宋体", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字体:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
LTEXT "字体", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "说明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "待复制的字符:", IDC_STATIC, 6, 188, 66, 9
LTEXT "待复制的字符", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "选择", IDC_SELECT, 194, 186, 44, 13
@@ -31,14 +31,14 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 9, "宋体"
BEGIN
LTEXT "字符集:", IDC_STATIC, 8, 8, 48, 8
LTEXT "字符集", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "分组:", IDC_STATIC, 8, 28, 50, 8
LTEXT "分组", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "搜索", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "搜索目标:", IDC_STATIC, 8, 48, 42, 8
LTEXT "到 Unicode:", IDC_STATIC, 200, 8, 30, 8
LTEXT "搜索目标", IDC_STATIC, 8, 48, 42, 8
LTEXT "到 Unicode", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END

View File

@@ -13,7 +13,7 @@ FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字型:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "説明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -13,7 +13,7 @@ FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字型:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "說明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/charmap/map.c
* PURPOSE: class implementation for painting glyph region
* COPYRIGHT: Copyright 2007 Ged Murphy <gedmurphy@reactos.org>
* Copyright 2022 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*
*/
@@ -17,79 +18,51 @@ static const WCHAR szLrgCellWndClass[] = L"LrgCellWnd";
#define MAX_ROWS (0xFFFF / XCELLS) + 1 - YCELLS
static
VOID
SetGrid(PMAP infoPtr)
{
INT x, y;
for (y = 0; y < YCELLS; y++)
for (x = 0; x < XCELLS; x++)
{
infoPtr->Cells[y][x].CellExt.left = x * infoPtr->CellSize.cx + 1;
infoPtr->Cells[y][x].CellExt.top = y * infoPtr->CellSize.cy + 1;
infoPtr->Cells[y][x].CellExt.right = (x + 1) * infoPtr->CellSize.cx + 2;
infoPtr->Cells[y][x].CellExt.bottom = (y + 1) * infoPtr->CellSize.cy + 2;
CopyRect(&infoPtr->Cells[y][x].CellInt,
&infoPtr->Cells[y][x].CellExt);
InflateRect(&infoPtr->Cells[y][x].CellInt,
-1,
-1);
}
}
static
VOID
DrawActiveCell(PMAP infoPtr,
HDC hdc)
{
Rectangle(hdc,
infoPtr->pActiveCell->CellInt.left,
infoPtr->pActiveCell->CellInt.top,
infoPtr->pActiveCell->CellInt.right,
infoPtr->pActiveCell->CellInt.bottom);
}
static
VOID
DrawGrid(PMAP infoPtr,
PAINTSTRUCT *ps)
{
INT x, y;
RECT rc;
PCELL Cell;
for (y = 0; y < YCELLS; y++)
for (x = 0; x < XCELLS; x++)
{
Cell = &infoPtr->Cells[y][x];
Cell->CellExt.left = x * infoPtr->CellSize.cx + 1;
Cell->CellExt.top = y * infoPtr->CellSize.cy + 1;
Cell->CellExt.right = (x + 1) * infoPtr->CellSize.cx + 2;
Cell->CellExt.bottom = (y + 1) * infoPtr->CellSize.cy + 2;
if (!IntersectRect(&rc,
&ps->rcPaint,
&Cell->CellExt))
{
continue;
}
Cell->CellInt = Cell->CellExt;
Rectangle(ps->hdc,
Cell->CellExt.left,
Cell->CellExt.top,
Cell->CellExt.right,
Cell->CellExt.bottom);
if (infoPtr->pActiveCell == Cell)
{
DrawActiveCell(infoPtr, ps->hdc);
}
InflateRect(&Cell->CellInt, -1, -1);
}
}
static
VOID
UpdateCells(PMAP infoPtr)
{
INT x, y;
INT i = XCELLS * infoPtr->iYStart;
WCHAR ch;
PCELL Cell;
for (y = 0; y < YCELLS; ++y)
{
for (x = 0; x < XCELLS; ++x, ++i)
{
if (i < infoPtr->NumValidGlyphs)
ch = (WCHAR)infoPtr->ValidGlyphs[i];
else
ch = 0xFFFF;
Cell = &infoPtr->Cells[y][x];
Cell->ch = ch;
}
}
}
static
VOID
@@ -97,48 +70,66 @@ FillGrid(PMAP infoPtr,
PAINTSTRUCT *ps)
{
HFONT hOldFont;
WCHAR ch;
INT x, y;
RECT rc;
PCELL Cell;
INT i, added;
INT i;
HBRUSH hOldBrush, hbrGray = (HBRUSH)GetStockObject(LTGRAY_BRUSH);
HPEN hOldPen, hPenGray = CreatePen(PS_SOLID, 1, RGB(140, 140, 140));
hOldFont = SelectObject(ps->hdc,
infoPtr->hFont);
UpdateCells(infoPtr);
hOldFont = SelectObject(ps->hdc, infoPtr->hFont);
hOldPen = SelectObject(ps->hdc, GetStockObject(BLACK_PEN));
hOldBrush = SelectObject(ps->hdc, GetStockObject(WHITE_BRUSH));
i = XCELLS * infoPtr->iYStart;
added = 0;
for (y = 0; y < YCELLS; y++)
for (x = 0; x < XCELLS; x++)
{
if (i >= infoPtr->NumValidGlyphs) break;
ch = (WCHAR)infoPtr->ValidGlyphs[i];
Cell = &infoPtr->Cells[y][x];
if (IntersectRect(&rc,
&ps->rcPaint,
&Cell->CellExt))
for (x = 0; x < XCELLS; x++, i++)
{
Cell->ch = ch;
Cell = &infoPtr->Cells[y][x];
if (!IntersectRect(&rc, &ps->rcPaint, &Cell->CellExt))
continue;
DrawTextW(ps->hdc,
&ch,
1,
&Cell->CellInt,
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
rc = Cell->CellExt;
Rectangle(ps->hdc, rc.left, rc.top, rc.right, rc.bottom);
added++;
if (i < infoPtr->NumValidGlyphs)
{
DrawTextW(ps->hdc, &Cell->ch, 1, &Cell->CellInt,
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
if (Cell == infoPtr->pActiveCell)
{
rc = Cell->CellInt;
/* Draw gray box */
SelectObject(ps->hdc, GetStockObject(NULL_BRUSH));
SelectObject(ps->hdc, hPenGray);
Rectangle(ps->hdc, rc.left, rc.top, rc.right, rc.bottom);
SelectObject(ps->hdc, hOldPen);
SelectObject(ps->hdc, hOldBrush);
if (GetFocus() == infoPtr->hMapWnd)
{
/* Draw focus rectangle */
InflateRect(&rc, -1, -1);
DrawFocusRect(ps->hdc, &rc);
}
}
}
else
{
FillRect(ps->hdc, &Cell->CellInt, hbrGray);
}
}
i++;
ch = (WCHAR)i;
}
SelectObject(ps->hdc,
hOldFont);
SelectObject(ps->hdc, hOldFont);
SelectObject(ps->hdc, hOldPen);
SelectObject(ps->hdc, hOldBrush);
DeleteObject(hPenGray);
}
@@ -146,19 +137,11 @@ static
BOOL
CreateLargeCell(PMAP infoPtr)
{
RECT rLarge;
RECT rLarge = infoPtr->pActiveCell->CellExt;
CopyRect(&rLarge,
&infoPtr->pActiveCell->CellExt);
MapWindowPoints(infoPtr->hMapWnd, infoPtr->hParent, (LPPOINT)&rLarge, 2);
MapWindowPoints(infoPtr->hMapWnd,
infoPtr->hParent,
(VOID*)&rLarge,
2);
InflateRect(&rLarge,
XLARGE - XCELLS,
YLARGE - YCELLS);
InflateRect(&rLarge, XLARGE - XCELLS, YLARGE - YCELLS);
infoPtr->hLrgWnd = CreateWindowExW(0,
szLrgCellWndClass,
@@ -183,19 +166,11 @@ static
VOID
MoveLargeCell(PMAP infoPtr)
{
RECT rLarge;
RECT rLarge = infoPtr->pActiveCell->CellExt;
CopyRect(&rLarge,
&infoPtr->pActiveCell->CellExt);
MapWindowPoints(infoPtr->hMapWnd, infoPtr->hParent, (LPPOINT)&rLarge, 2);
MapWindowPoints(infoPtr->hMapWnd,
infoPtr->hParent,
(VOID*)&rLarge,
2);
InflateRect(&rLarge,
XLARGE - XCELLS,
YLARGE - YCELLS);
InflateRect(&rLarge, XLARGE - XCELLS, YLARGE - YCELLS);
MoveWindow(infoPtr->hLrgWnd,
rLarge.left,
@@ -204,9 +179,7 @@ MoveLargeCell(PMAP infoPtr)
rLarge.bottom - rLarge.top,
TRUE);
InvalidateRect(infoPtr->hLrgWnd,
NULL,
TRUE);
InvalidateRect(infoPtr->hLrgWnd, NULL, TRUE);
}
@@ -216,7 +189,7 @@ GetPossibleCharacters(WCHAR* ch, INT chLen, INT codePageIdx)
{
INT i, j;
memset(ch, 0, sizeof(ch[0]) * chLen);
ZeroMemory(ch, sizeof(ch[0]) * chLen);
if (codePageIdx <= 0 || codePageIdx > SIZEOF(codePages))
{
@@ -276,11 +249,6 @@ SetFont(PMAP infoPtr,
NULL,
TRUE);
if (infoPtr->pActiveCell)
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell = &infoPtr->Cells[0][0];
infoPtr->pActiveCell->bActive = TRUE;
// Get all the valid glyphs in this font
SelectObject(hdc, infoPtr->hFont);
@@ -345,14 +313,88 @@ NotifyParentOfSelection(PMAP infoPtr,
}
static
VOID
LimitCaretXY(PMAP infoPtr, INT *pX, INT *pY)
{
INT i, X = *pX, Y = *pY, iYStart = infoPtr->iYStart;
i = XCELLS * (iYStart + Y) + X;
while (i >= infoPtr->NumValidGlyphs)
{
if (X > 0)
{
--X;
}
else
{
X = XCELLS - 1;
--Y;
}
i = XCELLS * (iYStart + Y) + X;
}
*pX = X;
*pY = Y;
}
static
VOID
SetCaretXY(PMAP infoPtr, INT X, INT Y, BOOL bLarge, BOOL bInvalidateAll)
{
/* set previous active cell to inactive */
if (!bInvalidateAll)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellInt,
FALSE);
}
LimitCaretXY(infoPtr, &X, &Y);
infoPtr->CaretX = X;
infoPtr->CaretY = Y;
UpdateCells(infoPtr);
/* set new cell to active */
infoPtr->pActiveCell = &infoPtr->Cells[Y][X];
if (!bInvalidateAll)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellInt,
FALSE);
}
/* Create if needed */
if (bLarge)
{
if (infoPtr->hLrgWnd)
MoveLargeCell(infoPtr);
else
CreateLargeCell(infoPtr);
}
else
{
/* Destroy large window */
if (infoPtr->hLrgWnd)
{
DestroyWindow(infoPtr->hLrgWnd);
infoPtr->hLrgWnd = NULL;
}
}
if (bInvalidateAll)
InvalidateRect(infoPtr->hMapWnd, NULL, FALSE);
UpdateStatusBar(infoPtr->pActiveCell->ch);
}
static
VOID
OnClick(PMAP infoPtr,
WORD ptx,
WORD pty)
{
INT x, y, i;
/*
* Find the cell the mouse pointer is over.
* Since each cell is the same size, this can be done quickly using CellSize.
@@ -360,47 +402,10 @@ OnClick(PMAP infoPtr,
* larger than infoPtr.CellSize * XCELLS , due to the map size being a non integer
* multiple of infoPtr.CellSize .
*/
x = min(XCELLS - 1, ptx / max(1, infoPtr->CellSize.cx));
y = min(YCELLS - 1, pty / max(1, infoPtr->CellSize.cy));
INT x = min(XCELLS - 1, ptx / max(1, infoPtr->CellSize.cx));
INT y = min(YCELLS - 1, pty / max(1, infoPtr->CellSize.cy));
/* Make sure the mouse is within a valid glyph */
i = XCELLS * infoPtr->iYStart + y * XCELLS + x;
if (i >= infoPtr->NumValidGlyphs)
{
if (infoPtr->pActiveCell)
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell = NULL;
return;
}
/* if the cell is not already active */
if (!infoPtr->Cells[y][x].bActive)
{
/* set previous active cell to inactive */
if (infoPtr->pActiveCell)
{
/* invalidate normal cells, required when
* moving a small active cell via keyboard */
if (!infoPtr->pActiveCell->bLarge)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellInt,
TRUE);
}
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell->bLarge = FALSE;
}
/* set new cell to active */
infoPtr->pActiveCell = &infoPtr->Cells[y][x];
infoPtr->pActiveCell->bActive = TRUE;
infoPtr->pActiveCell->bLarge = TRUE;
if (infoPtr->hLrgWnd)
MoveLargeCell(infoPtr);
else
CreateLargeCell(infoPtr);
}
SetCaretXY(infoPtr, x, y, TRUE, FALSE);
}
@@ -411,45 +416,30 @@ MapOnCreate(PMAP infoPtr,
HWND hParent)
{
RECT rc;
BOOL Ret = FALSE;
infoPtr = HeapAlloc(GetProcessHeap(),
0,
sizeof(MAP));
if (infoPtr)
{
SetLastError(0);
SetWindowLongPtrW(hwnd,
0,
(DWORD_PTR)infoPtr);
if (GetLastError() == 0)
{
ZeroMemory(infoPtr,
sizeof(MAP));
infoPtr = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(MAP));
if (!infoPtr)
return FALSE;
infoPtr->hMapWnd = hwnd;
infoPtr->hParent = hParent;
SetWindowLongPtrW(hwnd, 0, (LONG_PTR)infoPtr);
GetClientRect(hwnd, &rc);
infoPtr->ClientSize.cx = rc.right;
infoPtr->ClientSize.cy = rc.bottom;
infoPtr->CellSize.cx = infoPtr->ClientSize.cx / XCELLS;
infoPtr->CellSize.cy = infoPtr->ClientSize.cy / YCELLS;
infoPtr->hMapWnd = hwnd;
infoPtr->hParent = hParent;
infoPtr->pActiveCell = NULL;
GetClientRect(hwnd, &rc);
infoPtr->ClientSize.cx = rc.right;
infoPtr->ClientSize.cy = rc.bottom;
infoPtr->CellSize.cx = infoPtr->ClientSize.cx / XCELLS;
infoPtr->CellSize.cy = infoPtr->ClientSize.cy / YCELLS;
SetGrid(infoPtr);
infoPtr->pActiveCell = &infoPtr->Cells[0][0];
SetScrollPos(infoPtr->hParent, SB_VERT, 0, TRUE);
SetGrid(infoPtr);
Ret = TRUE;
}
}
return Ret;
SetScrollPos(infoPtr->hParent, SB_VERT, 0, TRUE);
return TRUE;
}
static
VOID
OnVScroll(PMAP infoPtr,
@@ -457,6 +447,7 @@ OnVScroll(PMAP infoPtr,
INT Pos)
{
INT iYDiff, iOldYStart = infoPtr->iYStart;
INT X, Y;
switch (Value)
{
@@ -480,13 +471,30 @@ OnVScroll(PMAP infoPtr,
infoPtr->iYStart = Pos;
break;
default:
case SB_TOP:
infoPtr->iYStart = 0;
SetCaretXY(infoPtr, 0, 0, FALSE, TRUE);
return;
case SB_BOTTOM:
infoPtr->iYStart = infoPtr->NumRows;
SetCaretXY(infoPtr, XCELLS - 1, YCELLS - 1, FALSE, TRUE);
break;
}
default:
break;
}
infoPtr->iYStart = max(0, infoPtr->iYStart);
infoPtr->iYStart = min(infoPtr->iYStart, infoPtr->NumRows);
UpdateCells(infoPtr);
X = infoPtr->CaretX;
Y = infoPtr->CaretY;
LimitCaretXY(infoPtr, &X, &Y);
SetCaretXY(infoPtr, X, Y, IsWindow(infoPtr->hLrgWnd), FALSE);
iYDiff = iOldYStart - infoPtr->iYStart;
if (iYDiff)
{
@@ -505,7 +513,7 @@ OnVScroll(PMAP infoPtr,
RECT rect;
/* Invalidate the rect around the active cell since a new cell will become active */
if (infoPtr->pActiveCell && infoPtr->pActiveCell->bActive)
if (infoPtr->pActiveCell)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellExt,
@@ -536,6 +544,8 @@ OnVScroll(PMAP infoPtr,
ShowWindow(infoPtr->hLrgWnd, SW_SHOW);
}
}
UpdateStatusBar(infoPtr->pActiveCell->ch);
}
@@ -547,38 +557,172 @@ OnPaint(PMAP infoPtr,
PAINTSTRUCT ps;
HDC hdc;
if (wParam != 0)
{
if (!GetUpdateRect(infoPtr->hMapWnd,
&ps.rcPaint,
TRUE))
{
if (!GetUpdateRect(infoPtr->hMapWnd, &ps.rcPaint, TRUE))
return;
}
ps.hdc = (HDC)wParam;
}
else
{
hdc = BeginPaint(infoPtr->hMapWnd,
&ps);
hdc = BeginPaint(infoPtr->hMapWnd, &ps);
if (hdc == NULL)
{
return;
}
}
DrawGrid(infoPtr, &ps);
FillGrid(infoPtr, &ps);
if (wParam == 0)
{
EndPaint(infoPtr->hMapWnd,
&ps);
EndPaint(infoPtr->hMapWnd, &ps);
}
}
static
VOID
MoveUpDown(PMAP infoPtr, INT DY)
{
INT Y = infoPtr->CaretY;
if (DY < 0) /* Move Up */
{
if (Y <= 0)
{
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0);
return;
}
Y -= 1;
}
else if (DY > 0) /* Move Down */
{
if (Y + 1 >= YCELLS)
{
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0);
return;
}
Y += 1;
}
SetCaretXY(infoPtr, infoPtr->CaretX, Y, IsWindow(infoPtr->hLrgWnd), FALSE);
}
static
VOID
MoveLeftRight(PMAP infoPtr, INT DX)
{
INT X = infoPtr->CaretX;
INT Y = infoPtr->CaretY;
if (DX < 0) /* Move Left */
{
if (X <= 0) /* at left edge */
{
if (Y <= 0) /* at top */
{
Y = 0;
if (infoPtr->iYStart > 0)
X = XCELLS - 1;
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0);
}
else
{
X = XCELLS - 1;
Y -= 1;
}
}
else /* Not at left edge */
{
X -= 1;
}
}
else if (DX > 0) /* Move Right */
{
if (X + 1 >= XCELLS) /* at right edge */
{
if (Y + 1 >= YCELLS) /* at bottom */
{
Y = YCELLS - 1;
if (infoPtr->iYStart < infoPtr->NumRows)
X = 0;
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0);
}
else
{
X = 0;
Y += 1;
}
}
else
{
X += 1;
}
}
SetCaretXY(infoPtr, X, Y, IsWindow(infoPtr->hLrgWnd), FALSE);
}
static
VOID
OnKeyDown(PMAP infoPtr, WPARAM wParam, LPARAM lParam)
{
BOOL bCtrlDown = (GetKeyState(VK_CONTROL) < 0);
switch (wParam)
{
case VK_UP:
if (bCtrlDown)
SetCaretXY(infoPtr, infoPtr->CaretX, 0, FALSE, FALSE);
else
MoveUpDown(infoPtr, -1);
break;
case VK_DOWN:
if (bCtrlDown)
SetCaretXY(infoPtr, infoPtr->CaretX, YCELLS - 1, FALSE, FALSE);
else
MoveUpDown(infoPtr, +1);
break;
case VK_LEFT:
if (bCtrlDown)
SetCaretXY(infoPtr, 0, infoPtr->CaretY, FALSE, FALSE);
else
MoveLeftRight(infoPtr, -1);
break;
case VK_RIGHT:
if (bCtrlDown)
SetCaretXY(infoPtr, XCELLS - 1, infoPtr->CaretY, FALSE, FALSE);
else
MoveLeftRight(infoPtr, +1);
break;
case VK_PRIOR: /* Page Up */
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_PAGEUP, 0), 0);
break;
case VK_NEXT: /* Page Down */
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_PAGEDOWN, 0), 0);
break;
case VK_HOME:
if (bCtrlDown)
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_TOP, 0), 0);
else
SetCaretXY(infoPtr, 0, infoPtr->CaretY, FALSE, FALSE);
break;
case VK_END:
if (bCtrlDown)
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_BOTTOM, 0), 0);
else
SetCaretXY(infoPtr, XCELLS - 1, infoPtr->CaretY, FALSE, FALSE);
break;
}
}
LRESULT
CALLBACK
@@ -587,13 +731,10 @@ MapWndProc(HWND hwnd,
WPARAM wParam,
LPARAM lParam)
{
PMAP infoPtr;
PMAP infoPtr = (PMAP)GetWindowLongPtrW(hwnd, 0);
LRESULT Ret = 0;
WCHAR lfFaceName[LF_FACESIZE];
infoPtr = (PMAP)GetWindowLongPtrW(hwnd,
0);
switch (uMsg)
{
case WM_CREATE:
@@ -608,12 +749,16 @@ MapWndProc(HWND hwnd,
break;
}
case WM_KEYDOWN:
{
OnKeyDown(infoPtr, wParam, lParam);
break;
}
case WM_LBUTTONDOWN:
{
OnClick(infoPtr,
LOWORD(lParam),
HIWORD(lParam));
SetFocus(hwnd);
OnClick(infoPtr, LOWORD(lParam), HIWORD(lParam));
break;
}
@@ -621,43 +766,36 @@ MapWndProc(HWND hwnd,
{
if (wParam & MK_LBUTTON)
{
OnClick(infoPtr,
LOWORD(lParam),
HIWORD(lParam));
OnClick(infoPtr, LOWORD(lParam), HIWORD(lParam));
}
break;
}
case WM_LBUTTONDBLCLK:
{
if (!infoPtr->pActiveCell)
if (!infoPtr->pActiveCell || GetFocus() != hwnd)
break;
NotifyParentOfSelection(infoPtr,
FM_SETCHAR,
infoPtr->pActiveCell->ch);
if (infoPtr->pActiveCell->bLarge)
if (infoPtr->hLrgWnd)
{
DestroyWindow(infoPtr->hLrgWnd);
infoPtr->hLrgWnd = NULL;
}
infoPtr->pActiveCell->bLarge = FALSE;
break;
}
case WM_VSCROLL:
{
OnVScroll(infoPtr,
LOWORD(wParam),
HIWORD(wParam));
OnVScroll(infoPtr, LOWORD(wParam), HIWORD(wParam));
break;
}
case FM_SETCHARMAP:
infoPtr->CaretX = infoPtr->CaretY = infoPtr->iYStart = 0;
infoPtr->CharMap = LOWORD(wParam);
wcsncpy(lfFaceName,
infoPtr->CurrentFont.lfFaceName,
@@ -666,6 +804,7 @@ MapWndProc(HWND hwnd,
break;
case FM_SETFONT:
infoPtr->CaretX = infoPtr->CaretY = infoPtr->iYStart = 0;
SetFont(infoPtr, (LPWSTR)lParam);
break;
@@ -679,32 +818,27 @@ MapWndProc(HWND hwnd,
return (LRESULT)infoPtr->hFont;
case WM_PAINT:
{
OnPaint(infoPtr,
wParam);
OnPaint(infoPtr, wParam);
break;
}
case WM_DESTROY:
{
DeleteObject(infoPtr->hFont);
HeapFree(GetProcessHeap(),
0,
infoPtr);
SetWindowLongPtrW(hwnd,
0,
(DWORD_PTR)NULL);
HeapFree(GetProcessHeap(), 0, infoPtr);
SetWindowLongPtrW(hwnd, 0, (LONG_PTR)NULL);
break;
case WM_GETDLGCODE:
return DLGC_WANTARROWS;
case WM_SETFOCUS:
case WM_KILLFOCUS:
if (!infoPtr->hLrgWnd)
InvalidateRect(hwnd, &(infoPtr->pActiveCell->CellInt), FALSE);
break;
}
default:
{
Ret = DefWindowProcW(hwnd,
uMsg,
wParam,
lParam);
Ret = DefWindowProcW(hwnd, uMsg, wParam, lParam);
break;
}
}
return Ret;
@@ -740,9 +874,6 @@ RegisterMapClasses(HINSTANCE hInstance)
VOID
UnregisterMapClasses(HINSTANCE hInstance)
{
UnregisterClassW(szMapWndClass,
hInstance);
UnregisterClassW(szLrgCellWndClass,
hInstance);
UnregisterClassW(szMapWndClass, hInstance);
UnregisterClassW(szLrgCellWndClass, hInstance);
}

View File

@@ -37,8 +37,6 @@ typedef struct _CELL
{
RECT CellExt;
RECT CellInt;
BOOL bActive;
BOOL bLarge;
WCHAR ch;
} CELL, *PCELL;
@@ -53,13 +51,13 @@ typedef struct _MAP
PCELL pActiveCell;
HFONT hFont;
LOGFONTW CurrentFont;
INT CaretX, CaretY;
INT iYStart;
INT NumRows;
INT CharMap;
USHORT ValidGlyphs[MAX_GLYPHS];
USHORT NumValidGlyphs;
} MAP, *PMAP;
typedef struct {

View File

@@ -36,7 +36,7 @@ STRINGTABLE
BEGIN
STRING_CLIPBOARD "剪贴板查看程序"
STRING_CLIPFILE "剪贴板元素"
STRING_DELETE_MSG "清空剪贴板的内容吗?"
STRING_DELETE_MSG "清空剪贴板的内容吗"
STRING_DELETE_TITLE "清空剪贴板"
STRING_FORMAT_NT "ReactOS 的剪贴板文件 (*.clp)"
STRING_FORMAT_GEN "剪贴板文件 (*.clp)"
@@ -54,7 +54,7 @@ BEGIN
STRING_CF_ENHMETAFILE "增强型元文件"
STRING_CF_METAFILEPICT "元文件"
STRING_CF_PALETTE "调色板"
STRING_CF_DIBV5 "DIB 位图 (第 5 版)"
STRING_CF_DIBV5 "DIB 位图第 5 版"
STRING_CF_SYLK "符号链接格式"
STRING_CF_DIF "数据交换格式"
STRING_CF_HDROP "删除数据"

View File

@@ -20,7 +20,7 @@ BEGIN
MENUITEM "開啟(&O)...", CMD_OPEN
MENUITEM "另存新檔(&A)...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "退出(&X)", CMD_EXIT
MENUITEM "結束(&X)", CMD_EXIT
END
POPUP "編輯(&E)"
BEGIN
@@ -60,7 +60,7 @@ BEGIN
STRING_CF_ENHMETAFILE "增強型圖元檔案"
STRING_CF_METAFILEPICT "圖元檔案"
STRING_CF_PALETTE "調色盤"
STRING_CF_DIBV5 "DIB 點陣圖 (第 5 版)"
STRING_CF_DIBV5 "DIB 點陣圖第 5 版"
STRING_CF_SYLK "符號連結格式"
STRING_CF_DIF "資料交換格式"
STRING_CF_HDROP "刪除資料"

View File

@@ -44,7 +44,7 @@ saat Komutun çalıştırılma saatini belirtir.\n\
IDS_YES "Evet"
IDS_NO "Hayır"
IDS_ERROR "YANLIŞLIK"
IDS_ERROR "HATA"
IDS_OK "Tamam"
IDS_TASKID "Görev kimliği: %lu\n"

View File

@@ -1,3 +1,11 @@
/*
* PROJECT: ReactOS AT utility
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2018 Li Keqing <forucial@icloud.com>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
@@ -9,24 +17,24 @@ AT [\\\\computername] time [/INTERACTIVE]\n\
[ /EVERY:date[,...] | /NEXT:date[,...]] ""command""\n\n\
\\\\computername 指定一个远程计算机。如果省略这个参数命令将运行在本地\n\
计算机上。\n\
id 分配给被安排命令的标号码。\n\
/DELETE 取消一个被安排的命令。如果省略 id计算机上所有被安排的\n\
命令都将被取消。\n\
/YES 取消任务时使用将不询求确认。\n\
id 分配给被安排命令的标号码。\n\
/DELETE 取消一个被安排的命令。如果省略 id计算机上安排的所有\n\
任务都将被取消。\n\
/YES 取消任务时使用将不询求确认。\n\
time 指定命令运行的时间。\n\
/INTERACTIVE 允许任务在运行时与登录的用户的桌面交互。\n\
/EVERY:date[,...] 在每周或每月的特定日子运行指定命令。如果省略 date则认定是\n\
每个月的今天。\n\
/NEXT:date[,...] 在下一个日期到来时候运行指定命令。如果省略 date则认定\n\
个月的今天。\n\
/NEXT:date[,...] 在下一个指定日期到来时候运行指定命令。如果省略 date则认定\n\
是下个月的今天。\n\
""command"" 将被运行的命令或者批程序。\n"
IDS_DELETE_ALL "这个操作删除所有安排好的任务。\n"
IDS_NEW_JOB "添加任务 ID %lu 添加新任务\n"
IDS_DELETE_ALL "这个操作删除所有安排好的任务。\n"
IDS_NEW_JOB "添加任务 ID %lu 新任务\n"
IDS_JOBS_LIST "状态 ID 日 时间 命令行\n"
IDS_NO_ENTRIES "列表中没有项目。\n"
IDS_CONFIRM_QUESTION "您想继续操作吗?(Y/N) [N]: "
IDS_CONFIRM_QUESTION "您想继续操作吗?(Y/N) [N]"
IDS_CONFIRM_INVALID "\n这是一个无效的回应。\n"
IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N"
@@ -41,10 +49,10 @@ time 指定命令运行的时间。\n\
IDS_ERROR "错误"
IDS_OK "确定"
IDS_TASKID "任务 ID: %lu\n"
IDS_STATUS "状态: %s\n"
IDS_SCHEDULE "安排: %s\n"
IDS_TIME "今日时间: %s\n"
IDS_INTERACTIVE "交互: %s\n"
IDS_COMMAND "命令: %s\n"
IDS_TASKID "任务 ID %lu\n"
IDS_STATUS "状态 %s\n"
IDS_SCHEDULE "安排 %s\n"
IDS_TIME "今日时间 %s\n"
IDS_INTERACTIVE "交互 %s\n"
IDS_COMMAND "命令 %s\n"
END

View File

@@ -2,7 +2,7 @@
* Translated by Caemyr - Olaf Siejka (Jan, 2008)
* Updated by niski - Maciej Bialas (Mar, 2010)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl;
* UTF-8 conversion by Caemyr (May, 2011)
* Updated by pithwz - Piotr Hetnarowicz (piotrhwz@gmail.com) (April, 2020)

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_FILE_NOT_FOUND "找不到文件 - %s\n"
STRING_ATTRIB_HELP "显示或更改文件属性。\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 文件 ...\n\
[/S [/D]]\n\n\

View File

@@ -3,7 +3,7 @@
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2019 Luo Yufan <njlyf2011@hotmail.com>
* Copyright 2019 Luke Luo <njlyf2011@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/

View File

@@ -2,7 +2,7 @@
* Translated by Caemyr - Olaf Siejka (Jan, 2008)
* Updated by niski - Maciej Bialas (Mar, 2010)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl;
* UTF-8 conversion by Caemyr (May, 2011)
*/

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
BEGIN
IDS_USAGE "\n输入 ""CLIP /?"" 了解用法信息。\n"
IDS_USAGE "\n输入 CLIP /? 了解用法信息。\n"
IDS_HELP "\n将命令行程序的输出重定向到剪贴板。\n\n\
CLIP [/?]\n\n\
/? 显示此帮助消息。\n"

View File

@@ -1,3 +1,11 @@
/*
* PROJECT: ReactOS Comp utility
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2018 Li Keqing <forucial@icloud.com>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
@@ -6,18 +14,18 @@ BEGIN
COMP [/L] [/A] [data1] [data2]\n\n\
data1 指定要比较的第一个文件的位置和名称。\n\
data2 指定要比较的第二个文件的位置和名称。\n\
/A 以 ASCII 字符形式显示区别 (默认: 十六进制)。\n\
/L 显示行数区别。\n"
/A 以 ASCII 字符形式显示区别(默认:十六进制。\n\
/L 显示不同点所在的行号。\n"
IDS_INVALIDSWITCH "无效的选项 - /%c\n"
IDS_BADSYNTAX "命令行语法错误\n"
IDS_FILEERROR "无法找到/打开文件: %s\n"
IDS_FILEERROR "无法找到打开文件%s\n"
IDS_COMPARING "正在比较 %s 和 %s...\n"
IDS_FILESIZEERROR "无法判断该文件大小: %s\n"
IDS_FILESIZEERROR "无法判断该文件大小%s\n"
IDS_SIZEDIFFERS "文件大小不一致。\n"
IDS_READERROR "文件读取错误。\n"
IDS_MISMATCHLINE "在 %d 处比较出\n"
IDS_MISMATCHOFFSET "在偏移 0x%X 处比较出\n"
IDS_MISMATCHLINE "在 %d 处比较出不一致\n"
IDS_MISMATCHOFFSET "在偏移 0x%X 处比较出不一致\n"
IDS_ASCIIDIFF "文件%d = %c\n"
IDS_HEXADECIMALDIFF "文件%d = %X\n"
IDS_MATCH "文件比较无误\n"
IDS_MATCH "文件相同\n"
END

View File

@@ -1,7 +1,7 @@
/*
* Translated by Saibamen - Adam Stachowicz (Apr, 2011)
* Use ReactOS forum PM, IRC or saibamenppl at gmail.com to contact me
* http://www.reactos.org
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl
* UTF-8 conversion by Caemyr (May, 2011)
*/

View File

@@ -1,6 +1,6 @@
/*
* FILE: base/applications/cmdutils/doskey/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* ReactOS Project (https://reactos.org)
* TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* CHANGE LOG: 2011-08-20 initial translation
* 2011-10-17 diacritics change, other minor changes

View File

@@ -1,4 +1,11 @@
/* Translated by Li Keqing <auroracloud4096@gmail.com> */
/*
* PROJECT: ReactOS EventCreate Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2017 Li Keqing <auroracloud4096@gmail.com>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
@@ -9,7 +16,7 @@ EVENTCREATE [/S computer [/U [domain\\]user [/P password]]] /ID EventID\n\
{[/L logname] | [/SO source]} /T type /C category /D description\n\
\n\
描述:\n\
该工具管理员能够创建一个自定义事件于某制定事件日志里。\n\
该工具使管理员能够在一个指定的事件日志里创建一个自定义事件。\n\
\n\
参数列表:\n\
/S computer 指定要连接的远程计算机。\n\
@@ -18,12 +25,12 @@ EVENTCREATE [/S computer [/U [domain\\]user [/P password]]] /ID EventID\n\
\n\
/P [password] 指定给定用户的密码。如果省略则提示输入。\n\
\n\
/L logname 指定要在中创建事件事件日志。有效的日志是:\n\
/L logname 指定要在哪种事件日志中创建事件。有效的日志是:\n\
ApplicationSystemSecurity\n\
(最后一项仅为 SYSTEM 账户保留)。\n\
\n\
/SO source 指定为此事件要使用的来源(如果没有指定,\n\
默认来源则为eventcreate)有效来源可以是\n\
默认来源则为eventcreate)有效来源可以是\n\
任意字符串并应该代表应用程序或者生成事件的组件。\n\
\n\
/T type 指定要创建的事件类型。有效的类型是:\n\
@@ -37,24 +44,24 @@ EVENTCREATE [/S computer [/U [domain\\]user [/P password]]] /ID EventID\n\
\n\
/? 显示此帮助消息。\n\
"
IDS_INVALIDSWITCH "无效选项 - '%s'.\n"
IDS_INVALIDSWITCH "无效选项 - %s”。\n"
IDS_BADSYNTAX_0 "错误的命令行语法。\n"
IDS_BADSYNTAX_1 "错误的命令行语法。选项 '%s' 需要一个值。\n"
IDS_BADSYNTAX_2 "错误的命令行语法。选项 '%s' 的值不能为空。\n"
IDS_BADSYNTAX_3 "错误的命令行语法。值 '%s' 不被选项 '%s' 所接受。\n"
IDS_BADSYNTAX_4 "错误的命令行语法。值不能被选项 '%s' 所指定。\n"
IDS_BADSYNTAX_5 "错误的命令行语法。选项 '%s' 不允许使用超过 %lu 次。\n"
IDS_BADSYNTAX_6 "错误的命令行语法。托管选项 '%s' 暂不可用。\n"
// IDS_BADSYNTAX_7 "错误的命令行语法。选项 '%s' 的值超过可允许的范围。\n"
IDS_BADSYNTAX_7 "错误的命令行语法。选项 '%s' 的值必须介于 %d - %d 以内。\n"
IDS_BADSYNTAX_1 "错误的命令行语法。选项“%s”需要一个值。\n"
IDS_BADSYNTAX_2 "错误的命令行语法。选项“%s”的值不能为空。\n"
IDS_BADSYNTAX_3 "错误的命令行语法。值“%s”不被选项“%s”所接受。\n"
IDS_BADSYNTAX_4 "错误的命令行语法。值不能被选项“%s”所指定。\n"
IDS_BADSYNTAX_5 "错误的命令行语法。选项“%s”不能使用超过 %lu 次。\n"
IDS_BADSYNTAX_6 "错误的命令行语法。托管选项“%s”暂不可用。\n"
// IDS_BADSYNTAX_7 "错误的命令行语法。选项“%s”的值超过可允许的范围。\n"
IDS_BADSYNTAX_7 "错误的命令行语法。选项“%s”的值必须介于 %d - %d 以内。\n"
IDS_LOG_NOT_FOUND "日志 '%s' 不存在。无法创建事件。\n"
IDS_LOG_NOT_FOUND "日志“%s”不存在。无法创建事件。\n"
IDS_SOURCE_NOCREATE "无法创建新的来源因为没有指定日志。请使用 /L 选项来指定日志。\n"
IDS_SOURCE_EXISTS "来源已经存在于日志 '%s' 中,不能重复操作。\n"
IDS_SOURCE_EXISTS "来源已经存在于日志“%s”中,不能重复操作。\n"
IDS_SOURCE_NOT_CUSTOM "来源参数被用于识别定制脚本/程序(未被安装的程序)。\n"
IDS_SUCCESS_1 "操作成功:一个 '%s' 类型的事件已经被创建在日志 '%s' 中。\n"
IDS_SUCCESS_2 "操作成功:一个 '%s' 类型的事件已经被创建在来源 '%s' 中。\n"
IDS_SUCCESS_3 "操作成功:一个 '%s' 类型的事件已经被创建在日志 '%s' 和来源 '%s' 中。\n"
IDS_SWITCH_UNIMPLEMENTED "选项 '%s' 目前不被支持,很抱歉造成您的不便!\n"
IDS_SUCCESS_1 "操作成功:一个“%s”类型的事件已经被创建在日志“%s”中。\n"
IDS_SUCCESS_2 "操作成功:一个“%s”类型的事件已经被创建在来源“%s”中。\n"
IDS_SUCCESS_3 "操作成功:一个“%s”类型的事件已经被创建在日志“%s”和来源“%s”中。\n"
IDS_SWITCH_UNIMPLEMENTED "选项“%s”目前不被支持,很抱歉造成您的不便!\n"
END

View File

@@ -4,7 +4,6 @@
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Simplified) resource translation
* Copyright 2017 Li Keqing <auroracloud4096@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -2,40 +2,40 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
IDS_USAGE "Vergleicht zwei Dateien oder Gruppen von Dateien und zeigt die\n\
Unterschiede zwischen ihnen an.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
[Laufwerk1:][Pfad1]Dateiname1 [Laufwerk2:][Pfad2]Dateiname2\n\
FC /B [Laufwerk1:][Pfad1]Dateiname1 [Laufwerk2:][Pfad2]Dateiname2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
/A Zeigt nur die erste und letzte Zeile für jeden Satz von Unterschieden an.\n\
/B Führt einen binären Vergleich durch.\n\
/C Groß- und Kleinschreibung wird nicht berücksichtigt.\n\
/L Vergleicht Dateien als ASCII-Text.\n\
/LBn Setzt die maximale Anzahl aufeinanderfolgender Abweichungen auf die\n\
angegebene Anzahl von Zeilen (Standard: 100).\n\
/N Zeigt die Zeilennummern im ASCII-Vergleich an.\n\
/OFF[LINE] Überspringt keine Dateien mit gesetztem Offline-Attribut.\n\
/T Erweitert Tabulatoren nicht zu Leerzeichen (Standard: erweitern).\n\
/U Dateien als UNICODE-Textdateien vergleichen.\n\
/W Komprimiert Tabulatoren und Leerzeichen beim Vergleich.\n\
/nnnn Gibt die Anzahl der aufeinanderfolgenden Zeilen an, die nach einem\n\
Unterschied übereinstimmen müssen (Standard: 2).\n\
[Laufwerk1:][Pfad1]Dateiname1\n\
Gibt die erste zu vergleichende Datei oder Gruppe von Dateien an.\n\
[Laufwerk2:][Pfad2]Dateiname2\n\
Gibt die zweite zu vergleichende Datei oder Gruppe von Dateien an.\n"
IDS_NO_DIFFERENCE "FC: keine Unterschiede festgestellt.\n"
IDS_LONGER_THAN "FC: %ls ist länger als %ls.\n"
IDS_COMPARING "Vergleiche Dateien %ls und %ls.\n"
IDS_OUT_OF_MEMORY "FC: Nicht genügend Speicherplatz.\n"
IDS_CANNOT_READ "FC: Lesen von %ls nicht möglich.\n"
IDS_INVALID_SWITCH "FC: Unzulässige Option.\n"
IDS_CANNOT_OPEN "FC: Öffnen von %ls nicht möglich - Datei oder Ordner nicht vorhanden.\n"
IDS_NEEDS_FILES "FC: Unzureichende Anzahl von Dateiangaben.\n"
IDS_CANT_USE_WILDCARD "Wildcards ('*' und '?') werden noch nicht unterstützt.\n"
IDS_DIFFERENT "FC: Die Dateien %ls und %ls sind unterschiedlich.\n"
IDS_TOO_LARGE "FC: Die Datei %ls ist zu groß.\n"
IDS_RESYNC_FAILED "Resync fehlgeschlagen. Die Dateien sind zu unterschiedlich.\n"
END

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Porównuje dwa pliki lub zestawy plików i wyświetla różnice między\n\
nimi\n\
nimi.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[dysk1:][ścieżka1]plik1 [dysk2:][ścieżka2]plik2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Сравнение двух файлов или двух наборов файлов\n\
и вывод различий между ними\n\
и вывод различий между ними.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -2,40 +2,40 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
IDS_USAGE "İki dosyayı veya dosya grubunu karşılaştırır ve aralarındaki farkları\n\
görüntüler.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
[surucu1:][yol1]dosyaadi1 [surucu2:][yol2]dosyaadi2\n\
FC /B [surucu1:][yol1]dosyaadi1 [surucu2:][yol2]dosyaadi2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
/A Her fark kümesi için yalnızca ilk ve son satırları görüntüler.\n\
/B İkili karşılaştırma gerçekleştirir.\n\
/C Harflerin durumunu dikkate almaz.\n\
/L Dosyaları ASCII metni olarak karşılaştırır.\n\
/LBn Maksimum ardışık uyumsuzlukları belirtilen satır\n\
sayısına ayarlar (varsayılan: 100).\n\
/N Bir ASCII karşılaştırmasında satır numaralarını görüntüler.\n\
/OFF[LINE] Çevrimdışı özellik ayarlı dosyaları atlamaz.\n\
/T Sekmeleri boşluklara genişletmez (varsayılan: genişlet).\n\
/U Dosyaları UNICODE metin dosyaları olarak karşılaştırın.\n\
/W Karşılaştırma için boşlukları (sekmeler ve boşluklar) sıkıştırır.\n\
/nnnn Uyuşmazlıktan sonra eşleşmesi gereken ardışık satır sayısını\n\
belirtir (varsayılan: 2).\n\
[surucu1:][yol1]dosyaadi1\n\
Karşılaştırılacak ilk dosyayı veya dosya grubunu belirtir.\n\
[surucu2:][yol2]dosyaadi2\n\
Karşılaştırılacak ikinci dosyayı veya dosya grubunu belirtir.\n"
IDS_NO_DIFFERENCE "FC: farkla karşılaşılmadı\n"
IDS_LONGER_THAN "FC: %ls, %ls'den daha uzun\n"
IDS_COMPARING "%ls ve %ls dosyaları karşılaştırılıyor\n"
IDS_OUT_OF_MEMORY "FC: Bellek yetersiz\n"
IDS_CANNOT_READ "FC: %ls'den okunamıyor\n"
IDS_INVALID_SWITCH "FC: Geçersiz Anahtar\n"
IDS_CANNOT_OPEN "FC: %ls açılamıyor - Böyle bir dosya veya klasör yok\n"
IDS_NEEDS_FILES "FC: Yetersiz sayıda dosya belirtimi\n"
IDS_CANT_USE_WILDCARD "Joker karakter ('*' ve '?') henüz desteklenmiyor\n"
IDS_DIFFERENT "FC: Dosya %ls ve %ls farklı\n"
IDS_TOO_LARGE "FC: Dosya %ls çok büyük\n"
IDS_RESYNC_FAILED "Yeniden eşitleme başarısız oldu. Dosyalar çok farklı.\n"
END

View File

@@ -3,7 +3,7 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\

View File

@@ -1,41 +1,45 @@
/*
* PROJECT: ReactOS FC Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
IDS_USAGE "对比两个或两组文件的内容,并显示它们之间的不同。\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
/A 只显示每组差异的第一行和最后一行。\n\
/B 执行二进制比较。\n\
/C 忽略字母大小写的不同。\n\
/L 将文件作为 ASCII 文本比较。\n\
/LBn 将最大接受的连续差异行数设为指定值(默认为 100 行。)\n\
/N 在 ASCII 文本比较时显示行号。\n\
/OFF[LINE] 不跳过具有离线属性的文件。\n\
/T 不要将制表符扩展为空格(默认行为为扩展)。\n\
/U 将文件作为 Unicode 文本文件比较。\n\
/W 在比较时将空白字符(制表符和空格)压缩。\n\
/nnnn 指定在每个差异之后必须有连续的多少行匹配(默认为 2 行。)\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
指定要比较的第一个或第一组文件。\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
指定要比较的第二个或第二组文件。\n"
IDS_NO_DIFFERENCE "FC:没有发现差异。\n"
IDS_LONGER_THAN "FC%ls %ls 长。\n"
IDS_COMPARING "正在比较 %ls %ls\n"
IDS_OUT_OF_MEMORY "FC:内存不足\n"
IDS_CANNOT_READ "FC:无法从 %ls 读取数据\n"
IDS_INVALID_SWITCH "FC:不正确的选项\n"
IDS_CANNOT_OPEN "FC:无法打开 %ls - 找不到此文件或文件夹\n"
IDS_NEEDS_FILES "FC:指定的文件数量不够。\n"
IDS_CANT_USE_WILDCARD "暂不支持通配符(“*”和“?”)\n"
IDS_DIFFERENT "FC:文件 %ls %ls 不同\n"
IDS_TOO_LARGE "FC:文件 %ls 过大\n"
IDS_RESYNC_FAILED "文件差异过大,无法继续比较。\n"
END

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_USAGE "比較兩個或兩組檔案,並顯示兩者的不同之處。\n\
IDS_USAGE "比較兩個或兩組檔案,並顯示兩者的不同之處。\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[磁碟機1:][路徑1]檔案名稱1 [磁碟機2:][路徑2]檔案名稱2\n\

View File

@@ -1,7 +1,7 @@
/*
* Translated by Caemyr - Olaf Siejka (Dec,2007)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl
* UTF-8 conversion by Caemyr (May, 2011)
*/

View File

@@ -1,6 +1,6 @@
/*
* FILE: base/applications/cmdutils/find/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* ReactOS Project (https://reactos.org)
* TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* CHANGE LOG: 2011-08-20 initial translation
* 2011-10-17 diacritics change, other minor changes

View File

@@ -1,4 +1,10 @@
/* Translated by Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> */
/*
* PROJECT: ReactOS Find Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2011 Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
@@ -10,8 +16,8 @@ FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] ""字符串"" [文件...]\n\
/C 计算包含该字符串的行数。\n\
/N 从 1 开始为显示的行编号。\n\
/I 忽略大小写。\n\
/OFF[LINE] Do not skip files that have the offline attribute set."
IDS_NO_SUCH_FILE "FIND: %s: 没有这个文件\n"
IDS_CANNOT_OPEN "FIND: %s: 无法打开文件\n"
IDS_INVALID_SWITCH "FIND: Invalid switch\n"
/OFF[LINE] 不跳过设置了离线属性的文件。"
IDS_NO_SUCH_FILE "FIND%s没有这个文件\n"
IDS_CANNOT_OPEN "FIND%s无法打开文件\n"
IDS_INVALID_SWITCH "FIND:不正确的选项\n"
END

View File

@@ -2,7 +2,7 @@
* Translated by Caemyr - Olaf Siejka (Jan, 2008)
* Updated by niski - Maciej Bialas (Mar, 2010)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl;
* UTF-8 conversion by Caemyr (May, 2011)
* Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (November, 2013)

View File

@@ -1,6 +1,6 @@
/*
* FILE: base/applications/cmdutils/help/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* ReactOS Project (https://reactos.org)
* AUTHOR: Magnus Olsen, 2005
* TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot com)
*/

View File

@@ -28,7 +28,7 @@ CHCP Вывод либо установка активной кодовой
CHOICE Ждет, пока пользователь не выберет один из указанных\n\
в списке символов.\n\
CLS Очистка экрана.\n\
CMD Запуск еще одного интерпретатора командных строк ReactOS.\n\
CMD Запуск ещё одного интерпретатора командных строк ReactOS.\n\
COLOR Установка цветов переднего плана и фона, используемых по умолчанию.\n\
COPY Копирование одного или нескольких файлов в другое место.\n\
DATE Вывод либо установка текущей даты.\n\

View File

@@ -1,10 +1,16 @@
/* Simplified Chinese translation by Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> 2011 */
/*
* PROJECT: ReactOS help utility
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2011 Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
BEGIN
IDS_NO_ENTRY "帮助实用程序不支持此命令。\n试试 ""%s /?""。\n"
IDS_NO_ENTRY "帮助实用程序不支持此命令。\n试试 %s /?。\n"
END
STRINGTABLE
@@ -12,10 +18,10 @@ BEGIN
IDS_USAGE "提供 ReactOS 命令的帮助信息。\n\n\
HELP [command]\n\n\
command - 显示此命令的帮助信息。\n"
IDS_HELP1 "列出所有可用命令 (+ 它们的描述)\n\n\
IDS_HELP1 "列出所有可用命令+ 它们的描述\n\n\
help 命令\n\
命令 /? 得到特定命令的更多信息\n\n\
? 列出所有可用命令 (没有描述)。\n\
? 列出所有可用命令没有描述。\n\
ALIAS 设置、删除或显示别名。\n\
ATTRIB 显示或改变文件属性。\n\
BEEP 使扬声器发声。\n\
@@ -32,9 +38,9 @@ DELETE 删除一个或多个文件。\n\
DIR 显示一个目录中的文件列表和子目录。\n\
ECHO 显示消息,或打开/关闭命令回显。\n\
ERASE 删除一个或多个文件。\n\
EXIT 退出 CMD.EXE 程序 (命令解释器)。\n\
EXIT 退出 CMD.EXE 程序命令解释器。\n\
FOR 为一组文件中的每一个文件执行指定命令。\n\
FREE (空闲的) 磁盘空间。\n\
FREE 显示(空闲的磁盘空间。\n\
GOTO 在批处理程序中指示 ReactOS 命令解释器跳转到被标记的行继续执行。\n\
HELP 为 ReactOS 命令提供帮助信息。\n\
HISTORY 列出所有曾被使用的命令。\n\
@@ -46,11 +52,11 @@ MKLINK 创建一个文件系统链接对象。\n\
MOVE 将一个或多个文件从一个文件夹移动到另一个文件夹。\n\
PATH 显示或设置可执行文件的搜索路径。\n\
PAUSE 挂起批处理文件的执行并显示一条消息。\n\
POPD 恢复由 PUSHD 存储的前一个当前目录的。\n\
POPD 恢复由 PUSHD 存储的前一个当前工作目录的路径。\n\
PROMPT 更改命令提示符。\n\
PUSHD 保存当前目录然后更改。\n\
PUSHD 保存当前工作目录然后更改。\n\
RD 删除一个目录。\n\
REM 在批处理文件中记录注释 (评论)。\n\
REM 在批处理文件中记录注释(批注)。\n\
REN 重命名一个或多个文件。\n\
RENAME 重命名一个或多个文件。\n\
REPLACE 替换文件。\n\
@@ -58,7 +64,7 @@ RMDIR 删除一个目录。\n\
SCREEN 移动光标并可选地输出文本。\n\
SET 显示、设置或删除 ReactOS 环境变量。\n\
SHIFT 在批处理文件中移动可替换参数的位置。\n"
IDS_HELP2 "START 启动一个分隔的窗口来运行指定的程序或命令。\n\
IDS_HELP2 "START 启动一个窗口来运行指定的程序或命令。\n\
执行命令。\n\
TIME 显示或设置系统时间。\n\
TIMER 允许使用至多十个停表。\n\

View File

@@ -11,7 +11,7 @@ LABEL [Laufwerk:][Bezeichnung]\n\n\
STRING_LABEL_TEXT1 "Volume in Laufwerk %c: ist %s\n"
STRING_LABEL_TEXT2 "Volume in Laufwerk %c: hat keine Bezeichnung\n"
STRING_LABEL_TEXT3 "Volumenummer: %04X-%04X\n"
STRING_LABEL_TEXT4 "Volumebezeichnung (32 Zeichen, EINGABETASTE für keine)? "
STRING_LABEL_TEXT4 "Volumebezeichnung (32 Zeichen, ENTER für keine)? "
STRING_LABEL_PROMPT "Aktuelle Volumebezeichnung löschen (J/N)? "
STRING_LABEL_OPTIONS "JN"
STRING_ERROR_INVALID_DRIVE "Ungültige Laufwerksangaben\n"

View File

@@ -4,17 +4,16 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
// STRING_LABEL_HELP "Affiche ou change le nom de volume du disque.\n\nLABEL [disque:][nomdevolume]\n"
STRING_LABEL_HELP "Creates, changes or deletes the volume label of a disk.\n\n\
LABEL [drive:][label]\n\n\
drive: Specifies the drive letter of a drive.\n\
label Specifies the label of the drive."
STRING_LABEL_HELP "Crée, modifie ou supprime le nom de volume d'un disque.\n\n\
LABEL [disque:][nom_volume]\n\n\
disque: Spécifie la lettre du disque.\n\
nom_volume Spécifie le nom du volume."
STRING_LABEL_TEXT1 "Le nom de volume du disque %c: est %s\n"
STRING_LABEL_TEXT2 "Le disque %c: n'a pas de nom de volume\n"
STRING_LABEL_TEXT3 "Le numéro de serie du volume est %04X-%04X\n"
STRING_LABEL_TEXT4 "Nom de volume (32 Caractères, ENTREE si aucun) ? "
STRING_LABEL_PROMPT "Delete current volume label (Y/N)? "
STRING_LABEL_OPTIONS "YN"
STRING_LABEL_TEXT3 "Le numéro de série du volume est %04X-%04X\n"
STRING_LABEL_TEXT4 "Nom de volume (32 caractères, ENTRÉE si aucun) ? "
STRING_LABEL_PROMPT "Supprimer le nom actuel (O/N) ? "
STRING_LABEL_OPTIONS "ON"
STRING_ERROR_INVALID_DRIVE "Lecteur spécifié introuvable\n"
STRING_ERROR_INVALID_LABEL "Invalid volume label\n"
STRING_ERROR_INVALID_LABEL "Nom de volume invalide\n"
END

Some files were not shown because too many files have changed in this diff Show More