Fix file association UX.
JIRA issue: CORE-19670
- Check the return value of
shell32!SHOpenWithDialog function.
- If changed, then update the UI display
and internal data.
- Use OAIF_FORCE_REGISTRATION flag.
Fix wrong MAKEINTRESOURCEW() macro usage cases in LoadCursorW() system-wide.
MSDN documentation for this function states we need to use MAKEINTRESOURCEW() macro only for internal application-defined cursors (loaded from the app instance specified by hInstance parameter), but not for system-defined cursors (those begin with IDC_* prefix), in case when hInstance is NULL.
So get rid from MAKEINTRESOURCEW() macro usage for all cases when hInstance parameter is NULL. And on the contrary, when hInstance is valid and points to the application instance, then use it for the resource identifier.
The idea is reminiscent of the SetupCommitFileQueue() function:
filesystem volume operations are "queued" and processed via a
"commit queue".
The commit queue uses a user-specified callback, that is used to
interact with the user whenever an operation (filesystem formatting,
checking) is started, ended, or fails, for example by displaying
appropriate UI screens and choices, etc.
If East Asian people were unable
to see the Latin characters, it
becomes a barrier to mutual
understanding.
FontLink will break that barrier.
JIRA issue: CORE-9616
JIRA issue: CORE-15480
- Modify font substitutes.
- Unify the lock variables.
- Add FONTLINK and
FONTLINK_CHAIN structures.
- Add FontLink_Create and
FontLink_Destroy functions.
- Add FontLink_Chain_Init,
FontLink_Chain_Free,
FontLink_Chain_LoadReg,
FontLink_Chain_Populate, and
FontLink_Chain_FindGlyph
functions.
- Implement FontLink.
- Add font file DroidSansFallback.ttf
for LiveCD.
Improve font file micross.ttf for better
compatibility.
Eliminate blurry font rendering.
JIRA issue: N/A
- Edit the font file with FontForge.
- Improve vector glyphs.
- Add 8px, 9px, 10px, 11px, 12px,
and 13px bitmap glyphs.
- Cover English alphabet, digits,
French, German, Cyrillic, and
Greek characters.
Version: 3
License: SIL Open Font License, Version 1.1
1. MountMgrMountedDeviceArrival():
Fix the conditions under which the device's online notifications
are skipped (SkipNotifications == TRUE) and fix the code comments.
Now, things make much more sense:
online notifications are skipped when the device is already offline
or is a legacy (NT <= 4) fault-tolerant volume (see point 2 below),
or is NOT mounted (doesn't have a drive letter).
Previously, we were sending an online notification if the device
was NOT mounted (why?!...) or if it was deemed as "valid" (wrongly
determined, see point 2 below).
2. QueryDeviceInformation():
* The usage of the "Valid" parameter didn't make much sense. Indeed,
when a partition/volume device is reported to the Mount Manager,
it's already valid. (Also, setting "Valid" to TRUE only in the case
of an MBR partition while ignoring GPT ones, and resetting it to
FALSE if IOCTL_STORAGE_GET_DEVICE_NUMBER returned success, pointed
to something incorrect was going on.)
Instead, what we are checking here is whether the device is a
legacy fault-tolerant volume: such volume can only reside on an
MBR disk, have the expected partition type, and does not really
reside on a specific storage device (hence the check for
IOCTL_STORAGE_GET_DEVICE_NUMBER returning failure).
* Take also the opportunity to SAL2-ify the function.
This "NoAutoMount" member was not consistently used. Sometimes it was
used correctly, some other times it was used as "not NoAutoMount" i.e.
"AutoMount" enabled.
Fix this consistently throughout the source, and fix also some comments.
- Sync translations of the same menu items in MENU_002 and MENU_003.
- Add missing accelerators.
- Also fix colliding accelerators/mnemonic keys where possible.
CORE-19243
- IShellExtInit cannot rely on a folder PIDL being present
- Use common QueryContextMenu function for both menu items
- Allow copy to the same folder
- Disable toolbar buttons when the selection is not valid
- Minor DefView cache enhancement and bugfixes
- Synchronize PARTITION_*** definitions between ntdddisk.h and winioctl.h
- Make IsFTPartition() macro definition more accurate with Win2003/Vista+
WDK definition. In particular, partition types that would conflict with
3rd-party ones are not present in this macro. (See comment in header
for more details.)
Simplify also its definition by factoring the common
((PartitionType) & PARTITION_NTFT)
piece.
- It can be recognized, in all DDK/WDK versions, that the first part of
the IsRecognizedPartition() macro definition is basically the definition
of IsFTPartition(). So, take this opportunity to simplify the definition
of IsRecognizedPartition() accordingly without losing any functionality.
Save/Restore the state of the ShellBrowser toolbar/addressbar/statusbar.
Windows shares the state of the Go button and the locked state between Explorer and Internet Explorer but the bar states are not shared.
Notes:
- Seems to fix CORE-17236.
- The stream layout does not match Windows so it uses a different name. The toolbar customize dialog needs to be fixed before it makes sense trying to save the toolbar state and the layout of other bands.
CORE-17236
See commits ebcf3cf38 and c9c6902f0 (PR #5837)
In addition, correctly set the type of extended partition being used,
depending on whether it is contained below or above the 1024-cylinder
boundary (tested on NT).
There were encoding problems due to non-
Unicode functions.
JIRA issue: CORE-19653
- Adapt _ILGetDrive, _ILGetExtension,
_ILGetFileAttributes, _ILGetFileDate,
_ILGetFileSize, and _ILGetFileType
functions to Unicode.
- Adapt SHELL_IsShortcut and
SHGetFileInfoW functions to Unicode.
- Delete useless _ILSimpleGetText
function.
Windows has all its network drivers inf files in 8.3.
This is an addendum to 0.4.15-dev-52-g 019f21ee1d
which moved us further away from our target.
The commit on its own was a good idea actually to get the inf into the drivers directory
and therefore simplifies adding and excluding drivers more locally (e.g. excluding works by
adding a single hashtag within the specific drivers CMakeLists.txt now).
But that cool feature doesn't require us to move away from our target.
For the record:
The historic netrtpnt.inf and netisa.inf (both 8.3) have been merged to
netne2000.inf (not 8.3) by 0.4.15-dev-2763-g 6924b8ff39
Unification of that was cool too,
but again: 8.3 is superior. Therefore netne.inf for that.
Worst of all: Since the .inf files did contain their filename within a comment also, that means
the historic renaming by the mentioned commit invalidated that comment.
netamd.inf fixed by restoring the ancient filename before 0.4.15-dev-52-g 019f21ee1d
netrtl.inf fixed by restoring the ancient filename before 0.4.15-dev-52-g 019f21ee1d
netne.inf I fixed the comment manually.
CORE-16499
Addendum to commit 0a0e6a9f0 that introduced the problem.
Thanks to Hervé Poussineau for having caught it.
Fixes logic errors, and resulting compilation warnings/errors with GCC
in situations like the following one:
```c
if ((PartitionInfo.PartitionStyle == PARTITION_STYLE_MBR) &&
IsFTPartition(PartitionInfo.Mbr.PartitionType))
{ ... }
```
error: suggest parentheses around '&&' within '||' [-Werror=parentheses]
if ((PartitionInfo.PartitionStyle == PARTITION_STYLE_MBR) &&
cc1: all warnings being treated as errors
Retrial of #3818.
JIRA issue: CORE-16435
The font name is "Microsoft Sans Serif". This font is not Microsoft's font.
This font was not a solution of CORE-16435 but we add this font as a side
product of CORE-16435.
- Add media/fonts/micross.ttf as "Microsoft Sans Serif" font.
- The font height is 14%-shrinked from #3818.
- Add media/fonts/doc/MicrosoftSansSerif/LICENSE_OFL.txt.
- Modify CMakeLists.txt to add the font.
- Improve "J" and "Q".
Version: 3
License: SIL Open Font License 1.1
Reverts #6551
This caused the non-English programs menu
items to not be populated.
JIRA issue: CORE-12328 will have to be
reopened afterwards and approached
differently
JIRA issue: CORE-19652 will get resolved
This is the network driver which is used for MSVPC 2007.
I spotted it during a WIP-backport-experiment of the driver, when compiling with GCC4.7.2, which warned about it.
GCC8.4.0 unfortunately is blind to that on master head, for unknown reasons. Not good.
MSVC github buildbot is also blind to that on master head, for unknown reasons. Not good.
We later found that at least Clang did also warn about it on master head.