This fixes a regression, introduced by
0.4.7-dev-219-g 6116aa816b
leading to the following linker errors LNK2019, LNK2001 when
trying to link mkisofs with the VS2012 compiler 17.0.61030.0
FAILED: mkisofs.exe
cmd.exe /C "cd . && C:\Appz\RosBE2_1_6\Bin\cmake.exe -E vs_link_exe C:\Appz\MICROS~2.0\VC\bin\link.exe /nologo sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\boot.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\eltorito.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\hash.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\inode.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\isonum.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\joliet.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\match.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\mkisofs.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\multi.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\name.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\rock.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\stream.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\tree.c.obj sdk\tools\mkisofs\CMakeFiles\mkisofs.dir\schilytools\mkisofs\write.c.obj /out:mkisofs.exe /pdb:mkisofs.pdb /version:0.0 /machine:X86 /MANIFEST:NO /debug /subsystem:console sdk\tools\mkisofs\libmdigest.lib sdk\tools\mkisofs\libschily.lib sdk\tools\mkisofs\libsiconv.lib sdk\tools\mkisofs\libschily.lib && cd ."
libschily.lib(fnmatch.c.obj) : error LNK2019: unresolved external symbol _wctype referenced in function _rangematch
libschily.lib(match.c.obj) : error LNK2001: unresolved external symbol _wctype
mkisofs.exe : fatal error LNK1120: 1 unresolved externals
The interesting part about that is that the VS2010 and VS2013 toolchains do both *not*
suffer from this issues, in their cases the MS CRT implementation of wctype is used.
That is also present in MS VS2012 CRT, but for some not fully understood reasons it is not
used when linking with VS2012.
I do suspect a bug in the defines and many #ifdef cases within the libschily implementation,
and to underline that those indeed aren't entirely correct in our version, I also placed a
FIXME within wctype.h. However acting on that FIXME would not solve the build-issue either yet,
therefore I decided to only document the existing glitches instead of fixing that as well.
The wctype.c implementation was taken from the upstream repo
https://github.com/roytam1/schilytools/blob/master/libschily/wctype.c
A more perfect solution would avoid the need for introducing that code, and would
make the VS2012 MS CRT version being used, like we do for all other MSVC compilers.
But the current patch, written with thin fingers should be good enough for the
releases/0.4.7 to releases/0.4.14 to fix the build.
I tested: afterwards the VS2012 isos can be built properly for dbg-cfg and rls-cfg.
I tested: afterwards the VS2012 dbg-cfg-bootcd-iso does make it to the desktop.
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.
winioctl.h:
- Re-organize definitions according to the
NT DDK headers they have been taken from.
- Add missing include guards to some definitions.
- Add missing IsFTPartition() macro.
- Add missing volume definitions.
ntddvol.h:
- Guard definitions duplicated in winioctl.h.
- Add missing NTDDI_VERSION checks.
Note: IOCTL_VOLUME_POST_ONLINE is Win8+.
Our Tahoma font file had a workaround
to make bitmap glyphs working.
This workaround is no more necessary
because new FontForge doesn't have
this bug.
JIRA issue: CORE-9616
- Remove 「いうかひのん」 workaround
(See http://www.electronicdissonance.com/2010/01/raster-fonts-in-visual-studio-2010.html ).
- Remove Traditional Chinese codepage.
Version 0.020 khmz.