Bug 16658 – Win32API: default IE ver. set to 4.0 is too old

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2016-11-03T03:07:16Z
Last change time
2020-02-06T05:11:03Z
Keywords
pull
Assigned to
No Owner
Creator
jiki

Comments

Comment #0 by jiki — 2016-11-03T03:07:16Z
About Win32 API shipped with 2.070 druntime, the condition for IE 'version _WIN32_IE = 0x400' ( by default ) is too old. # See druntime/src/core/sys/windows/w32api.d. At least, the value should be 0x600(the version bundled with WinXP), otherwise some GUI enhansements (switch by that) are ignored because they are shared with the OS. Note: If someone made an old app for Win98 or 2000 with the Win32 Bindings _AND_ he has fixed it for the current druntime, it may be subject to change.
Comment #1 by jiki — 2016-11-03T03:20:13Z
Forgot to mention: The value cooperating with this is defined that _WIN32_WINNT = 0x501 ( means WinXP ) So I suppose that _WIN32_IE should be changed as follows. version (IE10) { } else version (IE9) { } else version (IE8) { ... snipped ... } else static if (_WIN32_WINNT >= 0x501) { // ADD enum uint _WIN32_IE = 0x600; // ADD } else static if (_WIN32_WINNT >= 0x410) { enum uint _WIN32_IE = 0x400; // this is used now } else {
Comment #2 by dlang-bot — 2020-02-04T03:12:12Z
@LimiQS created dlang/druntime pull request #2929 "Fix Issue 16658: Default IE version set to 6.0" fixing this issue: - Fix Issue 16658: Default IE version set to 6.0 IE 4 it too old. As it only supports up to WinNT 4.0, it's not available on WinXP or even Win2k. This leads to a mismatch with the default `_WIN32_WINNT = 0x500` (WinXP) value. Make the default IE version set to 6.0 could make more APIs available at default. Also, DMD now supports only `Windows 7 or later, 32 or 64 bit` and Windows 7 has reached End Of Life on 14 January 2020, it could reasonably set default value to: `_WIN32_WINNT = 0x601` and `_WIN32_IE = 0x800`. But this topic should be discussed in another PR. https://github.com/dlang/druntime/pull/2929
Comment #3 by dlang-bot — 2020-02-06T05:11:03Z
dlang/druntime pull request #2929 "Fix Issue 16658: Default IE version set to 6.0" was merged into master: - 14df4d4bc0c40b5ebe2aac33798840a98596575a by Asakusa Yakumo: Fix Issue 16658: Default IE version set to 6.0 IE 4 it too old. As it only supports up to WinNT 4.0, it's not available on WinXP or even Win2k. This leads to a mismatch with the default `_WIN32_WINNT = 0x500` (WinXP) value. Make the default IE version set to 6.0 could make more APIs available at default. Also, DMD now supports only `Windows 7 or later, 32 or 64 bit` and Windows 7 has reached End Of Life on 14 January 2020, it could reasonably set default value to: `_WIN32_WINNT = 0x601` and `_WIN32_IE = 0x800`. But this topic should be discussed in another PR. https://github.com/dlang/druntime/pull/2929