http://bugs.winehq.org/show_bug.cgi?id=33904
Bug #: 33904 Summary: Face Noir demo crashes on start without native d3dx9_36 Product: Wine Version: 1.6-rc3 Platform: x86 URL: http://spiele.download.t-online.de/dladvert/115472 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3dx9 AssignedTo: wine-bugs@winehq.org ReportedBy: andrey.goosev@gmail.com CC: andrey.goosev@gmail.com, wine-bugs@winehq.org Classification: Unclassified
Created attachment 45015 --> http://bugs.winehq.org/attachment.cgi?id=45015 log+d3dx
This is may also affect on a full version.
http://bugs.winehq.org/show_bug.cgi?id=33904
Andrey Gusev andrey.goosev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=33904
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #1 from Dan Kegel dank@kegel.com 2013-06-28 09:38:25 CDT --- FWIW, here's the last ten or so lines of that log before the crash.
trace:d3dx:ID3DXMeshImpl_GenerateAdjacency (0x14250940)->(0.000000,0x1ce3b368) trace:d3dx:ID3DXMeshImpl_LockVertexBuffer (0x14250940)->(16,0x32f608) trace:d3dx:ID3DXMeshImpl_LockIndexBuffer (0x14250940)->(16,0x32f60c) trace:d3dx:ID3DXMeshImpl_GetNumBytesPerVertex iface (0x14250940) trace:d3dx:ID3DXMeshImpl_UnlockIndexBuffer (0x14250940) trace:d3dx:ID3DXMeshImpl_UnlockVertexBuffer (0x14250940) trace:d3dx:ID3DXMeshImpl_GetNumFaces (0x14250940) Unhandled exception: page fault on read access to 0x00000000 in 32-bit code Backtrace: =>0 0x004a9013 in face noir demo 1 0x0071f101
http://bugs.winehq.org/show_bug.cgi?id=33904
--- Comment #2 from Andrey Gusev andrey.goosev@gmail.com 2013-07-08 12:20:06 CDT --- 28ba872c13eaf7b0f782ee26b052406ec70cbadd Demo-FaceNoir.rar
https://bugs.winehq.org/show_bug.cgi?id=33904
Jarkko K jarkko_korpi@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jarkko_korpi@hotmail.com
--- Comment #3 from Jarkko K jarkko_korpi@hotmail.com --- link outdated?
https://bugs.winehq.org/show_bug.cgi?id=33904
--- Comment #4 from Austin English austinenglish@gmail.com --- There's a demo at http://www.gamershell.com/download_101805.shtml
https://bugs.winehq.org/show_bug.cgi?id=33904
--- Comment #5 from Jarkko K jarkko_korpi@hotmail.com --- I let the installer install dx9. And game starts with no issues.
I was about to install it second time without letting it install dx, but it's not possible.
How have you installed this?
If like I did 1st time, it works for me.
wine 1.7.18
https://bugs.winehq.org/show_bug.cgi?id=33904
Teras teras@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |teras@luukku.com
--- Comment #6 from Teras teras@luukku.com --- Backtrace: =>0 0x004a9013 in face noir (+0xa9013) (0x008c4ba0)
nothing interesting at debug log.
wine-1.7.36-83-gf75d1b0
https://bugs.winehq.org/show_bug.cgi?id=33904
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW URL|http://spiele.download.t-on |http://www.gamershell.com/d |line.de/dladvert/115472 |ownload_101805.shtml CC| |focht@gmx.net Summary|Face Noir demo crashes on |Face Noir demo crashes on |start without native |start without native |d3dx9_36 |d3dx9_36 | |('D3DXLoadSkinMeshFromXof' | |must return 'ID3DXSkinInfo' | |interface even with no | |skinning info present) Ever confirmed|0 |1
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Face Noir Demo
$ WINEDEBUG=+tid,+seh,+relay,+d3d,+d3dx,+d3dxof wine ./Face\ Noir.exe >>log.txt 2>&1 ... 002e:Call KERNEL32.CreateFileA(0032f680 ".\data.dcp",80000000,00000003,0032f520,00000003,00000080,00000000) ret=004d6ce8 002e:Ret KERNEL32.CreateFileA() retval=0000007c ret=004d6ce8 ... 002e:Call KERNEL32.CreateFileA(16067710 "actors\logos\logos.act3d",80000000,00000003,0032d908,00000003,00000080,00000000) ret=004d6ce8 002e:Ret KERNEL32.CreateFileA() retval=ffffffff ret=004d6ce8 ... 002e:Call KERNEL32.CreateFileA(00af6fc3 "actors\logos\logos.script",80000000,00000003,0032d674,00000003,00000080,00000000) ret=004d6ce8 002e:Ret KERNEL32.CreateFileA() retval=ffffffff ret=004d6ce8 ... 002e:Call KERNEL32.CreateFileA(00af7126 "actors\logos\logos.x",80000000,00000003,0032d734,00000003,00000080,00000000) ret=004d6ce8 002e:Ret KERNEL32.CreateFileA() retval=ffffffff ret=004d6ce8 ... 002e:Call d3dx9_36.D3DXFileCreate(00b35750) ret=0049ecff 002e:trace:d3dx:D3DXFileCreate d3dxfile 0xb35750. ... 002e:Call d3dxof.DirectXFileCreate(01a27ca8) ret=7ed58284 002e:trace:d3dxof:DirectXFileCreate (0x1a27ca8) 002e:trace:d3dxof:IDirectXFileImpl_Create ((nil),0x1a27ca8) ... 002e:Ret d3dx9_36.D3DXFileCreate() retval=00000000 ret=0049ecff 002e:trace:d3dx:d3dx9_file_RegisterTemplates iface 0x1a27ca0, data 0x575c20, size 3278. 002e:trace:d3dxof:IDirectXFileImpl_RegisterTemplates (0x27b3020/0x27b3020)->(0x575c20,3278) 002e:trace:d3dxof:IDirectXFileImpl_RegisterTemplates Registered templates (36): Header - {3d82ab43-62da-11cf-ab39-0020af71e433} Vector - {3d82ab5e-62da-11cf-ab39-0020af71e433} Coords2d - {f6f23f44-7686-11cf-8f52-0040333594a3} ... StringProperty - {7f0f21e0-bfe1-11d1-82c0-00a0c9697271} PropertyBag - {7f0f21e1-bfe1-11d1-82c0-00a0c9697271} ExternalVisual - {98116aa0-bdba-11d1-82c0-00a0c9697271} RightHanded - {7f5d5ea0-d53a-11d1-82c0-00a0c9697271} ... 002e:trace:d3dx:d3dx9_file_CreateEnumObject iface 0x1a27ca0, source 0x32fa34, options 0x3, enum_object 0xb35754. ... 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject (0x27b3020/0x27b3020)->(0x32f98c,2,0x32f9a0) 002e:trace:d3dxof:IDirectXFileEnumObjectImpl_Create (0x32f8bc) ... 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject Source in memory at 0xb2fe60 with size 3913 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject File size is 3913 bytes 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject Registered templates (55): Header - {3d82ab43-62da-11cf-ab39-0020af71e433} Vector - {3d82ab5e-62da-11cf-ab39-0020af71e433} Coords2d - {f6f23f44-7686-11cf-8f52-0040333594a3} ... FloatKeys - {10dd46a9-775b-11cf-8f52-0040333594a3} TimedFloatKeys - {f406b180-7b3b-11cf-8f52-0040333594a3} AnimationKey - {10dd46a8-775b-11cf-8f52-0040333594a3} 002e:trace:d3dxof:IDirectXFileEnumObjectImpl_GetNextDataObject (0x1a27cd0/0x1a27cd0)->(0x32f988) 002e:trace:d3dxof:IDirectXFileDataImpl_Create (0x32f904) ... 002e:Call d3dx9_36.D3DXLoadSkinMeshFromXof(01a60990,00000220,00156a68,0032f838,0032f834,00000000,0032f82c,0032f83c,0032f844) ret=004a7047 002e:trace:d3dx:D3DXLoadSkinMeshFromXof (0x1a60990, 220, 0x156a68, 0x32f838, 0x32f834, (nil), 0x32f82c, 0x32f83c, 0x32f844) 002e:trace:d3dx:d3dx9_file_data_Lock iface 0x1a60990, size 0x32f5a8, data 0x32f5a4. 002e:trace:d3dxof:IDirectXFileDataImpl_GetData (0x1a60968/0x1a60968)->((null),0x32f52c,0x32f5a4) ... 002e:trace:d3dx:d3dx9_mesh_OptimizeInplace iface 0x1a28308, flags 0x32000000, adjacency_in (nil), adjacency_out (nil), face_remap_out (nil), vertex_remap_out (nil). ... 002e:trace:d3dx:d3dx9_mesh_GenerateAdjacency iface 0x1a28308, epsilon 0.00000000e+00, adjacency 0x1a28588. ... 002e:Ret d3dx9_36.D3DXLoadSkinMeshFromXof() retval=00000000 ret=004a7047 ... 002e:trace:d3dx:d3dx9_mesh_GetNumFaces iface 0x1a28308. 002e:trace:seh:raise_exception code=c0000005 flags=0 addr=0x4a9013 ip=004a9013 tid=002e 002e:trace:seh:raise_exception info[0]=00000000 002e:trace:seh:raise_exception info[1]=00000000 002e:trace:seh:raise_exception eax=00000000 ebx=00b1bbd8 ecx=00b30e08 edx=7bcfcb48 esi=00000002 edi=00000000 002e:trace:seh:raise_exception ebp=009d4c88 esp=0032f80c cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 002e:trace:seh:call_stack_handlers calling handler at 0x52002a code=c0000005 flags=0 --- snip ---
I suspect the missing skinning information being the problem here.
Debugging the call yields:
--- snip --- Wine-dbg>n 3664 if (skin_info_out) *skin_info_out = mesh_data.skin_info;
Wine-dbg>p mesh_data
{num_vertices=0x6, num_poly_faces=0x2, num_tri_faces=0x2, vertices=0x19fa7d0, num_tri_per_face=0x1a4e4c8, indices=0x19fa820, fvf=0x112, num_normals=0x6, normals=0x19fa840, normal_indices=0x19fa890, tex_coords=0x19fa930, vertex_colors=0x0(nil), num_materials=0x1, materials=0x19fa8b0, material_indices=0x19fa900, skin_info=(nil), nb_bones=0} --- snip ---
The skinning info is not present hence a NULL ID3DXSkinInfo out pointer is set. I found no 'parse_mesh' trace (warn) messages.
There is one succeeding 'd3dx9_36.D3DXLoadSkinMeshFromXof' call before:
--- snip --- ... 002e:Call KERNEL32.CreateFileA(00b7dfdb "actors\jack\jack.x",80000000,00000003,0032d738,00000003,00000080,00000000) ret=004d6ce8 002e:Ret KERNEL32.CreateFileA() retval=ffffffff ret=004d6ce8 ... 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject Source in memory at 0xb8ab48 with size 429181 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject File size is 429181 bytes 002e:trace:d3dxof:IDirectXFileImpl_CreateEnumObject Registered templates (52): Header - {3d82ab43-62da-11cf-ab39-0020af71e433} Vector - {3d82ab5e-62da-11cf-ab39-0020af71e433} ... XSkinMeshHeader - {3cf169ce-ff7c-44ab-93c0-f78f62d172e2} SkinWeights - {6f0d123b-bad2-4167-a0d0-80224f25fabb} 002e:trace:d3dxof:IDirectXFileEnumObjectImpl_GetNextDataObject (0x1766da8/0x1766da8)->(0x32f988) 002e:trace:d3dxof:IDirectXFileDataImpl_Create (0x32f904) ... 002e:Call d3dx9_36.D3DXLoadSkinMeshFromXof(01aae758,00000220,00156a68,0032f83c,0032f838,00000000,0032f830,0032f840,0032f848) ret=004a7047 002e:trace:d3dx:D3DXLoadSkinMeshFromXof (0x1aae758, 220, 0x156a68, 0x32f83c, 0x32f838, (nil), 0x32f830, 0x32f840, 0x32f848) 002e:trace:d3dx:d3dx9_file_data_Lock iface 0x1aae758, size 0x32f5a8, data 0x32f5a4. 002e:trace:d3dxof:IDirectXFileDataImpl_GetData (0x1785ab8/0x1785ab8)->((null),0x32f52c,0x32f5a4) ... 002e:trace:d3dx:parse_skin_mesh_info (0x1785cd0, 0x32f694, 0) 002e:trace:d3dx:d3dx9_file_data_Lock iface 0x1785cd0, size 0x32f528, data 0x32f524. 002e:trace:d3dxof:IDirectXFileDataImpl_GetData (0x1aae948/0x1aae948)->((null),0x32f4cc,0x32f524) 002e:trace:d3dx:D3DXCreateSkinInfoFVF (7506, 112, 37, 0x32f6d0) 002e:trace:d3dx:D3DXDeclaratorFromFVF fvf 0x112, declaration 0x32f2cc. 002e:trace:d3dx:D3DXCreateSkinInfo num_vertices 7506, declaration 0x32f2cc, num_bones 37, skin_info 0x32f6d0. ... 002e:trace:d3dx:d3dx9_skin_info_SetDeclaration iface 0x1769628, declaration 0x32f2cc. 002e:trace:d3dx:D3DXFVFFromDeclarator (0x1769634, 0x1769630) 002e:trace:d3dx:d3dx9_file_data_Unlock iface 0x1785cd0. 002e:trace:d3dx:d3dx9_file_data_Release 0x1785cd0 decreasing refcount to 1. 002e:trace:d3dx:d3dx9_file_data_GetChild iface 0x1aae758, id 0x4, object 0x32f590. 002e:trace:d3dx:d3dx9_file_data_AddRef 0x1aae998 increasing refcount to 2. 002e:trace:d3dx:d3dx9_file_data_GetType iface 0x1aae998, guid 0x32f594. 002e:trace:d3dxof:IDirectXFileDataImpl_GetType (0x1aae970/0x1aae970)->(0x32f52c) 002e:trace:d3dx:parse_skin_mesh_info (0x1aae998, 0x32f694, 0) 002e:trace:d3dx:d3dx9_file_data_Lock iface 0x1aae998, size 0x32f528, data 0x32f524. 002e:trace:d3dxof:IDirectXFileDataImpl_GetData (0x1aae970/0x1aae970)->((null),0x32f4cc,0x32f524) 002e:trace:d3dx:d3dx9_skin_info_SetBoneName iface 0x1769628, bone_idx 0, name "Spine_5". ... --- snip ---
The file 'data.dcp' is actually a Wintermute Engine data file, one can see the signature at the beginning. Wikipedia also lists the game using the engine:
https://en.wikipedia.org/wiki/Wintermute_Engine#Games_developed_with_Winterm...
I found a tool which allows to unpack the data file:
http://forum.xentax.com/viewtopic.php?f=32&t=9625
http://www.mediafire.com/download/rard7tih3dwmqjf/DCP_Unpacker.exe
--- snip --- $ wine ./DCP_Unpacker.exe data.dcp ... WinterMute Engine Unpacker by Vash v1.0.1 -vash.romhacking.it-
Extracting 2106 files 11455A4BExtracing actors\Animation\Base.X [1 on 2106] Extracing actors\Animation\Dord.png [2 on 2106] Extracing actors\Animation\Dord.X [3 on 2106] Extracing actors\Animation\Gun.X [4 on 2106] Extracing actors\Animation\Gun_Jack.png [5 on 2106] ... Extracing actors\logos\logos.act3d [580 on 2106] Extracing actors\logos\logos.script [581 on 2106] Extracing actors\logos\logos.X [582 on 2106] Extracing actors\logos\Logo_1.png [583 on 2106] Extracing actors\logos\Logo_2.png [584 on 2106] Extracing actors\logos\Logo_Publisher.png [585 on 2106] Extracing actors\logos\PROVV.png [586 on 2106] ... Extracing ui_elements\win.bmp [2101 on 2106] Extracing ui_elements\win.image [2102 on 2106] Extracing ui_elements\win_inactive.bmp [2103 on 2106] Extracing ui_elements\win_inactive.image [2104 on 2106] Extracing ui_elements\win_mod.image [2105 on 2106] Extracing ui_elements\win_mod.png [2106 on 2106] --- snip ---
Inspecting 'actors\logos\logos.X' reveals there is no skinning info.
--- snip --- $ grep -HR Skin | uniq
Binary file actors/greta/greta.X matches Binary file actors/Harlem/Heaven/Heaven.X matches actors/inventario/inventario.x:template XSkinMeshHeader { actors/inventario/inventario.x: WORD nMaxSkinWeightsPerVertex; actors/inventario/inventario.x: WORD nMaxSkinWeightsPerFace; actors/inventario/inventario.x:template SkinWeights { actors/inventario/inventario.x: XSkinMeshHeader { actors/inventario/inventario.x: SkinWeights { Binary file actors/jack/jack.X matches actors/Loc_GlenCove/Door/Door.X:template XSkinMeshHeader { actors/Loc_GlenCove/Door/Door.X: WORD nMaxSkinWeightsPerVertex; actors/Loc_GlenCove/Door/Door.X: WORD nMaxSkinWeightsPerFace; actors/Loc_GlenCove/Door/Door.X:template SkinWeights { actors/Loc_GlenCove/Door/Door.X: XSkinMeshHeader { actors/Loc_GlenCove/Door/Door.X: SkinWeights { actors/Loc_Melville/herman/herman.X:template XSkinMeshHeader { actors/Loc_Melville/herman/herman.X: WORD nMaxSkinWeightsPerVertex; actors/Loc_Melville/herman/herman.X: WORD nMaxSkinWeightsPerFace; actors/Loc_Melville/herman/herman.X:template SkinWeights { actors/Loc_Melville/herman/herman.X: XSkinMeshHeader { actors/Loc_Melville/herman/herman.X: SkinWeights { actors/Loc_Melville/policeman/policeman.X:template XSkinMeshHeader { actors/Loc_Melville/policeman/policeman.X: WORD nMaxSkinWeightsPerVertex; actors/Loc_Melville/policeman/policeman.X: WORD nMaxSkinWeightsPerFace; actors/Loc_Melville/policeman/policeman.X:template SkinWeights { actors/Loc_Melville/policeman/policeman.X: XSkinMeshHeader { actors/Loc_Melville/policeman/policeman.X: SkinWeights { Binary file actors/Loc_Melville/policeman_stealth_01/policeman_stealth_01.X matches Binary file actors/Loc_Melville/policeman_stealth_02/policeman_stealth_02.X matches Binary file actors/Loc_Melville/policeman_stealth_03/policeman_stealth_03.X matches Binary file actors/marsetti/marsetti.X matches --- snip ---
MSDN doesn't specifically talk about this case, only mentioning what happens when effect instance information is missing:
https://msdn.microsoft.com/en-us/library/windows/desktop/bb172899%28v=vs.85%...
Even with no actual skinning info present, the game engine still tries to call methods on ID3DXSkinInfo (-> ID3DXSkinInfo::GetNumBones() -> 0), hence at least an interface must be returned.
--- snip --- ... 004A9010 8B41 08 MOV EAX,DWORD PTR DS:[ECX+8] 004A9013 8B08 MOV ECX,DWORD PTR DS:[EAX] ; ID3DXSkinInfo == NULL *boom* 004A9015 8B51 24 MOV EDX,DWORD PTR DS:[ECX+24] ; &ID3DXSkinInfo::GetNumBones 004A9018 50 PUSH EAX 004A9019 FFD2 CALL EDX 004A901B C3 RETN ... --- snip ---
$ sha1sum FaceNoir_Demo_Eng.zip 32dce4d1eb732b12afe69b8af50023cbde1b3e19 FaceNoir_Demo_Eng.zip
$ du -sh FaceNoir_Demo_Eng.zip 563M FaceNoir_Demo_Eng.zip
$ wine --version wine-1.7.46-118-g7a3c988
Regards
https://bugs.winehq.org/show_bug.cgi?id=33904
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #8 from Sebastian Lackner sebastian@fds-team.de --- Could you please test the following patches by Michael Müller?
https://github.com/wine-compholio/wine-staging/tree/master/patches/d3dx9_36-...
https://bugs.winehq.org/show_bug.cgi?id=33904
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #9 from Béla Gyebrószki gyebro69@gmail.com --- *** Bug 37181 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=33904
--- Comment #10 from Andrey Gusev andrey.goosev@gmail.com --- (In reply to Sebastian Lackner from comment #8)
Could you please test the following patches by Michael Müller?
https://github.com/wine-compholio/wine-staging/tree/master/patches/d3dx9_36- Dummy_Skininfo
Yes, this patch solves the issue and at this time shows another with skin_info_UpdateSkinnedMesh:
d3dx:d3dx9_skin_info_UpdateSkinnedMesh iface 0x184a6d8, bone_transforms 0x14db7cd0, bone_inv_transpose_transforms (nil), src_vertices 0x27c73c0, dst_vertices 0x273a250 stub!
it's the same as bug 32572.
https://bugs.winehq.org/show_bug.cgi?id=33904
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |michael@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/d3dx9_36-Dummy | |_Skininfo
https://bugs.winehq.org/show_bug.cgi?id=33904
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=33904
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/d3dx9_36-Dummy |er/patches/d3dx9_36-Dummy_S |_Skininfo |kininfo
https://bugs.winehq.org/show_bug.cgi?id=33904
Andrey Gusev andrey.goosev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |70d722340ad546ab988fffe4577 | |e0c0ebe35a982 Status|STAGED |RESOLVED Resolution|--- |FIXED
--- Comment #11 from Andrey Gusev andrey.goosev@gmail.com --- Fixed by https://source.winehq.org/git/wine.git/commit/70d722340ad546ab988fffe4577e0c...
Next bug 32572
https://bugs.winehq.org/show_bug.cgi?id=33904
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.6.
https://bugs.winehq.org/show_bug.cgi?id=33904
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.0.x
https://bugs.winehq.org/show_bug.cgi?id=33904
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.x |---
--- Comment #13 from Michael Stefaniuc mstefani@winehq.org --- Removing the 4.0.x milestone from bug fixes included in 4.0.2.