PrintUI : Move to printing base directory.
NTPrint : Import from wine.
NTPrint does have a API test program from wine, not imported at this
time.
These will be Sync/Ported to full forked.
To fix 'MSTSC fails to connect with error "ERROR: Bad packet header"'
which regressed by 0.4.12-dev-752-g
6bc61f63f1
In 0.4.12 and 0.4.13 releases I totally reverted
Pierre Schweitzer's work instead.
Thanks to Doug Lyons, author of this new workaround,
we can keep Pierre's work.
We think MSAFD is a better place to workaround than
our MSTSC binary, because our MSTSC runs fine on
W2K3SP2.
I will backport this new workaround also into 0.4.14RC.
Remove WM_SYSKEYDOWN handling at component level, in consistency with other components (ListView,...)
Early embodiement of the fix proposed to WineHQ : https://bugs.winehq.org/show_bug.cgi?id=49097 in order to remove functionnal limitation in ReactOS. CORE-17020
## Purpose
[SYSDM]
- When closing System Properties page, log show
(win32ss/user/ntuser/windc.c:749) err: [00060138] GetDC() without ReleaseDC()!
because GetDC() is called (multiple times) without properly calling ReleaseDC() as required in order to release a device context.
- This module also lacks some error management in case null DC are provided (on error).
- LiveCD Userinit, based on SYSDM is affected too.
[DESK]
- Fix missing ReleaseDC related to the spectrum (color depth)
## Proposed changes
- ReleaseDC() added.
- Error management in case of null DC.
- Overall alignement of LiveCD Userinit and SYSDM.
In current implementation, when regedit opens HKCR root key, an error is logged
err:(dll/win32/advapi32/reg/hkcr.c:964) Returning 259.
This is not correct as the code 259 is ERROR_NO_MORE_ITEMS which is the nominal return value when end of enumeration is reached.
Notify filesystem change notifications by using ReadDirectoryChangesW function. Creating/Deleting files/folders will be responsive in Explorer. CORE-13950
- Check for changes of the host and domain name.
- Use NetGetJoinInformation to retrieve the join status.
- Implement the SyncDomainWithMembership setting.
- Disable the administrator warning temporarily.
CORE-15262
This fixes the exceptions raised when calling "Scan folder" a second time in SUMo 5.10.16.
The problem was reported to WineHQ : https://bugs.winehq.org/show_bug.cgi?id=48941
Import Wine commits by Nikolay Sivov, with the help of Doug Lyons:
- 08f4b6ee0a
ole32: Fix IMalloc::DidAlloc() return value to reflect block validity.
- 1e3bc9f3a6
ole32: Improve thread safety in DidAlloc().
- 06d36b1adf
ole32: Fix spy callback arguments for IMalloc::GetSize().
CORE-16981
The problem:
============
- When opening "Open With..." dialog for a given file format, multiple MRU items are appended to registry : 2 items written, even if dialog is closed "cancel".
- Expected behavior : 1 MRU item if execute is selected and 0 MRU if cancel is selected.
Fix:
====
- MRU item to be added when "Execute" is selected only.
- Once added, set the presence flag to avoid multiple MRU items being added later.
* [DESK] Add initial directory flag and set it to My Pictures. Also set OFN_EXPLORER style.
* Use CSIDL_MYPICTURES instead of environment variable concoction.
* Fix formatting.
Import Wine commits by Dmitry Timoshkov:
* 0cd8502b49 windowscodecs: Add support for 4bps RGBA format to TIFF decoder.
* 962bb99352 windowscodecs/tests: Add a separate test for 4bps BGRA TIFF format.
It may happen that the time-zone information in the registry key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
contains an empty StandardName / DaylightName, or is too long for the
standard maximum 32-character length, and therefore is returned empty.
And/or it may happen as well that some of the standard names (value "Std")
present in some of the time zones listed in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
are similarly too long, and therefore are returned as empty strings.
In case this happens, perform comparisons instead with the numerical
values Bias, StandardBias, DaylightBias, StandardDate and DaylightDate
in order to find a match.
It is interesting to note also that in Vista+ there is an additional
REG_SZ value "TimeZoneKeyName" in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
that allows to directly find a match in the time zones list in
"Windows NT\CurrentVersion\Time Zones".
This small win32 library provides time-zone utility wrappers around
Win32 functions, that are used by different ReactOS modules such as
timedate.cpl, syssetup.dll, and a possible future 'tzutil' tool.
The code has been extracted from the common code found in both
timedate.cpl and syssetup.dll.
This occurred in the file explorer because the menu isn't destroyed and recreated each time, so the menu item, once checked, will stay checked forever. We must call CheckMenuItem with MF_UNCHECKED to clear the check when necessary
The return result of ParseNow was never checked, but contained useful information on what type of error may have occurred. If the error is an issue with the path not existing the explorer will now show an error message notifying the user of the problem instead of silently failing.
Note: Shell32 does not properly return ERROR_INVALID_DRIVE when the drive path does not exist. For that reason, it is still possible to browse to a non-existent drive. However, once shell32 is patched this code will work properly, as it checks for both ERROR_INVALID_DRIVE and ERROR_FILE_NOT_FOUND.
Some 'BindToObject' methods are incomplete, and in some cases relative paths are simply not possible (especially in special folders such as the desktop)
-Avoid text truncations regarding the checkbox
in a uniform way
-Reduce chance of text truncations for a button
in a uniform way
-Fix es-ES dlg layout and harmonize its dlg Size
with other languages
-de-DE fix double accelerator
-Some inspiration from de-DE which I improved years ago
-Avoid text truncations and control overlapping that
happened in almost all other languages
-Increase the size of the listView for all except es-ES & pt-PT
-es-ES & pt-PT had different dlgs sizes, I only slightly tweaked
those therefore
-In sum this brings the RCs much closer to each other
-Unrelated: fix a white-space-typo we had in some but not all RCs
DD_LAN_NETSTATUS & IDD_LAN_NETSTATUSADVANCED
Reason for the change:
-dlgs sizes did differ (between langs and also within same lang)
-groupboxes sizes did differ (between langs and also within same lang)
-tabbing through both dlgs looked poorly therefore in almost all langs
(margin and groupbox jumping)
-in some languages we had truncation
-in some languages we had unintended scaling for the icon
-after the change all controls and dlgs have the exact same size for all languages,
I managed to achieve the common detominator for
everything that looks good in all languages and guarantees to not introduce any truncation
Only exception is the icons horizontal position which may require individual tweaking!
* [TRANSLATION] New PT translation to inetcpl
* [TRANSLATION] Fix SUBLANG in file cpl/joy/lang/pt-PT.rc to SUBLAG_NEUTRAL
* [TRANSLATION] New PT translation to cpl/mmsys/lang/pt-PT.rc
* [TRANSLATION] Fix SUBLANG in cryptui_Pt.rc file
- Also remove extra whitespace between function names and their arguments in sfc.
- Required by userenv.dll, win32k.sys, and others from Windows Server 2003 and also by some MS installers like Windows Media Encoder 7.1 installer. Now they should not fail due to that functions.
CORE-16458
Add stubs for WinStationCanLogonProceed() and _WinStationOpenSessionDirectory() functions to make winlogon from Windows Server 2003 happy.
CORE-15392 CORE-16458
Translations for:
- Applications: clipbrd, dxdiag, rapps,
- cmdutils: attrib, find, help, label, reg, xcopy
- usetup
- dlls: browseui, shell32, syssetup
- Add Spanish translation for Accesibility Utility (utilman).
Update for the "Choose product options" strings in syssetup:
Originally "ProductType" and "ProductSuite" (typesetted without spaces) were the registry value names where these settings would go, but since it's meaningless to show these values it's better instead to use human-readable names with correct translation and spacing.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Shell change notification has been implemented in #2432. But as @yagoulas said, source code structure is in mess. We improved simplicity and human readability of our source code.
- Move wine/changenotify.c code into changenotify.c and shelldesktop/CChangeNotify.cpp.
- Simplify code and rename the identifiers and add many comments. CORE-13950
Remove RTC switch from configure.cmd, now MSVC runtime checks are
supposed to be enabled/disabled via CMake define (-DRUNTIME_CHECKS=1)
Prepare for adding more dynamic analysis options
Invalidating and updating the whole window is a waste of computation resources and may cause certain controls notably the text string control to flicker. So instead, just invalidate the specific portion of the client area which is the animation bar.
- On desktop view, we have to watch both the common desktop and the private desktop.
- In Windows, IShellLink::Save (shortcut creation) sends SHCNE_CREATE or SHCNE_UPDATEITEM notification.
- Simplify CChangeNotify::ShouldNotify.
CORE-10391
This adds missing features like using events and APCs within IcmpSendEcho2
functions and others.
CORE-10742 CORE-14411
Co-authored-by: Tim Crawford <crawfxrd@gmail.com>
Updating translation for:
notepad, reactos, usetup, explorer, netshell, msgina, setupapi, shell32.
- Complete and Fix the SPANISH TRANSLATION on Setup
- Correct the random names, fixing the denominations, translate of the English words, and fixing random and incorrect denominations like "Cabinet" or "distribuciones".
- Fixed the notepad shortcuts of "Save" (Ctrl+g) and "Replace".
CORE-6561 CORE-13442
- Call GetComputerNameA() only when a non-empty server name has been
provided, thus slightly improving speed for the most common case when
local calls (with an empty server name) are done.
- When a server name is passed, trim any leading UNC server prefix since
the latter will be restored when building the pipe name string.
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
Fix SHAppBarMessage (not perfect) by adapting wine code. See CORE-14439.
More work is required. Kept the original code for reference.
Example : SetWindowPos should be called via Post Message.
Code commit is to wake up other developers.
* [SHELL32] Add shortcut to rename folders with the F2 key.
Sync Wine Commit 2e25a43f3fb6230460447bae6fb5db2edbd4a42f by Fabian Maurer
* [SHELL32] Add shortcut to delete folders with the delete key.
Sync Wine Commit 43f44ffb3779ff23c863d9b3297f92720e7e3733 by Fabian Maurer
* Disable the code for file deletion. The Wine way doesn't work on ROS. Add an explaining comment why we can't use the Wine code, as requested by Amine
Replace the call to PNP_DeviceInstanceAction(PNP_DEVINST_DISABLE) by a call to PNP_DisableDevInst() because PNP_DeviceInstanceAction(PNP_DEVINST_DISABLE) is a no-op.
A non optimized mesh does not prevent rendering as long as we return valid data to the application.
In our case we provided an identity remapping array when no vertices reordering is done.
Avencast demo works perfectly well (using native effects functions).
wine-staging patch by Christian Costa <titan.costa@gmail.com>
This patch fixes vertex processing issue of bug 33770.
The problem comes from the fact that even if the call succeeds,
the game interprets a non null error_messages pointer as an error.
By calling D3DCompile we use a newer version of the compiler which is more
strict and generates the following warning.
- warning X3206: 'dot': implicit truncation of vector type
- warning X3206: implicit truncation of vector type
- warning X3206: 'mul': implicit truncation of vector type
D3DCompileShader does not generate such warnings.
These is confirmed in the DX SDK release note:
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the compiler will warn
when an implicit truncation of a vector type occurs.
The warnings cannot be disable so this patch filters out these strings in D3DCompileShader
and reset the error messages pointer if the resulting buffer is empty.
Try 2:
- only filter out lines containing "X3206:" in case d3dcompiler_43 has localization
Try 3:
- use move in place instead of copying the buffer
Try 4:
- filter simplification by Sebastian and remove 'mul' testing left-out in search string
wine-staging patch by Christian Costa <titan.costa@gmail.com>
Fix remaining text issues in Air Strike.
Should fix text placement in Stronghold Kingdoms.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Use pitch value for locked buffer instead of assuming that pitch = width * bytesperpixel
* Avoid one for loop to simplify code
* Ensure that DrawText doesn't dereference a NULL pointer when count != 0.
Changes by Christian Costa <titan.costa@gmail.com>
* Use dedicated variables for text width & height instead of reusing rect.right and rect.bottom
* Remove useless test in pixel conversion
* Remove left over 'partial stub' in fixme
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Replace code to convert text from ascii to widechar
* Strip terminating NULL chars before drawing text
wine-staging patch by Christian Costa <titan.costa@gmail.com>
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f72204abd6037e59ba1bf500a3a9d0316e65a024 by Paul Gofman <gofmanp@gmail.com>
The issue is spotted in https://bugs.winehq.org/show_bug.cgi?id=46553,
while fixing it alone is reported not to affect the bug.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id b3e91c3408797da72fdd5066e983d8861d9271ea by Paul Gofman <gofmanp@gmail.com>
A non optimized mesh does not prevent rendering as long as we return valid data to the application.
In our case we provided an identity remapping array when no vertices reordering is done.
Avencast demo works perfectly well (using native effects functions).
wine-staging patch by Christian Costa <titan.costa@gmail.com>
This patch fixes vertex processing issue of bug 33770.
The problem comes from the fact that even if the call succeeds,
the game interprets a non null error_messages pointer as an error.
By calling D3DCompile we use a newer version of the compiler which is more
strict and generates the following warning.
- warning X3206: 'dot': implicit truncation of vector type
- warning X3206: implicit truncation of vector type
- warning X3206: 'mul': implicit truncation of vector type
D3DCompileShader does not generate such warnings.
These is confirmed in the DX SDK release note:
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the compiler will warn
when an implicit truncation of a vector type occurs.
The warnings cannot be disable so this patch filters out these strings in D3DCompileShader
and reset the error messages pointer if the resulting buffer is empty.
Try 2:
- only filter out lines containing "X3206:" in case d3dcompiler_43 has localization
Try 3:
- use move in place instead of copying the buffer
Try 4:
- filter simplification by Sebastian and remove 'mul' testing left-out in search string
wine-staging patch by Christian Costa <titan.costa@gmail.com>
Fix remaining text issues in Air Strike.
Should fix text placement in Stronghold Kingdoms.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Use pitch value for locked buffer instead of assuming that pitch = width * bytesperpixel
* Avoid one for loop to simplify code
* Ensure that DrawText doesn't dereference a NULL pointer when count != 0.
Changes by Christian Costa <titan.costa@gmail.com>
* Use dedicated variables for text width & height instead of reusing rect.right and rect.bottom
* Remove useless test in pixel conversion
* Remove left over 'partial stub' in fixme
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Replace code to convert text from ascii to widechar
* Strip terminating NULL chars before drawing text
wine-staging patch by Christian Costa <titan.costa@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 77c3761ad4e557f9fa311299e77746bf225a575a by Nikolay Sivov <nsivov@codeweavers.com>
Inspired by a patch from David Adam.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33456
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f54260a789387ab40de3d80291ad9000176dabe1 by Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 65956ae50a136fe8467a0332c7495f36617a16dc by Paul Gofman <gofmanp@gmail.com>
Fixes a regression triggered by commit
949dbbd31f450178c90ea8267097a975b77c3219.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 092c14b9d86ee1e96e465908cc524ec85988d0ff by Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id ce090114340fe6ce9314f543a1389de9bdc6df14 by Paul Gofman <gofmanp@gmail.com>
Fixes a regression triggered by commit 949dbbd31f450178c90ea8267097a975b77c3219.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46453
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 4e44d74afb12b40f673e3be0a91cd523013544cd by Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 33be8439fc95ca8f005bd3a2b6790c101842c02e by Paul Gofman <gofmanp@gmail.com>
Set read-only attribute instead of system attribute for some shell folders that has a folder icon.
Delete desktop.ini files in Desktop and Program Files. CORE-16711
Time/Date control panel applet displays the status of the NTP server synchronization with the system informing the user the actual condition of the said sync, if it has failed or suceeded. The commit also implements IDS_INETTIMEWELCOME which serves as a placeholder as Time/Date loads the last successful attempt of NTP synchronization which I don't know how the CPL remembers it. With that said, IDS_INETTIMEWELCOME will stay for a while until someone figures out how timedate.cpl works internally.
CORE-16684
Author: Puetz Kevin A <PuetzKevinA@JohnDeere.com>
atlbase.h: Fix some declarations on win64.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
The ReactOS logo banner is loaded from the GINA context whereas the animation bar is loaded from the main application instance. However, the aforementioned context is not initialized when WM_INITDIALOG occurs hence DlgData_LoadBitmaps() would fail on proceeding at loading the remaining bitmaps to be loaded.
This fixes the regression introduced by commit 623dd26c (PR #2353).
Don't hardcode My Documents path in some translations of My Music, My Pictures and My Videos folders in Shell32. It fixes incorrect location of that folders when install ReactOS as Workstation.
Currently they are located in one more My Documents subfolder, which is, in its turn, in the correct My Documents directory. After this fix, they are directly in the 2nd one, as they should be.
CORE-16698
The version string kernel number and the localized "version" word were too near in translation files. The patch fixes the problem introduced by #2276.
Addendum to commit a57f7b50.
Rewrite shell32!SHAddToRecentDocs and use it in some applications.
Wine's SHAddToRecentDocs was not Unicode supported and unusable. I will dare to rewrite.
CORE-3588
We set ReactOS Workstation as the default product option. That means we retargeted this project to Windows XP. Unattended Setup is supported.
CORE-13795
Reject invalid input filename characters by using shell32!SHLimitInputEdit function and IItemNameLimits interface. Improve SHLimitInputEdit to sanitize paste.
CORE-11701
Write the ReportAsWorkstation value of the registry key HKLM\SYSTEM\CurrentControlSet\Control\ReactOS\Settings\Version.
The reason is shown at CORE-6611.
CORE-13795
- Add "Product Options" wizard page into ReactOS Setup.
- Implement CSIDL_Type_InMyDocuments CSIDL type.
- If the product type is workstation, then some special folders will be in My Documents.
CORE-13795
The code is mostly unchanged. This includes the following changes:
* Move all wine code to crt/wine to keep it separated from our own code
* Add a minimal winternl.h
* Remove the asm macros from wine/config.h
* Include wine/asm.h where required
* Fix the names of the exported functions (GCC uses thiscall now and no wrappers are used anymore)
* Update German translations
* Update translation again
* More translations
* Some fixes in the german translation
* Some more fixes
* Little translation tweak
* Updates to 2nd review
* Little update
* Add back keyboard accel for IDS_OPENFILELOCATION.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Extraction happens now in its own thread, allowing for cancelling in the middle of extraction or moving the window during the extraction.
File extraction was previously happening in the main thread, freezing the whole window until the end. Now when the user clicks "Next", a new thread is created and the extraction starts from there, allowing to move the window during the extraction, or to cancel the extraction in the middle. (Note: after clicking "Cancel", extraction continues until the current file is extracted).
CORE-14934
Since 5f2bebf7, the Mesa library in dll/opengl/ has been downgraded from 8.0.4 to 2.6,
while the related documents were not updated to reflect the change.
This PR merely checks if the string is empty and displaying (only) a debug information to the debugger, at disposal of displaying a message box. I might implement such dynamic resource string to the CPL later in a next PR.
CORE-16654
The current control parameters don't fit well with the version string since ReactOS migrated from SVN to Git. However, modifying the resource parameters doesn't fix the problem as well because the string itself is dynamic (as it can change in words specially the build architecture if the version build is AMD64 or x86 for example).
CORE-16571
- Load and store the non volatile host, domain and computer names instead of the volatile ones.
- Validate the domain name before it is stored.
- Update the full computer name whenever the host or domain name changes.
This is needed, because property sheets can modify the dialog resource,
and example code (and some existing applications) expect DIALOG.
One such application is the VB6 setup.
CORE-16650