Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • expose-wine-atoms
  • master
  • oldstable
  • stable
  • wine-0.0.2
  • wine-0.0.3
  • wine-0.1.0
  • wine-0.2.0
  • wine-0.3.0
  • wine-0.4.0
  • wine-0.4.10
  • wine-0.4.3
  • wine-0.4.7
  • wine-0.5
  • wine-0.6
  • wine-0.7
  • wine-0.9
  • wine-0.9.1
  • wine-0.9.10
  • wine-0.9.11
  • wine-0.9.12
  • wine-0.9.13
  • wine-0.9.14
  • wine-0.9.15
  • wine-0.9.16
  • wine-0.9.17
  • wine-0.9.18
  • wine-0.9.19
  • wine-0.9.2
  • wine-0.9.20
  • wine-0.9.21
  • wine-0.9.22
  • wine-0.9.23
  • wine-0.9.24
  • wine-0.9.25
  • wine-0.9.26
  • wine-0.9.27
  • wine-0.9.28
  • wine-0.9.29
  • wine-0.9.3
  • wine-0.9.30
  • wine-0.9.31
  • wine-0.9.32
  • wine-0.9.33
  • wine-0.9.34
  • wine-0.9.35
  • wine-0.9.36
  • wine-0.9.37
  • wine-0.9.38
  • wine-0.9.39
  • wine-0.9.4
  • wine-0.9.40
  • wine-0.9.41
  • wine-0.9.42
  • wine-0.9.43
  • wine-0.9.44
  • wine-0.9.45
  • wine-0.9.46
  • wine-0.9.47
  • wine-0.9.48
  • wine-0.9.49
  • wine-0.9.5
  • wine-0.9.50
  • wine-0.9.51
  • wine-0.9.52
  • wine-0.9.53
  • wine-0.9.54
  • wine-0.9.55
  • wine-0.9.56
  • wine-0.9.57
  • wine-0.9.58
  • wine-0.9.59
  • wine-0.9.6
  • wine-0.9.60
  • wine-0.9.61
  • wine-0.9.7
  • wine-0.9.8
  • wine-0.9.9
  • wine-1.0
  • wine-1.0-rc1
  • wine-1.0-rc2
  • wine-1.0-rc3
  • wine-1.0-rc4
  • wine-1.0-rc5
  • wine-1.0.1
  • wine-1.1.0
  • wine-1.1.1
  • wine-1.1.10
  • wine-1.1.11
  • wine-1.1.12
  • wine-1.1.13
  • wine-1.1.14
  • wine-1.1.15
  • wine-1.1.16
  • wine-1.1.17
  • wine-1.1.18
  • wine-1.1.19
  • wine-1.1.2
  • wine-1.1.20
  • wine-1.1.21
  • wine-1.1.22
  • wine-1.1.23
  • wine-1.1.24
  • wine-1.1.25
104 results

Target

Select target project
  • wine/wine
  • rbernon/wine
  • stefan/wine
  • FireBurn/wine
  • alesliehughes/wine
  • zhiyi/wine
  • huw/wine
  • jsikorski/wine
  • hmc/wine
  • dadangnh/wine
  • epo/wine
  • dlesho/wine
  • DarkShadow44/wine
  • iamahuman/wine
  • jacek/wine
  • mstorsjo/wine
  • gofman/wine
  • alexhenrie/wine
  • giomasce/wine
  • tclem/wine
  • besentv/wine
  • dlehman25/wine
  • aeikum/wine
  • cdavis5e/wine
  • sbaars/wine
  • baskanov/wine
  • pperdigao/wine
  • DavidHusicka/wine
  • DadSchoorse/wine
  • gverm/wine
  • bshanks/wine
  • gonzoMD/wine
  • Mystral/wine
  • tmatthies/wine
  • zlice/wine
  • AndreRH/wine
  • madewokherd/wine
  • zfigura/wine
  • fgouget/wine
  • nsivov/wine
  • ElementalWarrior/wine
  • piotr/wine
  • franzitrone/wine
  • DavidCurtiss/wine
  • cmcadams/wine
  • davidebeatrici/wine
  • hans/wine
  • insn/wine
  • danrm/wine
  • jklemann/wine
  • saedo/wine
  • sgwaki/wine
  • puetzk/wine
  • bernhardu/wine
  • ReDress/wine
  • jlucfarias/wine
  • sloper42/wine
  • ivyl/wine
  • zhui/wine
  • julliard/wine
  • ClearlyClaire/wine
  • Alexander-Wilms/wine
  • rndtrash/wine
  • redmcg/wine
  • jkfloris/wine
  • maljaf/wine
  • Tuupertunut/wine
  • bsjeon/wine
  • tati/wine
  • whydoubt/wine
  • doitsujin/wine
  • shaunren/wine
  • szanni/wine
  • tobi.goergens/wine-cabinet-patch
  • winspool/wine
  • olivierfrdierick/wine
  • linkmauve/wine
  • jin-king1/wine
  • yeyeshun/wine
  • sulix/wine
  • bgc/wine
  • fanwenjie/wine
  • IncubusRK/wine
  • js6pak/wine
  • AurimasF/wine
  • etaash.mathamsetty/wine
  • hverbeet/wine
  • Fox2Code/wine
  • jhol/wine
  • jrueger/wine
  • afrantzis/wine
  • lauri.kentta/wine
  • ehoover/wine
  • cdenton/wine
  • jkloetzke/wine
  • baryluk/wine
  • restet/wine-personal
  • orudge/wine
  • Gcenx/wine
  • mstefani/wine
  • hibbsncc1701/wine
  • jchw/wine
  • moceap/wine
  • Skryptonyte/wine
  • marzent/wine
  • msmeissn/wine
  • learn-more/wine
  • logos128/wine
  • xe/wine
  • florian-kuebler/wine
  • eason329/wine
  • gang65/wine
  • binarymaster/wine
  • nbosio1001/wine
  • sh.owais95/wine
  • yaoyuan.0553/wine
  • AnthonyLaurienti/wine
  • mivanchev/wine
  • Hi-Angel/wine
  • vt/wine
  • wyrquill/wine
  • waynus/wine
  • wuliande/wine
  • yao.yuan.wn/wine
  • K1K1/wine
  • lukehutch1027/wine
  • etang-cw/wine
  • Josueblanco/wine
  • jplotz/wine
  • j20001970/wine
  • jsm174/wine
  • aricstewart/wine
  • uncoveryoureyestheresnosun/wine
  • VitorRamos/wine
  • 0e4ef622/wine
  • tj4048750/wine
  • xantares/wine
  • maxfigura/wine
  • sanane/wine
  • juniorjr9345/wine
  • lucaspereira1234/wine
  • gerald/wine
  • lepemiguel32/wine
  • caibb2018/wine
  • CNB_Kevin/wine
  • thc13/wine
  • jaihysc/wine
  • youngsecurity/wine
  • chendeqiang1024/wine
  • rhendric/wine
  • databoose/wine
  • memory-thrasher/wine
  • salman.tajik22/wine
  • CowFroggers/wine
  • kbdharun/wine
  • dreamer/wine
  • babyjoey711/wine
  • ripxorip/wine
  • PSzczepanski1996/wine
  • steveshe006/wine
  • joshua/wine
  • cmccarthy/wine
  • tomjansen/wine
  • sonyps5201314/wine
  • katelynnking4281/wine
  • dhary686/wine
  • mathematician/wine
  • rhabacker/wine
  • steveschnepp/wine
  • nekotekina/wine
  • Aaron1011/wine
  • catsout/wine
  • kasper93/wine
  • beef331/wine
  • ESD/wine
  • sarosib/wine
  • ghurmcardash/wine
  • AMZN-hgoffin/wine
  • gtmikw/wine
  • Keming/wine
  • dpjh747-gl/wine
  • tzluo/wine
  • rfz/wine
  • illia.a.polishchuk/wine
  • new_kleth/wine
  • serkan-maker/wine
  • w-flo/wine
  • mikayahlevi/wine
  • nulleve/wine
  • pgruebele/wine
  • athiele/wine
  • paparaha4/wine
  • novenary/wine
  • Plavil/wine
  • longjunyu/wine
  • chrisli/wine
  • samkottler/wine
  • danielzgtg/wine
  • twcassel/wine
  • guo/wine
  • didier31/wine
  • Zhaoyi/wine
  • twhitehead/wine
  • svyatpro/wine
  • infyquest/wine-iq-devel
  • sebres/wine
  • endrift/wine
  • zhengbl/wine
  • joelikeyan/wine
  • IsaacMarovitz/wine
  • LouiseTheGoldenGoddess/wine
  • SergeGautherie/wine
  • Klittiklatsch/wine
  • ldhacker/wine
  • dk1006498/wine
  • ishitatsuyuki/wine
  • h3c/wine
  • wincenty.bandyta41/wine
  • ayhankus482/wine
  • q4a/wine
  • mjgarton/wine
  • agusev/wine
  • vovams/wine
  • shardulsb08/wine
  • lylythechosenone/wine
  • artemist/wine
  • dropbear/wine
  • Cherser-s/wine
  • smayr/wine
  • loveptong/wine
  • chendeqiang/wine
  • gaber139/wine
  • shytzedaka/wine
  • ghkmufc/wine
  • TornadoCookie/wine
  • klownwolfman/wine
  • bylaws/wine
  • vitorhnn/wine
  • mide1337/wine
  • mewinkler/wine
  • firelzrd/wine
  • Samsuper/wine
  • kkartaltepe/wine
  • petravion/wine
  • Maaka00524/jacob-wine
  • petrathekat/wine
  • dj/wine
  • liam-middlebrook/wine
  • padolkarlucky/wine
  • maarten/wine
  • yhd986/wine
  • linkmecry/wine
  • tehrantoday/wine
  • xuxin12345/wine
  • dmjc/wine
  • sedwards/wine
  • hanslehnert/wine
  • 3ts75/wine
  • EkaterinePapava/wine
  • lav/wine
  • lygstate/wine
  • mxkrsv/wine
  • xutaxkamay/wine
  • cbialorucki/wine
  • yshui/wine
  • baikaishiuc/wine
  • HuwCampbell/wine
  • llde/wine
  • rockdrilla/wine
  • aidanhs/wine
  • SwimmingTiger/wine
  • fvalasiad/wine
  • zsoltiv/wine
  • mailnew4ster/wine
  • ake.rehnman/wine
  • IDocin/wine
  • dmitry/wine
  • Cthuflu/wine
  • corngood/wine
  • whindsaks/wine
  • telans/wine
  • DmitrySokolov/wine
  • Pospelove/wine
  • ellingtonsantos/wine
  • roro/wine
  • wurenny/wine
  • KokoseiJ/wine
  • amurzeau/wine
  • spazzymoto/wine
  • searchingin/wine
  • marler8997/wine
  • Alcaro/wine
  • aunali1/wine
  • snaccslocc420/wine
  • ajkhoury/wine
  • qsniyg/wine
  • Matheus-TestUser1/wine
  • adamrehn/wine
  • brobston/wine
  • aalyaev/wine
  • thongthai/wine
  • j.bayer1988/wine
  • skitt/wine
  • benben/wine
  • ahmouse15/wine
  • achurch/wine
  • mfaqiri2/wine
  • yseo/wine
  • kingjinni/wine
  • userid0x0/wine
  • titan/wine
  • Komoszek/wine
  • GamzeeRakoon/wine
  • joanluc/wine
  • Alan/wine
  • meshine/wine
  • EBADF/wine
  • vibhavp/wine
  • quininer/wine
  • pawelulita/wine
  • muek2211/wine
  • chenhaoyang/wine
  • nishiyama/wine
  • silviuxgaming/wine
  • nell/wine
  • 29jm/wine
  • arilou/wine
  • Mini-Gaunt/wine
  • DodoGTA/wine
  • davispuh/wine
  • mzent/wine
  • arakmar/wine
  • number201724/wine
  • yhd986/wine-up
  • rpisl/wine
  • zp1/wine-zp-cs-464
  • h0tc0d3/wine
  • Snowiiii/wine
  • gabrielb/wine
  • PureBulb/wine
  • OO/wine
  • Clara/wine
  • Saancreed/wine
  • enolp/wine
  • arthunix/wine
  • halfline/wine
  • carlo-bramini/wine
  • jfmu/wine
  • russelltg/wine
  • ntay/wine
  • YellowOnion/wine
  • niversesu/wine
  • gilvbp/wine
  • tingling0072/wine
  • DandD1517/wine
  • rastos/rastos-at-wine
  • gnif/wine
  • gibsonpil/wine
  • antenabr2/wine
  • kvashis/wine
  • CKolle/wine
  • kubni/wine
  • ten0s/wine
  • Yvonne8873/wine
  • kurikaesu/wine
  • minggr/wine
  • JohnSebastienNadeau/wine
  • karshnicholas/wine
  • SamB/wine
  • apgrc/wine
  • Samiklom/wine
  • llyyr/wine
  • nberner/wine
  • katharinechui/wine
  • kirill.zhumarin/wine
  • vaxerski/wine
  • infiniteloop/wine
  • K0bin/wine
  • arethusa/wine
  • dank_meme/wine
  • dh/wine
  • tuomasjjrasanen/wine
  • mmcdonnell/wine
  • mxnny00/wine-manjaro-arch-compatibility
  • Joan/wine
  • g.mo.alcauter/wine
  • zhenbo_li/wine
  • tsmx/wine
  • xaqumin/wine
  • peterjc123/wine
  • ruslangaripov/wine
  • blyss/wine
  • xanathar/wine
  • michael.bond/wine
  • Quix0r/wine
  • sinisa.susnjar/wine
  • Rapid/wine
  • theli.ua/wine
  • shaun.din/wine
  • zhaohongxin/wine
  • dylan.eskew/wine
  • humbertoperezs991/wine
  • vaevi/wine
  • Riesi/wine
  • francisdb/wine
  • 1480c1/wine
  • trcrsired/wine
  • npatt/wine
  • muhammmadalli/wine9.0
  • Czahrien/wine
  • nilsen.jonas/wine
  • underdogest/wine
  • djordjem/wine
  • frubin/wine
  • LucasChollet/wine
  • lipengfei-loongson/wine
  • JacobCzekalla/wine-fork-jacob
  • omar_elantil/wine
  • lumarel/wine
  • principeagustin/wine
  • gotzl/wine
  • OneTester250376/wine
  • austin987/wine
  • unknown62627/wine
  • navi/wine
  • somedevfox/wine
  • notaz/wine
  • fcasas/wine
  • Asteroz/wine
  • MariusSchiffer/wine
  • kevinrmartinez/wine-devel
  • St1gven/wine
  • maarten256/wine
  • rcstarr87/wine
  • tinozzo123/wine
  • GermanAizek/wine
  • spencerwallace/wine
  • schloegl/wine
  • giuppococco/wine
  • shayan7878/wine
  • N080DY12/wine
  • ralf.habacker/wine
  • oh-ok/wine
  • johnporter/wine
  • Low-power/wine
  • thelande/wine
  • yurih/wine
  • kubapet/wine
  • Ivan_83/wine
  • SmithGoll/wine
  • gmesmer/wine
  • akarisu.de/wine
  • jwffrey9046/wine
  • anders/wine
  • markbhasawut/wine
  • dy-tea/wine
  • Benjamin_Loison/wine
  • frmdstryr/wine
  • zzam/wine
  • haydenhestad/wine
  • Deppy04/wine
  • osbre/wine
  • CharlottePabst/wine
  • SunlitTango/wine
  • ritalat/wine
  • AlexeyLushnikov/wine
  • mickdermack/wine
  • s1UMBa/wine
  • huangqinjin/wine
  • caseyr297/wine
  • d1saster/wine
  • ayufdh222/wine
  • janstrakowski/wine
  • petur/wine
  • matheus.venturini/wine-fix-ohm-sign
  • rayrapetyan/wine
  • xiaotong/wine
  • ovarley1/wine
  • dos1/wine
  • BZZZZ/wine
  • joesoroka/wine
  • toadking/wine
  • JoshuaBrest/wine
  • elias/wine
  • michele.dionisio/wine
  • garlett/wine-send-arp
  • eugenemcardle/wine
  • hugwijst/wine
  • whrvt/wine
  • loisgomez/wine
  • ramleejo/wine
  • self/wine
  • fr33z00/wine
  • JoeS209/wine
  • JacKeTUs/wine
  • nak.ak2015/wine
  • morgwai/wine
  • funfunctor/wine
  • donnyjoe/wine
  • sitter/wine
  • atticf/wine
  • xipster/wine
  • sebastian/wine
  • AlexanderWillner/wine
  • yaoyongjie/wine
  • wayne/wine
  • AMark/wine
  • zamaudio/wine
  • TomaszPakula/wine
  • Freakness109/wine
  • amorozov/wine
  • HP/wine
  • danlm/wine
  • rariema/wine
  • Biswa96/wine
  • rlippmann/wine
  • yangkun/wine
  • greyghoster/wine
  • toxieainc/wine
  • kgzod/wine
  • sflint/wine
  • thdaemon/wine
  • M23SNEZ3/wine
  • TobiX/wine
  • jszakmeister/wine
  • graham/wine
  • jpr/wine
  • pali/wine
  • mrdeathjr28/wine
  • shavitush/wine
530 results
Select Git revision
  • master
  • oldstable
  • stable
  • wine-0.0.2
  • wine-0.0.3
  • wine-0.1.0
  • wine-0.2.0
  • wine-0.3.0
  • wine-0.4.0
  • wine-0.4.10
  • wine-0.4.3
  • wine-0.4.7
  • wine-0.5
  • wine-0.6
  • wine-0.7
  • wine-0.9
  • wine-0.9.1
  • wine-0.9.10
  • wine-0.9.11
  • wine-0.9.12
  • wine-0.9.13
  • wine-0.9.14
  • wine-0.9.15
  • wine-0.9.16
  • wine-0.9.17
  • wine-0.9.18
  • wine-0.9.19
  • wine-0.9.2
  • wine-0.9.20
  • wine-0.9.21
  • wine-0.9.22
  • wine-0.9.23
  • wine-0.9.24
  • wine-0.9.25
  • wine-0.9.26
  • wine-0.9.27
  • wine-0.9.28
  • wine-0.9.29
  • wine-0.9.3
  • wine-0.9.30
  • wine-0.9.31
  • wine-0.9.32
  • wine-0.9.33
  • wine-0.9.34
  • wine-0.9.35
  • wine-0.9.36
  • wine-0.9.37
  • wine-0.9.38
  • wine-0.9.39
  • wine-0.9.4
  • wine-0.9.40
  • wine-0.9.41
  • wine-0.9.42
  • wine-0.9.43
  • wine-0.9.44
  • wine-0.9.45
  • wine-0.9.46
  • wine-0.9.47
  • wine-0.9.48
  • wine-0.9.49
  • wine-0.9.5
  • wine-0.9.50
  • wine-0.9.51
  • wine-0.9.52
  • wine-0.9.53
  • wine-0.9.54
  • wine-0.9.55
  • wine-0.9.56
  • wine-0.9.57
  • wine-0.9.58
  • wine-0.9.59
  • wine-0.9.6
  • wine-0.9.60
  • wine-0.9.61
  • wine-0.9.7
  • wine-0.9.8
  • wine-0.9.9
  • wine-1.0
  • wine-1.0-rc1
  • wine-1.0-rc2
  • wine-1.0-rc3
  • wine-1.0-rc4
  • wine-1.0-rc5
  • wine-1.0.1
  • wine-1.1.0
  • wine-1.1.1
  • wine-1.1.10
  • wine-1.1.11
  • wine-1.1.12
  • wine-1.1.13
  • wine-1.1.14
  • wine-1.1.15
  • wine-1.1.16
  • wine-1.1.17
  • wine-1.1.18
  • wine-1.1.19
  • wine-1.1.2
  • wine-1.1.20
  • wine-1.1.21
  • wine-1.1.22
  • wine-1.1.23
  • wine-1.1.24
  • wine-1.1.25
103 results
Show changes
Commits on Source (206)
Showing
with 734 additions and 563 deletions
The Wine team is proud to announce that the stable release Wine 6.0
is now available.
The Wine maintenance release 6.0.2 is now available.
This release represents a year of development effort and over 8,300
individual changes. It contains a large number of improvements that
are listed in the release notes below. The areas of major changes are:
- Core modules in PE format.
- Vulkan backend for WineD3D.
- DirectShow and Media Foundation support.
- Text console redesign.
This release is dedicated to the memory of Ken Thomases, who passed
away just before Christmas at the age of 51. Ken was an incredibly
brilliant developer, and the mastermind behind the macOS support in
Wine. We all miss his skills, his patience, and his dark sense of
humor.
What's new in this release (see below for details):
- Compilation fixes (freetype, gcc 11)
- Default to building with GnuTLS support on macOS, if present
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.tar.xz
http://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.tar.xz
https://dl.winehq.org/wine/source/6.0/wine-6.0.2.tar.xz
http://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.2.tar.xz
Binary packages for various distributions will be available from:
......@@ -35,454 +24,245 @@ AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
What's new in Wine 6.0
======================
*** PE modules
- The core DLLs, including NTDLL, KERNEL32, GDI32, USER32, etc. are
built in PE format. This should help a number of copy protection
schemes that check that the DLL files on disk match the in-memory
contents.
- There is a new mechanism to associate a Unix library with a PE
module, to make it possible to call Unix libraries from PE for the
functions that can't be handled with Win32 APIs.
These libraries are found by replacing the PE module file extension
with .so, for instance ntdll.dll -> ntdll.so. They have to be
located next to the PE file on disk.
- Winelib modules no longer link against libwine.so, or require it at
run-time. This is a backwards incompatible change, meaning that
modules built with Wine 6.0 won't run on older Wine versions.
- The libwine library is no longer used, but it's still provided to
support running Winelib modules built against older versions. It is
deprecated however, and will be removed in a future Wine
release. Applications that explicitly call libwine functions will
need to be changed to call equivalent Win32 or Unix APIs instead.
As a consequence, the wine/library.h header has also been removed.
- PE modules can be built with their debug information split to a
separate file, to reduce the size of the files installed into the
Wine prefix.
*** Direct3D
- An experimental Vulkan renderer for WineD3D is implemented. This
requires the vkd3d-shader library in order to translate Direct3D
shaders to SPIR-V shaders. In this release, shader support in the
Vulkan renderer is limited to shader model 4 and 5 shaders. In
practice, that limits its usefulness to Direct3D 10 and 11
applications. The Vulkan renderer can be enabled by setting the
Direct3D "renderer" registry setting to "vulkan".
- The following Direct3D 11 features are implemented:
- Per render-target ("independent") blend states.
- Dual-source blending.
- Multi-sample anti-aliasing sample masks.
- Several more capability queries.
- Support for Direct3D 9 alpha-to-coverage multi-sampling is
implemented.
- When the EXT_framebuffer_multisample_blit_scaled OpenGL extension is
available, scaled multi-sample resolve operations can happen as a
single operation.
- When the ARB_buffer_storage OpenGL extension is available, it will
be used to allocate OpenGL buffer objects. This can result in minor
performance improvements with some application and driver
combinations.
- The Direct3D graphics card database recognizes more graphics cards,
and the reported driver versions have been updated.
- New or modified HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
- "renderer" (REG_SZ)
The backend API to target. This existing setting has an additional
valid value in this release: "vulkan". Possible values are now
"gl" (default) for OpenGL, "gdi" or "no3d" for GDI, and "vulkan"
for Vulkan.
- "csmt" (REG_DWORD)
Enable or disable multi-threaded command stream features. This
existing setting has an additional valid bit-field value in this
release. Valid bit-fields in this release are:
- 0x1 Enable the multi-threaded command stream feature.
- 0x2 Enable serialization between multiple command streams in the
same application. This feature is primarily useful for
applications using multiple Direct3D instances from
different threads, in combination with OpenGL drivers that
do not properly support multi-threaded access themselves. As
of this release, this is known to affect Microsoft Office
2013 and later versions in combination with the Mesa-based
Nouveau driver.
Note that this setting is a bit-field; in order to enable both
features above, set this to 0x3.
- Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "DirectDrawRenderer"
This setting was previously deprecated in favor of the "renderer"
setting, and has been removed in this release.
*** D3DX
- Drawing text using the ID3DXFont interface is implemented.
- The ID3D12ShaderReflection shader reflection interface is
implemented.
- The D3DX10GetImageInfoFromMemory() and related image information
query functions are implemented.
*** Graphics
- Drawing arcs, ellipses and rounded rectangles using the Direct2D API
is implemented.
- The standard sRGB color profile is installed into the prefix, for
applications that expect to load it directly.
- The Null display driver can be used as a proper display driver, for
cases when a user interface is not needed.
- WindowsCodecs supports decoding images in DDS (DirectDraw Surface)
and JPEG-XR formats, as well as encoding images to GIF format.
- The Vulkan driver creates the JSON manifest and registry entry used
by the official Vulkan loader.
- The Vulkan driver supports up to version 1.2.162 of the Vulkan spec.
- There are a number of improvements in GdiPlus, including support for
widening lines, more hatch styles, and more record types in
metafiles.
*** Audio / video
- The Media Foundation framework is more complete, including:
- Initial Media Session implementation for state changes and data
flow.
- Initial Streaming Audio Renderer (SAR) pipeline component
implementation.
- Initial Video Renderer implementation, a pipeline component
hosting EVR mixer and presenter.
- Initial Topology Loader implementation.
- Various fixes for the Source Reader.
- Initial Media Engine implementation.
- Asynchronous queues functionality is moved to rtworkq.dll.
- The AMStream (ActiveMovie Multimedia Streaming) library is more
fully implemented, including support for streaming and sample
management.
- The Video Mixing Renderer supports the following features:
- Windowless and renderless mode.
- Automatic stretching and resizing of the video to match the window
size.
- Hardware-accelerated color space conversion of YUV formats, if
supported by the underlying Direct3D implementation.
- Preservation of video aspect ratio via letterboxing.
- The Video Mixing Renderer is used as the default video renderer if
supported by the underlying Direct3D implementation, replacing the
GDI video renderer.
- The DirectShow File Writer filter is implemented.
- The DirectX Media Object (DMO) Wrapper filter is implemented. DMOs
can be automatically enumerated and plugged into the filter graph.
- The video capture filter supports reporting more information about
video formats, including supported sizes and frame rates.
- More Media Detector APIs are implemented.
- The GStreamer wrapper filter supports video and audio format
conversion within the GStreamer pipeline. This obviates the need for
extra transform filters, and accordingly the GStreamer-based YUV to
ARGB converter, audio converter, and mp3 decoder have been
removed. Any video can be output in any of several RGB and YUV
formats, allowing for better performance in some cases.
- The Enhanced Video Renderer (EVR) contains an initial default mixer
and presenter implementation using DXVA2 API.
- The XACT3 (Cross-platform Audio Creation) engine library and
interfaces are implemented through FAudio.
*** Text and fonts
- Text console support is reimplemented, using the architecture of
recent Windows versions, which is closer to the Unix way of doing
things. In particular:
- Pseudo consoles are implemented (equivalent to Unix pseudo TTYs).
- All console handling is done in the ConHost process. WineConsole
is now only a thin wrapper around ConHost.
- ConHost handles VT escape sequences, meaning that the Unix Curses
library is no longer needed.
- Default shaping features are enabled for all scripts in
DirectWrite. All types of GSUB/GPOS lookups are supported.
- In DirectWrite, CMAP data is read directly from the font without
global cache or a need to create FreeType objects, for improved
performance.
- The font initialization in GDI32 avoids loading fonts through
FreeType when possible, for faster startup times. The font registry
cache is also more efficient.
- The Uniscribe support in the USP10 library is moved into GDI32, as
per recent Windows versions.
- An initial version of the Webdings font is implemented, with only a
few glyphs at this point.
*** Input devices
- Raw input devices and messages are implemented, and used by
DirectInput instead of less efficient low-level hooks.
- An initial USB kernel driver is implemented, based on the LibUSB
library, to provide access to USB devices.
- Mouse position history is implemented, for games that want more
precise mouse positions.
- SDL controller mappings can be set through the
'SDL_GAMECONTROLLERCONFIG' environment variable.
- Plug & Play device notifications are implemented.
*** Desktop integration
- Display settings are retrieved through XRandR 1.4 if available. This
also provides support for multiple display orientations.
- There is a consistent view of the graphics adapters across the X11,
OpenGL and Vulkan APIs.
- The desktop work area layout is supported on multi-monitor setups
using the _GTK_WORKAREAS property.
*** Internationalization
- Unicode character tables are based on version 13.0.0 of the Unicode
Standard.
- Unicode normalization is fully standard-compliant, including support
for Hangul, supplementary character planes, and IDN normalization.
- Codepage and other Unicode tables are stored in external NLS files
compatible with Windows. This makes it possible to test with the
native files to track down character mapping issues.
- Codepage mapping tables are generated from Microsoft's Open
Specification data for better compatibility.
- Unicode linguistic case mappings for languages like Turkish are
implemented.
- Codepage 708 (Arabic ASMO) is supported.
Bugs fixed in 6.0.2 (total 51):
12076 Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers\Etc\{services,host}' exist (Informix Database apps, Autodesk 3ds Max 9, SAP GUI)
12457 Multiple apps crash with NotImplementedException at IWebBrowser2.get_LocationName() (SharpDevelop 2.2, Clarion Enterprise Edition 9.0.10376)
19756 Date/time picker doesn't notify app about checkbox changes (TaskCoach: Cannot add new task with a due date)
24893 File/folder context menus have missing options (Explorer++, Double Commander)
29903 Multiple games and applications fail to enumerate processes due to 'wtsapi32.WTSEnumerateProcessesW' stub (Visual Studio 2005, .NET 2.0 SDK DbgCLR, Akamai DL Manager, Dekaron)
32749 Implement atl100.dll.AtlAxDialogBoxW to show error dialogs (Visual Studio 2010 (10.0) Express Edition)
35539 Proteus 8 demo fails to install
36010 Changing font resolution on winecfg changes default main font to Tahoma
39841 IShellFolder.CreateViewObject() doesn't support IID_IContextMenu (Double Commander "Error: invalid parameter" when right-clicking on an empty space)
44813 Some applications fail when calling ntdll.NtReadFile on a directory (expect STATUS_INVALID_DEVICE_REQUEST)
46817 Steam Big Picture needs d3d11_device_CreateDeviceContextState
47296 Google drive crashes before login
47310 Canon TS3100 series full driver and software package refuses to install: "To install the software, you must be logged in to an administrator account."
48123 Word 97 crashes after calling stub URLMoniker_ComposeWith
48412 Multiple games have lighting issue and textures blinking (Call of Duty 4: Modern Warfare, Call of Duty: Modern Warfare 2)
48507 osu! icons in the setting and music player are not being rendered
49434 Wine builtin 'iexplore' crashes upon loading Google Account login page
49663 Performance regression in TrackMania Nations Forever
49954 Multiple games and applications need msvcp140_1._Aligned_get_default_resource (EVE Online Launcher, QT Creator 3.x, Kate, Snap Camera 1.11.x, Cppcheck 2.3)
50119 Dark Souls II: Scholar of the First Sin shows a white screen with vulkan renderer
50147 Microsoft WebView2 "evergreen bootstrapper"/installer needs IStream::CopyTo()
50168 Error when running notepad.exe: Failed to start RpcSs service
50318 'HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath' registry entry has non-standard value
50362 Fl Studio 20.8 crashes on startup
50436 Upstream FAudio pkg-config file not found
50492 Amazon Chime 4.x (.NET 4.5 app) reports 'Failed to InjectErrorHandlingScript, Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.HTMLHeadElement''
50628 Fairy Tale About Father Frost, Ivan and Nastya crashes on DDERR_SURFACE_LOST
50673 FlatOut 2 crashes on launch
50697 Multiple applications crash due to DHTMLEdit 'IOleObject::GetExtent' stub (Atomic Mail Sender 4.2x)
50725 Nvidia FrameView 1.2 (Win10 app) crashes on unimplemented function tdh.dll.TdhLoadManifestFromBinary
50756 "Path is invalid." when using "SVN update" with SVN for Windows, which is used by TortoiseSVN
50791 NtQueryObject( ..., ObjectBasicInformation, NULL, 0, &retLen) returns incorrect NTSTATUS error code and no buffer size (EditSection, Google sandbox-attacksurface-analysis-tools v1.1.x)
50805 Win32_OperatingSystem class is missing 'ProductType' (affects Chocolatey)
50809 Multiple .NET 4.x application installers fail due to 'MsiNetAssemblySupport' property returning incorrect version (IronPython 2.7.5)
50811 gdi32.res fails to compile when freetype pkg-config cflags contain "-pthread"
50818 Mahou Shoujo Shoumou Sensen - DeadΩAegis (Trial) shows unreadable text in the message box.
50829 Process Hacker 2.38 crashes on unimplemented function dbghelp.dll.SymFromNameW
50830 Process Hacker 2.38 crashes on unimplemented function advapi32.dll.LsaEnumerateAccounts
50845 jscript crashes on internal assert(0) in PE build with clang
50854 Multiple Windows 10 application installers refuse to install, requiring 'advapi32.dll' version >= 6.3.10000.0 (Elgato Stream Deck 4.9.3, Windows Admin Center 2103)
50875 HTMLElement_get_offsetParent crashes wine if a NULL offset parent is expected (VbsEdit)
50885 PdfSharp creates invalid PDF files
50925 Error fetching public key in GetRSAKeyFromCert - File not found
50952 Legends of Runeterra crashes at launch
50960 NETCoreCheck from .NET Deployment Tools crashes on unimplemented function api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vfwprintf_p
51035 Alacritty v0.7.2 portable crashes: SetEnvironmentVariable ("some_non-existant_var", NULL) should return TRUE
51041 Scalable fonts with fsCsb[0] == 0 are not enumerated correctly
51076 demangle_datatype in ucrtbase crash in vc2019 x86 mode
51117 Silverlight_x64.exe (part of LEGO MINDSTORMS EV3 Home Edition installer) crashes
51324 Imperium Great Battles of Rome can't play videos
51631 winhttp:winhttp and winhttp:notification fail because echo.websocket.org is out of commission
*** Kernel
- Windows version compatibility mode is implemented, to only report
the newest Windows versions to applications that have declared that
they support them.
- INI file mappings are implemented, to redirect .ini file entries to
registry keys.
- Many more NT kernel objects and functions are implemented, to
support anti-cheat systems that load kernel drivers.
- A NetIO.sys kernel driver is implemented, to support copy protection
drivers that want to access the network.
- AVX registers are supported in register contexts and exception
handling on x86 platforms.
- The Kernel User Shared Data block contains up-to-date timestamps, to
avoid system calls when retrieving the current time counter.
*** C Runtime
- The C runtime import libraries provide the necessary runtime support
so that PE modules no longer depend on the MinGW runtime.
- The Wine modules are all built against the new UCRT runtime.
- Winegcc uses the new UCRT runtime by default, unless an older C
runtime library is explicitly imported.
- The C runtime supports Windows locales that use the UTF-8 codepage.
- A number of C runtime math functions are implemented internally
based on code from the Musl C library, to avoid depending on the
system math library.
- Floating point formatting is reimplemented in the C runtime to avoid
depending on the system printf function.
*** Internet and networking
- The Gecko engine is updated to version 2.47.2.
- The WebSocket API is implemented.
- JScript and VBScript report the correct location for errors in
scripts.
- There are various improvements to the LDAP and Active Directory
Service support.
- There is an initial implementation of the NDIS network driver.
- The OLE data link dialog supports configuring the ODBC data
connection.
*** Cryptography
- The BCrypt library supports additional algorithms, including DSA
keys and the 3DES cipher.
- The DSSENH (Digital Signatures) Cryptographic Provider is
implemented, and enabled by default.
*** Alternative platforms
- Support for exception handling and stack unwinding on ARM platforms
(both 32-bit and 64-bit) should be on par with the x86
architectures.
- There is initial support for ARM64 on macOS, for the new Apple
Silicon.
- Support for the obsolete 32-bit PowerPC architecture is removed. It
had been broken for some time already.
- Case-insensitive filesystem optimizations are enabled on FreeBSD.
*** Builtin applications
- WineCfg supports querying and modifying the configured Windows
version through the command line with a new /v option.
- The Shell Folders configuration in WineCfg also supports the
Downloads and Templates folders.
- The removable drive autodetection has been removed in WineCfg, now
that the dbus dynamic device support is stable.
- The FSUTIL tool supports a 'hardlink' command to create hard links.
- The FIND tool supports searching multiple files, in addition to
standard input.
- The WHOAMI tool is implemented to display the current username.
*** Development tools
- Winegcc supports generating PDB files when building PE DLLs, for
compatibility with Windows debuggers.
- DbgHelp supports GNU-style debug information also in PE files.
- Winegcc can generate an import library directly when building a DLL,
with the '-Wl,--out-implib' option.
- The various build tools also look for include and library files in
paths relative to the tool binary, to allow relocatable Winelib
installations.
- The Resource Compiler (wrc) and Message Compiler (wmc) use the
external NLS files for codepage conversions. If necessary, the path
to the external files can be specified with the '--nls-dir' option.
- There are various improvements in the gdb proxy mode in WineDbg,
including support for hardware watchpoints, and for loading symbols
from PE modules.
- The Message Compiler (wmc) handles the Unicode BOM to detect the
input file format.
- The Resource Compiler (wrc) has a '--utf8' option to specify UTF-8
input, as an alternative to putting #pragma codepage inside the
file.
- The IDL compiler (widl) supports a WinRT mode, and various
constructs specific to that mode.
- The IDL compiler (widl) supports custom attributes in type
libraries.
*** Build infrastructure
- Makefiles are no longer recursive; a single Makefile is generated to
build the entire tree, with correct dependencies between modules.
- Automake-style silent build rules are supported. They are disabled
by default, but can be enabled by passing the '--enable-silent-rules'
option to configure.
- The new LLVM-MinGW compiler is supported for PE cross-compilation.
- Building with the Clang compiler in MSVC mode is supported.
- A '-syscall' entry point flag is supported in spec files, to
generate NT-style system call entry points.
*** Miscellaneous
- The Mono engine is updated to version 5.1.1, containing the open
sourced parts of the WPF framework, and initial replacements for
some of the closed source parts.
- Most modules have been converted to use wide-character string
constants like L"abc" instead of explicit arrays, for more readable
code.
- Many of the less common timezones (for various remote islands) are
supported.
- Listviews and image buttons are supported in MSI installers.
- There is initial support for the Print Ticket API.
*** New external dependencies
- The LibUSB library is used to implement the USB driver.
- The VkD3D-Shader library is used to translate Direct3D shaders to
SPIR-V shaders for the WineD3D Vulkan renderer.
- The Curses, GLU, and Zlib libraries are no longer used.
----------------------------------------------------------------
Changes since 6.0.1:
Akihiro Sagawa (2):
gdi32: Move otmEMSquare initialization to freetype_load_font.
gdi32: Fix text metrics used in EnumFonts families.
Alexandre Julliard (7):
makefiles: Only allow includes and defines in pkg-config flags.
configure: Fix package name for FAudio.
ws2_32: Install network database files.
wine.inf: Fix the Tcpip database path.
explorer: Store the graphics driver basename instead of the full path.
gdi32/tests: Regenerate ttf files with the official fontforge version.
gdiplus/tests: Regenerate ttf files with the official fontforge version.
Alistair Leslie-Hughes (1):
gdi32: Don't override FontSubstitutes on a DPI only change.
Andrew Eikum (1):
windowscodecs: Avoid types deprecated in libtiff 4.3.
Andrey Turkin (1):
ieframe: Implement IWebBrowser2::get_LocationName().
Anton Baskanov (4):
amstream/tests: Add a test for event parameter of IDirectDrawStreamSample::Update.
amstream: Support the event parameter in IDirectDrawStreamSample::Update.
fonts: Fix breve glyph position in 16px MS Sans Serif.
fonts: Fix dotaccent glyph position in Small Fonts.
Arkadiusz Hiler (3):
msvcp90: Add helpers for creating base class RTTI.
msvcp140_1: Implement the DLL.
kernelbase: Fix GetFileVersionInfo*() crashes with malformed resources.
Austin English (2):
tdh: Add TdhLoadManifestFromBinary stub.
readme: Document Libera Chat migration.
Brendan Shanks (2):
wined3d: Add GPU information for Intel UHD Graphics 630.
configure: Work around Xcode 12's ld assuming 16KB page sizes.
Damjan Jovanovic (6):
comctl32: Send DTN_DATETIMECHANGE when the checkbox changes too.
shell32: The menu wIDs in hmenu were rebased by idCmdFirst.
shell32: Use a smaller range of shellview menu IDs in our IContextMenu functions.
shell32: Implement IID_IContextMenu in CreateViewObject() methods for shell folders that support it.
shell32/tests: Fix test failures from ad412b11a7ea17b708994ed6609f8ed0cbfb169b.
shell32: Fix a lock leak.
David Torok (1):
ntdll: Add NtCreateThread stub.
David White (1):
urlmon: Implement IMoniker_ComposeWith() for url monikers.
Dmitry Kislyuk (1):
mshtml: Fix NULL offset parent handling in IHTMLElement::get_offsetParent.
Dmitry Timoshkov (3):
crypt32: Implement CryptImportPublicKeyInfoEx2.
crypt32: Add support for importing RSA public keys with BCrypt.
ntdll: Exclude large integer APIs from relay tracing.
Esme Povirk (1):
gdiplus: Implement reference counting for private font families.
François Gouget (3):
tests: Trace the filename in winetest_wait_child_process().
tests: Add ignore_exceptions().
make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
Gijs Vermeulen (11):
wtsapi32: Avoid calling GetUserNameW() twice in WTSQuerySessionInformationW(WTSUserName).
wtsapi32/tests: Test returned username for WTSQuerySessionInformation(WTSUserName).
kernelbase: Reject SORT_DIGITSASNUMBERS in CompareStringA().
kernelbase: Support FileRenameInfo in SetFileInformationByHandle.
ntdll: Return STATUS_INFO_LENGTH_MISMATCH when len is too small in NtQueryObject(ObjectBasicInformation).
dbghelp: Implement SymFromNameW().
ntdll/tests: Refactor RtlSetEnvironmentVariable() tests.
ntdll: Don't fail when trying to remove the value of a non-existant variable in RtlSetEnvironmentVariable().
amstream: Handle AMMSF_RENDERALLSTREAMS in IAMMultiMediaStream::OpenFile().
winecfg: Disable virtual desktop when using macdrv.
secur32: Default to building with GnuTLS support on macOS, if present.
Haidong Yu (2):
shell32: Fix a memory leak.
shell32: Fix a memory leak.
Hans Leidekker (3):
ntdll: Fall back to reading /dev/urandom if getrandom() is not supported.
msi: Fix building the fusion filename.
winhttp: Use ws.ifelse.io for websocket tests.
Haoyang Chen (2):
gdiplus: Avoid filtering of special characters.
gdi32: Fix a memory leak.
Jacek Caban (3):
mshtml: Support DispHTMLHeadElement interface.
jscript: Use quiet NaNs in jsval.
msvcrt: Add sincos to importlib.
Jan Sikorski (1):
wined3d: Handle different slice pitches in uncompressed texture updates.
John Zourlios (1):
kernelbase: Accept LINGUISTIC_IGNOREDIACRITIC & SORT_DIGITSASNUMBERS in CompareStringEx().
Lauri Kenttä (1):
msvcrt: Handle negative zero, infinity and nan in _ecvt and others.
Louis Lenders (5):
wtsapi32: Implement WTSQuerySessionInformation(WTSDomainName).
wbemprox: Add ProductType to win32_operatingsystem class.
advapi32: Update version resource.
advapi32: Add stub for LsaEnumerateAccounts.
kernel32: Remove entry for BasepDebugDump.
Matteo Bruni (2):
wined3d: Handle blits to Vulkan swapchains not matching the D3D swapchain.
wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
Michele Dionisio (1):
msvcrt: Add __stdio_common_vfprintf_p and __stdio_common_vfwprintf_p.
Nguyễn Chính Hữu (1):
wined3d: Add GPU information for NVIDIA GT 1030.
Nikolay Sivov (2):
gdi32: Enumerate scalable fonts with zero charset mask as OEM.
shcore/stream: Implement generic CopyTo().
Owen Rudge (1):
winspool: Filter invalid characters when creating the PPD filename.
Paul Gofman (2):
ddraw/tests: Also test RT caps for software device.
vcruntime140_1: Support two continuation addresses for catchblock.
Piotr Caban (7):
msvcp90: Add macro that define type_info vtable.
msvcrt: Cleanup _ecvt tests.
msvcrt/tests: Link to malloc/free functions in cpp tests.
msvcrt/tests: Cleanup datatype demangle tests.
msvcrt: Fix _unDName crash when demangling class function pointer.
msvcrt: Improve memmove performance on i386 and x86_64 architectures.
winemac.drv: Don't filter non active displays out.
Qian Hong (1):
atl: Implement AtlAxDialogBox().
Roman Pišl (2):
kernel32/tests: Add test for FileRenameInfo in SetFileInformationByHandle.
kernelbase: Convert DOS to NT path for FileRenameInfo in SetFileInformationByHandle.
Rémi Bernon (3):
d3d11: Add initial implementation of CreateDeviceContextState.
dinput: Wait for the hook thread to exit when stopping it.
dinput: Prevent a device interface leak when enumerating.
Sebastian Lackner (1):
ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory.
Torge Matthies (1):
winex11.drv: Avoid race condition in X11 error handling.
Vijay Kiran Kamuju (3):
dhtmled.ocx: Implement IOleObject::SetExtent and IOleObject::GetExtent functions.
dhtmled.ocx: Add stub IOleControl interface.
dhtmled.ocx: Fake success in IDHTMLEdit::NewDocument.
Zebediah Figura (5):
msi: Check for a NULL return from deformat_string() when checking for failure.
include: Factor out winetest_printf().
include: Introduce winetest_push_context() and winetest_pop_context().
wtsapi32: Implement WTSEnumerateProcessesW().
wine.inf: Install the protocol database at etc\protocol.
Zhiyi Zhang (1):
ntoskrnl.exe: Exclude large integer APIs from relay tracing.
--
Alexandre Julliard
julliard@winehq.org
Michael Stefaniuc
mstefani@winehq.org
......@@ -194,6 +194,7 @@ Bernd Fuhrmann
Bernd Herd
Bernd Paysan
Bernd Schmidt
Bernhard Kölbl
Bernhard Loos
Bernhard Reiter
Bernhard Rosenkränzer
......@@ -395,6 +396,7 @@ David Quintana
David Smith
David Torok
David Welch
David White
David Woodhouse
Davin McCall
Dean M Greer
......@@ -510,6 +512,7 @@ Florian Köberle
Florian Pelz
Florian Tobias Schandinat
Florian Will
Floris Renaud
Fons Botman
Francesco Di Punzio
Francesco Noferi
......@@ -824,6 +827,7 @@ John Sheu
John Thomson
John Voltz
John Zero
John Zourlios
Jonas Maebe
Jonas Wielicki
Jonathan Buzzard
......@@ -1150,6 +1154,7 @@ Michal Pasternak
Michal Suchanek
Michał Wiernowolski
Michał Ziętek
Michele Dionisio
Michiel van Loon
Miguel de Icaza
Mihail Ivanchev
......@@ -1198,6 +1203,7 @@ Neil Olver
Neil Skrypuch
Nemeth Peter
Nerijus Baliunas
Nguyễn Chính Hữu
Nicholas Niro
Nick Bowler
Nick Burns
......@@ -1473,6 +1479,7 @@ Samuele Guerrini
Samuel Lidén Borell
Sander van Leeuwen
Sandijs Ribaks
Sanghoon Park
Santosh Siddheshwar
Sasha Slijepcevic
Sato Kazuyuki
......
......@@ -75,7 +75,7 @@ Supported file systems:
Basic requirements:
You need to have the X11 development include files installed
(called xlib6g-dev in Debian and XFree86-devel in Red Hat).
(called xorg-dev in Debian and libX11-devel in Red Hat).
Of course you also need "make" (most likely GNU make).
......@@ -159,7 +159,7 @@ Bugs: Report bugs to Wine Bugzilla at https://bugs.winehq.org
Please search the bugzilla database to check whether your
problem is already known or fixed before posting a bug report.
IRC: Online help is available at channel #WineHQ on irc.freenode.net.
IRC: Online help is available at channel #WineHQ on irc.libera.chat.
Git: The current Wine development tree is available through Git.
Go to https://www.winehq.org/git for more information.
......
Wine version 6.0
Wine version 6.0.2
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for Wine 6.0.
# Generated by GNU Autoconf 2.69 for Wine 6.0.2.
#
# Report bugs to <wine-devel@winehq.org>.
#
......@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Wine'
PACKAGE_TARNAME='wine'
PACKAGE_VERSION='6.0'
PACKAGE_STRING='Wine 6.0'
PACKAGE_VERSION='6.0.2'
PACKAGE_STRING='Wine 6.0.2'
PACKAGE_BUGREPORT='wine-devel@winehq.org'
PACKAGE_URL='https://www.winehq.org'
 
......@@ -2492,7 +2492,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures Wine 6.0 to adapt to many kinds of systems.
\`configure' configures Wine 6.0.2 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -2562,7 +2562,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of Wine 6.0:";;
short | recursive ) echo "Configuration of Wine 6.0.2:";;
esac
cat <<\_ACEOF
 
......@@ -2711,8 +2711,8 @@ Some influential environment variables:
SDL2_CFLAGS C compiler flags for sdl2, overriding pkg-config
SDL2_LIBS Linker flags for sdl2, overriding pkg-config
FAUDIO_CFLAGS
C compiler flags for faudio, overriding pkg-config
FAUDIO_LIBS Linker flags for faudio, overriding pkg-config
C compiler flags for FAudio, overriding pkg-config
FAUDIO_LIBS Linker flags for FAudio, overriding pkg-config
CAPI20_CFLAGS
C compiler flags for capi20, overriding pkg-config
CAPI20_LIBS Linker flags for capi20, overriding pkg-config
......@@ -2816,7 +2816,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
Wine configure 6.0
Wine configure 6.0.2
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -3500,7 +3500,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by Wine $as_me 6.0, which was
It was created by Wine $as_me 6.0.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -8719,10 +8719,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
SYSTEMCONFIGURATION_LIBS="-framework SystemConfiguration"
 
 
WINELOADER_LDFLAGS="-Wl,-pie,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
WINELOADER_LDFLAGS="-Wl,-pie,-segalign,0x1000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
 
wine_can_build_preloader=yes
WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs -e _start -ldylib1.o -Wl,-image_base,0x7d400000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs -e _start -ldylib1.o -Wl,-image_base,0x7d400000,-segalign,0x1000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist,-segaddr,WINE_4GB_RESERVE,0x100000000"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-no_new_main -e _main" >&5
$as_echo_n "checking whether the compiler supports -Wl,-no_new_main -e _main... " >&6; }
if ${ac_cv_cflags__Wl__no_new_main__e__main+:} false; then :
......@@ -14491,16 +14491,7 @@ $as_echo "$as_me:${as_lineno-$LINENO}: gstreamer-1.0 gstreamer-video-1.0 gstream
$as_echo "$as_me:${as_lineno-$LINENO}: gstreamer-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 libs: $GSTREAMER_LIBS" >&5
ac_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $GSTREAMER_CFLAGS"
ac_gst_incl=""
for i in $GSTREAMER_CFLAGS
do
case "$i" in
-I*) ac_gst_incl="$ac_gst_incl $i";;
esac
done
GSTREAMER_CFLAGS=$ac_gst_incl
CPPFLAGS="$ac_save_CPPFLAGS $GSTREAMER_CFLAGS"
ac_fn_c_check_header_mongrel "$LINENO" "gst/gst.h" "ac_cv_header_gst_gst_h" "$ac_includes_default"
ac_fn_c_check_header_mongrel "$LINENO" "gst/gst.h" "ac_cv_header_gst_gst_h" "$ac_includes_default"
if test "x$ac_cv_header_gst_gst_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gint64 defined by gst/gst.h is indeed 64-bit" >&5
$as_echo_n "checking whether gint64 defined by gst/gst.h is indeed 64-bit... " >&6; }
......@@ -15016,19 +15007,19 @@ if test "x$with_faudio" != "xno"
then
if ${FAUDIO_CFLAGS:+false} :; then :
if ${PKG_CONFIG+:} false; then :
FAUDIO_CFLAGS=`$PKG_CONFIG --cflags faudio 2>/dev/null`
FAUDIO_CFLAGS=`$PKG_CONFIG --cflags FAudio 2>/dev/null`
fi
fi
 
if ${FAUDIO_LIBS:+false} :; then :
if ${PKG_CONFIG+:} false; then :
FAUDIO_LIBS=`$PKG_CONFIG --libs faudio 2>/dev/null`
FAUDIO_LIBS=`$PKG_CONFIG --libs FAudio 2>/dev/null`
fi
fi
 
FAUDIO_LIBS=${FAUDIO_LIBS:-"-lFAudio"}
$as_echo "$as_me:${as_lineno-$LINENO}: faudio cflags: $FAUDIO_CFLAGS" >&5
$as_echo "$as_me:${as_lineno-$LINENO}: faudio libs: $FAUDIO_LIBS" >&5
$as_echo "$as_me:${as_lineno-$LINENO}: FAudio cflags: $FAUDIO_CFLAGS" >&5
$as_echo "$as_me:${as_lineno-$LINENO}: FAudio libs: $FAUDIO_LIBS" >&5
ac_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $FAUDIO_CFLAGS"
for ac_header in FAudio.h
......@@ -20534,6 +20525,7 @@ wine_fn_config_makefile dlls/msvcp120_app enable_msvcp120_app
wine_fn_config_makefile dlls/msvcp140 enable_msvcp140
wine_fn_config_makefile dlls/msvcp140/tests enable_tests
wine_fn_config_makefile dlls/msvcp140_1 enable_msvcp140_1
wine_fn_config_makefile dlls/msvcp140_1/tests enable_tests
wine_fn_config_makefile dlls/msvcp60 enable_msvcp60
wine_fn_config_makefile dlls/msvcp60/tests enable_tests
wine_fn_config_makefile dlls/msvcp70 enable_msvcp70
......@@ -21681,7 +21673,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by Wine $as_me 6.0, which was
This file was extended by Wine $as_me 6.0.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -21752,7 +21744,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
Wine config.status 6.0
Wine config.status 6.0.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......
......@@ -742,10 +742,10 @@ case $host_os in
AC_SUBST(APPKIT_LIBS,"-framework AppKit")
AC_SUBST(SYSTEMCONFIGURATION_LIBS,"-framework SystemConfiguration")
WINELOADER_LDFLAGS="-Wl,-pie,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
WINELOADER_LDFLAGS="-Wl,-pie,-segalign,0x1000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
wine_can_build_preloader=yes
WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs -e _start -ldylib1.o -Wl,-image_base,0x7d400000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs -e _start -ldylib1.o -Wl,-image_base,0x7d400000,-segalign,0x1000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist,-segaddr,WINE_4GB_RESERVE,0x100000000"
WINE_TRY_CFLAGS([-Wl,-no_new_main -e _main],
[WINEPRELOADER_LDFLAGS="-Wl,-no_new_main $WINEPRELOADER_LDFLAGS"
WINE_TRY_CFLAGS([-Wl,-no_new_main -e _main -nostartfiles -nodefaultlibs],,
......@@ -1588,16 +1588,7 @@ dnl **** Check for gstreamer ****
if test "x$with_gstreamer" != "xno"
then
WINE_PACKAGE_FLAGS(GSTREAMER,[gstreamer-1.0 gstreamer-video-1.0 gstreamer-audio-1.0],,,,
[ac_gst_incl=""
for i in $GSTREAMER_CFLAGS
do
case "$i" in
-I*) ac_gst_incl="$ac_gst_incl $i";;
esac
done
GSTREAMER_CFLAGS=$ac_gst_incl
CPPFLAGS="$ac_save_CPPFLAGS $GSTREAMER_CFLAGS"
AC_CHECK_HEADER([gst/gst.h],
[AC_CHECK_HEADER([gst/gst.h],
[AC_MSG_CHECKING([whether gint64 defined by gst/gst.h is indeed 64-bit])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <gst/gst.h>]],
[[static int a[sizeof(gint64) > 4 ? 1 : -1]; if (a[0]) return 0;]])],
......@@ -1704,7 +1695,7 @@ WINE_NOTICE_WITH(sdl,[test "x$ac_cv_lib_soname_SDL2" = "x"],
dnl **** Check for FAudio ****
if test "x$with_faudio" != "xno"
then
WINE_PACKAGE_FLAGS(FAUDIO,[faudio],[-lFAudio],,,
WINE_PACKAGE_FLAGS(FAUDIO,[FAudio],[-lFAudio],,,
[AC_CHECK_HEADERS([FAudio.h],
[WINE_CHECK_SONAME(FAudio,FAudioCreate,,,[$FAUDIO_LIBS],[[libFAudio*]])])
WINE_CHECK_LIB_FUNCS([FAudio_CommitOperationSet \
......@@ -3456,6 +3447,7 @@ WINE_CONFIG_MAKEFILE(dlls/msvcp120_app)
WINE_CONFIG_MAKEFILE(dlls/msvcp140)
WINE_CONFIG_MAKEFILE(dlls/msvcp140/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcp140_1)
WINE_CONFIG_MAKEFILE(dlls/msvcp140_1/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcp60)
WINE_CONFIG_MAKEFILE(dlls/msvcp60/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcp70)
......
......@@ -452,7 +452,7 @@
@ stub LsaDelete
@ stdcall LsaDeleteTrustedDomain(ptr ptr)
@ stdcall LsaEnumerateAccountRights(ptr ptr ptr ptr)
@ stub LsaEnumerateAccounts
@ stdcall LsaEnumerateAccounts(ptr ptr ptr long ptr)
@ stdcall LsaEnumerateAccountsWithUserRight(ptr ptr ptr ptr)
@ stub LsaEnumeratePrivileges
@ stub LsaEnumeratePrivilegesOfAccount
......
......@@ -236,6 +236,22 @@ NTSTATUS WINAPI LsaEnumerateAccountRights(
return STATUS_OBJECT_NAME_NOT_FOUND;
}
/******************************************************************************
* LsaEnumerateAccounts [ADVAPI32.@]
*
*/
NTSTATUS WINAPI LsaEnumerateAccounts(
LSA_HANDLE policy,
PLSA_ENUMERATION_HANDLE context,
PVOID *buffer,
ULONG maxlen,
PULONG count)
{
FIXME("(%p,%p,%p,%d,%p) stub\n", policy, context, buffer, maxlen, count);
if (count) *count = 0;
return STATUS_NO_MORE_ENTRIES;
}
/******************************************************************************
* LsaEnumerateAccountsWithUserRight [ADVAPI32.@]
*
......
......@@ -18,9 +18,9 @@
#define WINE_FILEDESCRIPTION_STR "Wine advapi32 dll"
#define WINE_FILENAME_STR "advapi32.dll"
#define WINE_FILEVERSION 5,1,2600,2180
#define WINE_FILEVERSION_STR "5.1.2600.2180"
#define WINE_PRODUCTVERSION 5,1,2600,2180
#define WINE_PRODUCTVERSION_STR "5.1.2600.2180"
#define WINE_FILEVERSION 10,0,10240,16384
#define WINE_FILEVERSION_STR "10.0.10240.16384"
#define WINE_PRODUCTVERSION 10,0,10240,16384
#define WINE_PRODUCTVERSION_STR "10.0.10240.16384"
#include "wine/wine_common_ver.rc"
......@@ -77,6 +77,7 @@ struct ddraw_sample
STREAM_TIME end_time;
BOOL continuous_update;
CONDITION_VARIABLE update_cv;
HANDLE external_event;
struct list entry;
HRESULT update_hr;
......@@ -91,6 +92,8 @@ static void remove_queued_update(struct ddraw_sample *sample)
sample->busy = FALSE;
list_remove(&sample->entry);
WakeConditionVariable(&sample->update_cv);
if (sample->external_event)
SetEvent(sample->external_event);
}
static void flush_update_queue(struct ddraw_stream *stream, HRESULT update_hr)
......@@ -1583,12 +1586,6 @@ static HRESULT WINAPI ddraw_sample_Update(IDirectDrawStreamSample *iface,
return E_NOTIMPL;
}
if (event)
{
FIXME("Event parameter support is not implemented!\n");
return E_NOTIMPL;
}
EnterCriticalSection(&sample->parent->cs);
if (sample->parent->state != State_Running)
......@@ -1612,10 +1609,11 @@ static HRESULT WINAPI ddraw_sample_Update(IDirectDrawStreamSample *iface,
sample->update_hr = MS_S_NOUPDATE;
sample->busy = TRUE;
sample->external_event = event;
list_add_tail(&sample->parent->update_queue, &sample->entry);
WakeConditionVariable(&sample->parent->update_queued_cv);
if (flags & SSUPDATE_ASYNC)
if ((flags & SSUPDATE_ASYNC) || event)
{
LeaveCriticalSection(&sample->parent->cs);
return MS_S_PENDING;
......
......@@ -466,9 +466,12 @@ static HRESULT WINAPI multimedia_stream_OpenFile(IAMMultiMediaStream *iface,
if (SUCCEEDED(ret = IGraphBuilder_QueryInterface(This->graph, &IID_IFilterGraph2, (void **)&graph)))
{
ret = IFilterGraph2_RenderEx(graph, This->ipin, AM_RENDEREX_RENDERTOEXISTINGRENDERERS, NULL);
DWORD renderflags = (flags & AMMSF_RENDERALLSTREAMS) ? 0 : AM_RENDEREX_RENDERTOEXISTINGRENDERERS;
ret = IFilterGraph2_RenderEx(graph, This->ipin, renderflags, NULL);
if (ret == VFW_E_CANNOT_RENDER) ret = VFW_E_CANNOT_CONNECT;
else if (ret == VFW_S_PARTIAL_RENDER) ret = S_OK;
IFilterGraph2_Release(graph);
}
else
......
......@@ -450,6 +450,50 @@ static void test_openfile(const WCHAR *test_avi_path)
ref = IAMMultiMediaStream_Release(mmstream);
ok(!ref, "Got outstanding refcount %d.\n", ref);
mmstream = create_ammultimediastream();
hr = IAMMultiMediaStream_GetFilterGraph(mmstream, &graph);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(!graph, "Expected NULL graph.\n");
hr = IAMMultiMediaStream_GetFilter(mmstream, &filter);
ok(!!filter, "Expected non-NULL filter.\n");
ok(hr == S_OK, "Got hr %#x.\n", hr);
check_interface(filter, &IID_IMediaSeeking, FALSE);
hr = IAMMultiMediaStream_OpenFile(mmstream, test_avi_path, AMMSF_RENDERALLSTREAMS);
ok(hr == S_OK, "Got hr %#x.\n", hr);
check_interface(filter, &IID_IMediaSeeking, FALSE);
hr = IAMMultiMediaStream_GetFilterGraph(mmstream, &graph);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(!!graph, "Expected non-NULL graph.\n");
hr = IGraphBuilder_QueryInterface(graph, &IID_IMediaFilter, (void **)&media_filter);
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_RUN);
ok(hr == S_OK, "Got hr %#x.\n", hr);
clock = NULL;
IMediaFilter_GetSyncSource(media_filter, &clock);
ok(!!clock, "Expected non-NULL clock.\n");
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_STOP);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ref = IAMMultiMediaStream_Release(mmstream);
ok(!ref, "Got outstanding refcount %d.\n", ref);
IMediaFilter_Release(media_filter);
ref = IGraphBuilder_Release(graph);
ok(!ref, "Got outstanding refcount %d.\n", ref);
ref = IMediaStreamFilter_Release(filter);
ok(!ref, "Got outstanding refcount %d.\n", ref);
ref = IReferenceClock_Release(clock);
ok(!ref, "Got outstanding refcount %d.\n", ref);
mmstream = create_ammultimediastream();
hr = IAMMultiMediaStream_GetFilterGraph(mmstream, &graph);
ok(hr == S_OK, "Got hr %#x.\n", hr);
......@@ -7795,6 +7839,19 @@ static void test_ddrawstreamsample_update(void)
hr = IAMMultiMediaStream_SetState(mmstream, STREAMSTATE_RUN);
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IDirectDrawStreamSample_Update(stream_sample, 0, event, NULL, 0);
ok(hr == MS_S_PENDING, "Got hr %#x.\n", hr);
ok(WaitForSingleObject(event, 0) == WAIT_TIMEOUT, "Event should not be signaled.\n");
media_sample = ammediastream_allocate_sample(&source, test_data, sizeof(test_data));
hr = IMemInputPin_Receive(source.source.pMemInputPin, media_sample);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ref = IMediaSample_Release(media_sample);
ok(!ref, "Got outstanding refcount %d.\n", ref);
ok(WaitForSingleObject(event, 0) == 0, "Event should be signaled.\n");
hr = IDirectDrawStreamSample_Update(stream_sample, SSUPDATE_ASYNC, NULL, NULL, 0);
ok(hr == MS_S_PENDING, "Got hr %#x.\n", hr);
EXPECT_REF(stream_sample, 1);
......
......@@ -147,11 +147,11 @@
@ cdecl _o___std_type_info_destroy_list(ptr) ucrtbase._o___std_type_info_destroy_list
@ cdecl _o___std_type_info_name(ptr ptr) ucrtbase._o___std_type_info_name
@ cdecl _o___stdio_common_vfprintf(int64 ptr str ptr ptr) ucrtbase._o___stdio_common_vfprintf
@ stub _o___stdio_common_vfprintf_p
@ cdecl _o___stdio_common_vfprintf_p(int64 ptr str ptr ptr) ucrtbase._o___stdio_common_vfprintf_p
@ cdecl _o___stdio_common_vfprintf_s(int64 ptr str ptr ptr) ucrtbase._o___stdio_common_vfprintf_s
@ cdecl _o___stdio_common_vfscanf(int64 ptr str ptr ptr) ucrtbase._o___stdio_common_vfscanf
@ cdecl _o___stdio_common_vfwprintf(int64 ptr wstr ptr ptr) ucrtbase._o___stdio_common_vfwprintf
@ stub _o___stdio_common_vfwprintf_p
@ cdecl _o___stdio_common_vfwprintf_p(int64 ptr wstr ptr ptr) ucrtbase._o___stdio_common_vfwprintf_p
@ cdecl _o___stdio_common_vfwprintf_s(int64 ptr wstr ptr ptr) ucrtbase._o___stdio_common_vfwprintf_s
@ cdecl _o___stdio_common_vfwscanf(int64 ptr wstr ptr ptr) ucrtbase._o___stdio_common_vfwscanf
@ cdecl _o___stdio_common_vsnprintf_s(int64 ptr long long str ptr ptr) ucrtbase._o___stdio_common_vsnprintf_s
......
......@@ -2,11 +2,11 @@
@ cdecl __p__commode() ucrtbase.__p__commode
@ cdecl __p__fmode() ucrtbase.__p__fmode
@ cdecl __stdio_common_vfprintf(int64 ptr str ptr ptr) ucrtbase.__stdio_common_vfprintf
@ stub __stdio_common_vfprintf_p
@ cdecl __stdio_common_vfprintf_p(int64 ptr str ptr ptr) ucrtbase.__stdio_common_vfprintf_p
@ cdecl __stdio_common_vfprintf_s(int64 ptr str ptr ptr) ucrtbase.__stdio_common_vfprintf_s
@ cdecl __stdio_common_vfscanf(int64 ptr str ptr ptr) ucrtbase.__stdio_common_vfscanf
@ cdecl __stdio_common_vfwprintf(int64 ptr wstr ptr ptr) ucrtbase.__stdio_common_vfwprintf
@ stub __stdio_common_vfwprintf_p
@ cdecl __stdio_common_vfwprintf_p(int64 ptr wstr ptr ptr) ucrtbase.__stdio_common_vfwprintf_p
@ cdecl __stdio_common_vfwprintf_s(int64 ptr wstr ptr ptr) ucrtbase.__stdio_common_vfwprintf_s
@ cdecl __stdio_common_vfwscanf(int64 ptr wstr ptr ptr) ucrtbase.__stdio_common_vfwscanf
@ cdecl __stdio_common_vsnprintf_s(int64 ptr long long str ptr ptr) ucrtbase.__stdio_common_vsnprintf_s
......
......@@ -1404,22 +1404,52 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
* AtlAxDialogBoxW [atl100.35]
*
*/
INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
LPARAM dwInitParam)
INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE instance, const WCHAR *name,
HWND owner, DLGPROC proc, LPARAM param)
{
FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_w(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
return 0;
HRSRC resource;
HGLOBAL global;
DLGTEMPLATE *template;
INT_PTR ret;
TRACE("instance %p, name %s, owner %p, proc %p, param %#Ix\n",
instance, debugstr_w(name), owner, proc, param);
if (!(resource = FindResourceW(instance, name, (const WCHAR *)RT_DIALOG)))
return 0;
if (!(global = LoadResource(instance, resource)))
return 0;
if (!(template = AX_ConvertDialogTemplate(LockResource(global))))
return 0;
ret = DialogBoxIndirectParamW(instance, template, owner, proc, param);
HeapFree(GetProcessHeap(), 0, template);
return ret;
}
/***********************************************************************
* AtlAxDialogBoxA [atl100.36]
*
*/
INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc,
LPARAM dwInitParam)
INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE instance, const char *name,
HWND owner, DLGPROC proc, LPARAM param)
{
FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_a(lpTemplateName), hWndParent, lpDialogProc, dwInitParam);
return 0;
WCHAR *nameW;
int len;
INT_PTR ret;
if (IS_INTRESOURCE(name))
return AtlAxDialogBoxW(instance, (const WCHAR *)name, owner, proc, param);
len = MultiByteToWideChar(CP_ACP, 0, name, -1, NULL, 0);
if (!(nameW = malloc(len * sizeof(WCHAR))))
return 0;
MultiByteToWideChar(CP_ACP, 0, name, -1, nameW, len);
ret = AtlAxDialogBoxW(instance, nameW, owner, proc, param);
free(nameW);
return ret;
}
/***********************************************************************
......
......@@ -1033,6 +1033,7 @@ DATETIME_Button_Command (DATETIME_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
DWORD state = SendMessageW((HWND)lParam, BM_GETCHECK, 0, 0);
infoPtr->dateValid = (state == BST_CHECKED);
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
DATETIME_SendDateTimeChangeNotify(infoPtr);
}
return 0;
}
......
This diff is collapsed.
......@@ -2689,11 +2689,94 @@ done:
return !status;
}
static BOOL CNG_ImportPubKey(CERT_PUBLIC_KEY_INFO *pubKeyInfo, BCRYPT_KEY_HANDLE *key)
static BOOL CNG_ImportRSAPubKey(CERT_PUBLIC_KEY_INFO *info, BCRYPT_KEY_HANDLE *key)
{
DWORD size, modulus_len, i;
BLOBHEADER *hdr;
RSAPUBKEY *rsapubkey;
const WCHAR *rsa_algo;
BCRYPT_ALG_HANDLE alg = NULL;
BCRYPT_RSAKEY_BLOB *rsakey;
BYTE *s, *d;
NTSTATUS status;
if (!info->PublicKey.cbData)
{
SetLastError(NTE_BAD_ALGID);
return FALSE;
}
if (!CryptDecodeObjectEx(X509_ASN_ENCODING, RSA_CSP_PUBLICKEYBLOB, info->PublicKey.pbData,
info->PublicKey.cbData, CRYPT_DECODE_ALLOC_FLAG, NULL, &hdr, &size))
{
WARN("CryptDecodeObjectEx failed\n");
return FALSE;
}
if (hdr->aiKeyAlg == CALG_RSA_KEYX)
rsa_algo = BCRYPT_RSA_ALGORITHM;
else if (hdr->aiKeyAlg == CALG_RSA_SIGN)
rsa_algo = BCRYPT_RSA_SIGN_ALGORITHM;
else
{
FIXME("Unsupported RSA algorithm: %#x\n", hdr->aiKeyAlg);
CryptMemFree(hdr);
SetLastError(NTE_BAD_ALGID);
return FALSE;
}
if ((status = BCryptOpenAlgorithmProvider(&alg, rsa_algo, NULL, 0)))
goto done;
rsapubkey = (RSAPUBKEY *)(hdr + 1);
modulus_len = size - sizeof(*hdr) - sizeof(*rsapubkey);
if (modulus_len != rsapubkey->bitlen / 8)
FIXME("RSA pubkey has wrong modulus_len %u\n", modulus_len);
size = sizeof(*rsakey) + sizeof(ULONG) + modulus_len;
if (!(rsakey = CryptMemAlloc(size)))
{
status = STATUS_NO_MEMORY;
goto done;
}
rsakey->Magic = BCRYPT_RSAPUBLIC_MAGIC;
rsakey->BitLength = rsapubkey->bitlen;
rsakey->cbPublicExp = sizeof(ULONG);
rsakey->cbModulus = modulus_len;
rsakey->cbPrime1 = 0;
rsakey->cbPrime2 = 0;
d = (BYTE *)(rsakey + 1);
/* According to MSDN modulus and pubexp are in LE while
* BCRYPT_RSAKEY_BLOB is supposed to have them in BE format */
*(ULONG *)d = RtlUlongByteSwap(rsapubkey->pubexp);
d += sizeof(ULONG);
s = (BYTE *)(rsapubkey + 1);
for (i = 0; i < modulus_len; i++)
d[i] = s[modulus_len - i - 1];
status = BCryptImportKeyPair(alg, NULL, BCRYPT_RSAPUBLIC_BLOB, key, (BYTE *)rsakey, size, 0);
CryptMemFree(rsakey);
done:
CryptMemFree(hdr);
if (alg) BCryptCloseAlgorithmProvider(alg, 0);
if (status) SetLastError(RtlNtStatusToDosError(status));
return !status;
}
BOOL CNG_ImportPubKey(CERT_PUBLIC_KEY_INFO *pubKeyInfo, BCRYPT_KEY_HANDLE *key)
{
if (!strcmp(pubKeyInfo->Algorithm.pszObjId, szOID_ECC_PUBLIC_KEY))
return CNG_ImportECCPubKey(pubKeyInfo, key);
if (!strcmp(pubKeyInfo->Algorithm.pszObjId, szOID_RSA_RSA))
return CNG_ImportRSAPubKey(pubKeyInfo, key);
FIXME("Unsupported public key type: %s\n", debugstr_a(pubKeyInfo->Algorithm.pszObjId));
SetLastError(NTE_BAD_ALGID);
return FALSE;
......
......@@ -21,6 +21,8 @@
#include "wine/list.h"
BOOL CNG_ImportPubKey(CERT_PUBLIC_KEY_INFO *pubKeyInfo, BCRYPT_KEY_HANDLE *key) DECLSPEC_HIDDEN;
/* a few asn.1 tags we need */
#define ASN_BOOL (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x01)
#define ASN_BITSTRING (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
......
......@@ -5050,8 +5050,11 @@ BOOL WINAPI CryptImportPublicKeyInfoEx2(DWORD dwCertEncodingType,
PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo,
BCRYPT_KEY_HANDLE *phKey)
{
FIXME_(crypt)("(%d, %p, %08x, %p, %p): stub\n", dwCertEncodingType, pInfo,
TRACE_(crypt)("(%d, %p, %08x, %p, %p)\n", dwCertEncodingType, pInfo,
dwFlags, pvAuxInfo, phKey);
SetLastError(ERROR_FILE_NOT_FOUND);
return FALSE;
if (dwFlags)
FIXME("flags %#x ignored\n", dwFlags);
return CNG_ImportPubKey(pInfo, phKey);
}