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>