[Bug 45588] .Net Framework 4.5.2 (WPF) System.Windows.Media.PixelFormat requires windowscodecs.dll.IWICPixelFormatInfo_{GetChannelCount ,GetChannelMask,GetBitsPerPixel}_Proxy

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Aug 9 07:46:11 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=45588

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |dotnet, download
                 CC|                            |focht at gmx.net
     Ever confirmed|0                           |1
            Summary|.Net Framework 4.5.2 (WPF)  |.Net Framework 4.5.2 (WPF)
                   |requires                    |System.Windows.Media.PixelF
                   |windowscodecs.dll.IWICPixel |ormat requires
                   |FormatInfo_GetChannelCount_ |windowscodecs.dll.IWICPixel
                   |Proxy                       |FormatInfo_{GetChannelCount
                   |                            |,GetChannelMask,GetBitsPerP
                   |                            |ixel}_Proxy
                URL|                            |https://acstuff.ru/app/
             Status|UNCONFIRMED                 |NEW

--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

In addition to .NET Framework 4.5.2 ('winetricks -q dotnet452') the app needs
'corefonts' (bug 32323)

--- snip ---
$ wine ./Content\ Manager.exe
...
0009:fixme:shell:URL_ParseUrl failed to parse
L"PresentationFramework-SystemXmlLinq"
0009:fixme:time:GetCalendarInfoEx (L"en-US", 1, (nil), 0xa0000030, (nil), 0,
0x2653d99c): semi-stub
0009:fixme:time:GetCalendarInfoW flag CAL_NOUSEROVERRIDE used, not fully
implemented
0009:fixme:time:GetCalendarInfoW Unimplemented caltype 2
0009:fixme:time:GetCalendarInfoW flag CAL_NOUSEROVERRIDE used, not fully
implemented
0009:fixme:time:GetCalendarInfoW Unknown caltype 56
0009:fixme:time:GetCalendarInfoW Unknown caltype 55
0009:fixme:time:GetCalendarInfoW Unknown caltype 49
0009:fixme:time:GetCalendarInfoW Unknown caltype 50
0009:fixme:time:GetCalendarInfoW Unknown caltype 51
0009:fixme:time:GetCalendarInfoW Unknown caltype 52
0009:fixme:time:GetCalendarInfoW Unknown caltype 53
0009:fixme:time:GetCalendarInfoW Unknown caltype 54
0009:fixme:time:GetCalendarInfoW Unimplemented caltype 4
0009:fixme:time:GetCalendarInfoW Unimplemented caltype 4
0009:fixme:time:GetCalendarInfoW Unknown caltype 57
0009:fixme:time:GetCalendarInfoW Unknown caltype 57
0009:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
0009:fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x00000401,(nil),0x0001,0x00000000,0x339c54,(nil)):
stub
0009:err:eventlog:ReportEventW L"Application: Content Manager.exe\nFramework
Version: v4.0.30319\nDescription: The application requested process termination
through System.Environment.FailFast(string message).\nMessage: Unrecoverable
system error.\nStack:\n   at System.Environment.FailFast(System.String)\n   at
MS.Internal.Invariant"...
0009:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
--- snip ---

-> 'winetricks -q corefonts'

It also suffers from bug 34978 if you have multi-monitor setup (black user
interface)

-> apply Staging-patches or disable anything except primary display

The app briefly shows a crash dialog with managed exception trace before
terminating. Using a managed debugger and first-chance breaking on exception
code 0x80000100 (unimpl stub):

--- snip ---
...
wine: Call from 0x7b447127 to unimplemented function
windowscodecs.dll.IWICPixelFormatInfo_GetChannelCount_Proxy, aborting

(33.34): Unknown exception - code 80000100 (first chance)

OS Thread Id: 0x34 (0)
Child SP       IP Call Site
0033cae0 7b447127 [InlinedCallFrame: 0033cae0] 
0033cadc 0a920850 DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr, UInt32 ByRef)
0033cae0 0a9204f7 [InlinedCallFrame: 0033cae0]
MS.Win32.PresentationCore.UnsafeNativeMethods+WICPixelFormatInfo.GetChannelCount(IntPtr,
UInt32 ByRef)
0033cb14 0a9204f7 System.Windows.Media.PixelFormat.get_Masks()
0033cb54 0a920301
FirstFloor.ModernUI.Windows.Controls.BetterImage.FindCropArea(System.Windows.Media.Imaging.BitmapSource,
Int32 ByRef, Int32 ByRef, Int32 ByRef, Int32 ByRef)
0033cba8 0a92015f
FirstFloor.ModernUI.Windows.Controls.BetterImage.FindCropMask(System.Windows.Media.ImageSource)
0033cc54 093a6daf
FirstFloor.ModernUI.Windows.Controls.BetterImage.MeasureArrangeHelper(System.Windows.Size)
0033cd54 093a6b9c
FirstFloor.ModernUI.Windows.Controls.BetterImage.MeasureOverride(System.Windows.Size)
0033cd90 08276c35
System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
0033d048 08275378 System.Windows.UIElement.Measure(System.Windows.Size)
0033d0c4 0a0b6564
System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)
0033d140 08276c35
System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
0033d3f8 08275378 System.Windows.UIElement.Measure(System.Windows.Size)
0033d474 282551e7 System.Windows.ContextLayoutManager.UpdateLayout()
0033d544 28262671
System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object)
0033d548 28262640
System.Windows.Media.MediaContext+InvokeOnRenderCallback.DoWork()
0033d54c 08abd508
System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
0033d568 08abcc96
System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)
0033d5bc 08abcba2
System.Windows.Media.MediaContext.RenderMessageHandler(System.Object)
0033d5d4 08abc5eb
System.Windows.Media.MediaContext.Resize(System.Windows.Media.ICompositionTarget)
0033d5e4 08abc4ef System.Windows.Interop.HwndTarget.OnResize()
0033d630 08ab9bf2
System.Windows.Interop.HwndTarget.HandleMessage(MS.Internal.Interop.WindowMessage,
IntPtr, IntPtr)
0033d70c 0842f822
System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr, Int32,
IntPtr, IntPtr, Boolean ByRef)
0033d72c 06c8367b MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr,
Boolean ByRef)
0033d76c 06c835bb
MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
0033d77c 06c83495
System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,
System.Object, Int32)
0033d7a0 06c8331a
MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,
System.Delegate, System.Object, Int32, System.Delegate)
0033d7e4 06c82ec1
System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority,
System.TimeSpan, System.Delegate, System.Object, Int32)
0033d838 06c81180 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr,
IntPtr)
0033dd64 0039a0d7 [InlinedCallFrame: 0033dd64]
MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr,
IntPtr)
0033dd60 06c8388d MS.Win32.HwndSubclass.DefWndProcWrapper(IntPtr, Int32,
IntPtr, IntPtr)
0033de9c 0039a0d7 [InlinedCallFrame: 0033de9c] 
0033de98 06c837f1 DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr, IntPtr, Int32,
IntPtr, IntPtr)
0033de9c 06c811d6 [InlinedCallFrame: 0033de9c]
MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr,
IntPtr)
0033ded8 06c811d6 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr,
IntPtr)
0033e30c 0039a0d7 [InlinedCallFrame: 0033e30c] 
0033e308 2825e0a9 DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr, IntPtr,
Boolean)
0033e30c 2825dfe0 [InlinedCallFrame: 0033e30c]
Standard.NativeMethods._SetWindowRgn(IntPtr, IntPtr, Boolean)
0033e340 2825dfe0 Standard.NativeMethods.SetWindowRgn(IntPtr, IntPtr, Boolean)
0033e354 2825d5a0
System.Windows.Shell.WindowChromeWorker._SetRoundingRegion(System.Nullable`1<Standard.WINDOWPOS>)
0033e6c8 2825caab
System.Windows.Shell.WindowChromeWorker._UpdateFrameState(Boolean)
0033e728 08372ae1
System.Windows.Shell.WindowChromeWorker._ApplyNewCustomChrome()
0033e738 2825b8c1
System.Windows.Shell.WindowChromeWorker._WindowSourceInitialized(System.Object,
System.EventArgs)
0033e750 2825b851 System.Windows.Window.OnSourceInitialized(System.EventArgs)
0033e760 2825b5ca
FirstFloor.ModernUI.Windows.Controls.DpiAwareWindow.OnSourceInitialized(System.EventArgs)
0033e7bc 08429066 System.Windows.Window.CreateSourceWindow(Boolean)
0033e88c 08428c4b System.Windows.Window.CreateSourceWindowDuringShow()
0033e890 08428c07 System.Windows.Window.SafeCreateWindowDuringShow()
0033e89c 08428961 System.Windows.Window.ShowHelper(System.Object)
0033e8c4 084284a2 System.Windows.Window.Show()
0033e8d0 0a561a83 System.Windows.Window.ShowDialog()
0033e8d4 0a5606ff [InlinedCallFrame: 0033e8d4] 
0033e920 0a5606ff
FirstFloor.ModernUI.Windows.Controls.DpiAwareWindow.ShowDialog()
0033e960 0a58cad8
AcManager.Pages.Dialogs.SelectTrackDialog.Show(AcManager.Tools.Objects.TrackObjectBase)
0033e974 0a58ca6f
AcManager.Pages.Drive.QuickDrive+ViewModel.<get_ChangeTrackCommand>b__252_0()
0033e980 0a58ca4b
FirstFloor.ModernUI.Commands.DelegateCommand.ExecuteOverride()
0033e984 0a58ca2b
FirstFloor.ModernUI.Commands.CommandExt.ExecuteOverride(System.Object)
0033e98c 0a58ca0b
FirstFloor.ModernUI.Commands.CommandBase.System.Windows.Input.ICommand.Execute(System.Object)
0033e994 0a58c974
AcManager.Pages.Drive.QuickDrive.OnTrackBlockClick(System.Object,
System.Windows.RoutedEventArgs)
0033e9a0 0a0adecc
System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object,
System.Windows.RoutedEventArgs)
0033e9b4 0a0ad795 System.Windows.EventRoute.InvokeHandlersImpl(System.Object,
System.Windows.RoutedEventArgs, Boolean)
0033ea74 0a0ab73d
System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject,
System.Windows.RoutedEventArgs)
0033eaa8 28255db3
System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)
0033eab4 0a58c8ff System.Windows.Controls.Primitives.ButtonBase.OnClick()
0033eac0 0a58c867 System.Windows.Controls.Button.OnClick()
0033eae0 0a58c531
System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)
0033eaf0 0a58c434
System.Windows.UIElement.OnMouseLeftButtonUpThunk(System.Object,
System.Windows.Input.MouseButtonEventArgs)
0033eb00 0a5837cc
System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate,
System.Object)
0033eb0c 0a0adf1d System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate,
System.Object)
0033eb30 0a0adedb
System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object,
System.Windows.RoutedEventArgs)
0033eb44 0a0ad795 System.Windows.EventRoute.InvokeHandlersImpl(System.Object,
System.Windows.RoutedEventArgs, Boolean)
0033ec04 0a583a70
System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject,
System.Windows.RoutedEventArgs, System.Windows.RoutedEvent)
0033ec44 0a58c3b2 System.Windows.UIElement.OnMouseUpThunk(System.Object,
System.Windows.Input.MouseButtonEventArgs)
0033ec54 0a5837cc
System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate,
System.Object)
0033ec60 0a0adf1d System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate,
System.Object)
0033ec84 0a0adedb
System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object,
System.Windows.RoutedEventArgs)
0033ec98 0a0ad795 System.Windows.EventRoute.InvokeHandlersImpl(System.Object,
System.Windows.RoutedEventArgs, Boolean)
0033ed58 0a0ab73d
System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject,
System.Windows.RoutedEventArgs)
0033ed8c 282b0261
System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
0033edb4 28265952 System.Windows.Input.InputManager.ProcessStagingArea()
0033edec 282654b4
System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
0033edfc 282653a8
System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
0033ee14 0a90087b
System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr,
System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions,
Int32, Int32, Int32)
0033ee18 0842dee7 [InlinedCallFrame: 0033ee18] 
0033eebc 0842dee7
System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr,
MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef)
0033ef18 0842d38e System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr,
Int32, IntPtr, IntPtr, Boolean ByRef)
0033ef3c 06c8367b MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr,
Boolean ByRef)
0033ef7c 06c835bb
MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
0033ef8c 06c83495
System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,
System.Object, Int32)
0033efb0 06c8331a
MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,
System.Delegate, System.Object, Int32, System.Delegate)
0033eff4 06c82ec1
System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority,
System.TimeSpan, System.Delegate, System.Object, Int32)
0033f048 06c81180 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr,
IntPtr)
0033f2ac 0039a0d7 [InlinedCallFrame: 0033f2ac] 
0033f2a8 08270b87
DomainBoundILStubClass.IL_STUB_PInvoke(System.Windows.Interop.MSG ByRef)
0033f2ac 08270239 [InlinedCallFrame: 0033f2ac]
MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
0033f2e0 08270239
System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
0033f328 08270096
System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
0033f334 079affa6 System.Windows.Application.RunDispatcher(System.Object)
0033f340 079afd52 System.Windows.Application.RunInternal(System.Windows.Window)
0033f354 079afb69 System.Windows.Application.Run(System.Windows.Window)
0033f364 06ae5acc AcManager.App.CreateAndRun(Boolean)
0033f3b0 056bc9f6 AcManager.EntryPoint.MainInner(System.String[])
0033f3ec 042178c5 AcManager.EntryPoint.MainReal(System.String[])
0033f400 0421395c AcManager.EntryPoint.Main(System.String[])
0033f598 00fa2552 [GCFrame: 0033f598] 
--- snip ---

The code calling into WPF seems to be some third-party framework/assembly
(http://firstfloorsoftware.com/) which is dynamically unpacked and loaded in
memory (no disk/GAC install).

--- snip ---
$ 0:000> !dumpdomain
--------------------------------------
System Domain:      015e0f60
LowFrequencyHeap:   015e1284
HighFrequencyHeap:  015e12cc
StubHeap:           015e1314
Stage:              OPEN
Name:               None
--------------------------------------
Shared Domain:      015e0c08
LowFrequencyHeap:   015e1284
HighFrequencyHeap:  015e12cc
StubHeap:           015e1314
Stage:              OPEN
Name:               None
Assembly:           00196760
[C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll]
ClassLoader:        00196818
  Module Name
00383010   
C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll

--------------------------------------
Domain 1:           0014e508
LowFrequencyHeap:   0014e95c
HighFrequencyHeap:  0014e9a4
StubHeap:           0014e9ec
Stage:              OPEN
SecurityDescriptor: 0014fdb0
Name:               Content Manager.exe
Assembly:           00196760
[C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll]
ClassLoader:        00196818
SecurityDescriptor: 001968f8
  Module Name
00383010   
C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll

Assembly:           001a7d30 [Z:\home\focht\Downloads\Content Manager.exe]
ClassLoader:        001a7de8
SecurityDescriptor: 001a7b00
  Module Name
00392edc    Z:\home\focht\Downloads\Content Manager.exe

Assembly:           001aa440
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll]
ClassLoader:        001aa4f8
SecurityDescriptor: 001ac7c8
  Module Name
00397170   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

Assembly:           001ab888
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll]
ClassLoader:        001ab968
SecurityDescriptor: 001ac178
  Module Name
0429ad7c   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

Assembly:           001aafd8
[C:\windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll]
ClassLoader:        001ab090
SecurityDescriptor: 001a9238
  Module Name
04646840   
C:\windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll

Assembly:           001b0048
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll]
ClassLoader:        001ab560
SecurityDescriptor: 001ab478
  Module Name
046a8a88   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

Assembly:           001bd580 [AcManager.Tools, Version=1.0.1.5773,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001bd638
SecurityDescriptor: 001bba00
  Module Name
05386168    AcManager.Tools, Version=1.0.1.5773, Culture=neutral,
PublicKeyToken=null

Assembly:           001d05c8 [FirstFloor.ModernUI, Version=1.0.6.0,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001d0680
SecurityDescriptor: 001d04e0
  Module Name
0538a5dc    FirstFloor.ModernUI, Version=1.0.6.0, Culture=neutral,
PublicKeyToken=null

Assembly:           001d5720 [AcTools, Version=1.0.4.1217, Culture=neutral,
PublicKeyToken=null]
ClassLoader:        001d0d98
SecurityDescriptor: 001d0450
  Module Name
0538e744    AcTools, Version=1.0.4.1217, Culture=neutral, PublicKeyToken=null

Assembly:           001d3a98
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll]
ClassLoader:        001d0e08
SecurityDescriptor: 001bd328
  Module Name
06161a8c   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll

Assembly:           001d2db8
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll]
ClassLoader:        001d2e98
SecurityDescriptor: 001d2d08
  Module Name
0616df88   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll

Assembly:           001d5fc0
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xaml\v4.0_4.0.0.0__b77a5c561934e089\System.Xaml.dll]
ClassLoader:        001d60a0
SecurityDescriptor: 001d5f10
  Module Name
067f22c4   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xaml\v4.0_4.0.0.0__b77a5c561934e089\System.Xaml.dll

Assembly:           001d87d0
[C:\windows\Microsoft.Net\assembly\GAC_32\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll]
ClassLoader:        001d8888
SecurityDescriptor: 001d8f48
  Module Name
067f63e4   
C:\windows\Microsoft.Net\assembly\GAC_32\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll

Assembly:           001daa30 [AcManager.Internal, Version=1.0.1.152,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001daae8
SecurityDescriptor: 001da948
  Module Name
068e6d18    AcManager.Internal, Version=1.0.1.152, Culture=neutral,
PublicKeyToken=null

Assembly:           001e2948
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll]
ClassLoader:        001e5580
SecurityDescriptor: 001e2860
  Module Name
03a8de18   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

Assembly:           001e70a0
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll]
ClassLoader:        001e7180
SecurityDescriptor: 001dad38
  Module Name
03a8f584   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

Assembly:           001dbee0 [StringBasedFilter, Version=1.0.0.10,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001dbfc0
SecurityDescriptor: 001dbe58
  Module Name
06adc6f0    StringBasedFilter, Version=1.0.0.10, Culture=neutral,
PublicKeyToken=null

Assembly:           001dc8a8 [AcManager.Controls, Version=1.0.1.14186,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001dc960
SecurityDescriptor: 001ea088
  Module Name
06adf718    AcManager.Controls, Version=1.0.1.14186, Culture=neutral,
PublicKeyToken=null

Assembly:           001e6b20 [AcTools.GenericMods, Version=1.0.0.68,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001e7e40
SecurityDescriptor: 001e6a38
  Module Name
09943e54    AcTools.GenericMods, Version=1.0.0.68, Culture=neutral,
PublicKeyToken=null

Assembly:           001e7d80 [AcTools.AcdEncryption, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001eaa38
SecurityDescriptor: 001e68c0
  Module Name
099469e8    AcTools.AcdEncryption, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null

Assembly:           001eaff0 [Newtonsoft.Json, Version=7.0.0.0,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001e87c0
SecurityDescriptor: 001e8738
  Module Name
09947c7c    Newtonsoft.Json, Version=7.0.0.0, Culture=neutral,
PublicKeyToken=null

Assembly:           001ed4d8
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll]
ClassLoader:        001ed5b8
SecurityDescriptor: 001ed718
  Module Name
06bc3108   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

Assembly:           001ebe18 [AcTools.Render, Version=1.0.0.9196,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001ebef8
SecurityDescriptor: 001eca58
  Module Name
06ca5868    AcTools.Render, Version=1.0.0.9196, Culture=neutral,
PublicKeyToken=null

Assembly:           001ee780 [AcTools.LapTimes, Version=1.0.0.66,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001eb900
SecurityDescriptor: 001ee6f8
  Module Name
06bb19f0    AcTools.LapTimes, Version=1.0.0.66, Culture=neutral,
PublicKeyToken=null

Assembly:           001f3dc8 [AcManager.AcSound, Version=1.0.0.24,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001f3e80
SecurityDescriptor: 001ec3c8
  Module Name
06bb2e40    AcManager.AcSound, Version=1.0.0.24, Culture=neutral,
PublicKeyToken=null

Assembly:           001f57f8 [AcTools.NeuralTyres, Version=1.0.0.123,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001f58d8
SecurityDescriptor: 001f5770
  Module Name
06bb3c88    AcTools.NeuralTyres, Version=1.0.0.123, Culture=neutral,
PublicKeyToken=null

Assembly:           001f63f0 [AcTools.WheelAngles, Version=1.0.0.96,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001f64d0
SecurityDescriptor: 001f7870
  Module Name
06bbf134    AcTools.WheelAngles, Version=1.0.0.96, Culture=neutral,
PublicKeyToken=null

Assembly:           001f6f58 [AcManager.ContentRepair, Version=1.0.1.1421,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001f7010
SecurityDescriptor: 001f6e70
  Module Name
06bbfb7c    AcManager.ContentRepair, Version=1.0.1.1421, Culture=neutral,
PublicKeyToken=null

Assembly:           001f6a08 [AcManager.DiscordRpc, Version=1.0.0.86,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001f96e0
SecurityDescriptor: 001f6980
  Module Name
09cf3a74    AcManager.DiscordRpc, Version=1.0.0.86, Culture=neutral,
PublicKeyToken=null

Assembly:           001fe360
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\UIAutomationTypes\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll]
ClassLoader:        001fe688
SecurityDescriptor: 001ff310
  Module Name
09cbdd68   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\UIAutomationTypes\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll

Assembly:           0021d878
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.classic\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.classic.dll]
ClassLoader:        00204f58
SecurityDescriptor: 002119a8
  Module Name
07076354   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.classic\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.classic.dll

Assembly:           00218680
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXml\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXml.dll]
ClassLoader:        00218958
SecurityDescriptor: 0021e368
  Module Name
0715dbc0   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXml\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXml.dll

Assembly:           10086810
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll]
ClassLoader:        100868f0
SecurityDescriptor: 10086af0
  Module Name
07531320   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll

Assembly:           1008c190
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll]
ClassLoader:        1008c248
SecurityDescriptor: 10091148
  Module Name
07537c9c   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll

Assembly:           10092d30
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll]
ClassLoader:        10092e10
SecurityDescriptor: 100924a0
  Module Name
0753cd08   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll

Assembly:           100941c0
[C:\windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll]
ClassLoader:        10093840
SecurityDescriptor: 10092fa0
  Module Name
0753d654   
C:\windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll

Assembly:           100999c8
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.IO.Compression\v4.0_4.0.0.0__b77a5c561934e089\System.IO.Compression.dll]
ClassLoader:        100986f0
SecurityDescriptor: 10097668
  Module Name
0772d56c   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.IO.Compression\v4.0_4.0.0.0__b77a5c561934e089\System.IO.Compression.dll

Assembly:           100beb30 [Unosquare.Labs.EmbedIO, Version=1.0.17.34736,
Culture=neutral, PublicKeyToken=null]
ClassLoader:        001b0cc8
SecurityDescriptor: 00211288
  Module Name
0799ce08    Unosquare.Labs.EmbedIO, Version=1.0.17.34736, Culture=neutral,
PublicKeyToken=null

Assembly:           100be538
[C:\users\focht\Temp\Costura\3F0254227540036A5DF3BEAD406573F3\32\slimdx.dll]
ClassLoader:        100abac0
SecurityDescriptor: 001ed2d0
  Module Name
0799ddbc   
C:\users\focht\Temp\Costura\3F0254227540036A5DF3BEAD406573F3\32\slimdx.dll

Assembly:           100c4518
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\WindowsFormsIntegration\v4.0_4.0.0.0__31bf3856ad364e35\WindowsFormsIntegration.dll]
ClassLoader:        100c51e0
SecurityDescriptor: 100c61e0
  Module Name
082da2fc   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\WindowsFormsIntegration\v4.0_4.0.0.0__31bf3856ad364e35\WindowsFormsIntegration.dll

Assembly:           10265470
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXmlLinq\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXmlLinq.dll]
ClassLoader:        10272c48
SecurityDescriptor: 10237798
  Module Name
2728a6a0   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXmlLinq\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXmlLinq.dll

Assembly:           10298668
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\UIAutomationProvider\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationProvider.dll]
ClassLoader:        102985a8
SecurityDescriptor: 10295890
  Module Name
272f1e20   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\UIAutomationProvider\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationProvider.dll

Assembly:           101dd710
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemData\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemData.dll]
ClassLoader:        10239a60
SecurityDescriptor: 101aacf8
  Module Name
2734e26c   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemData\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemData.dll

Assembly:           10096098
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemCore\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemCore.dll]
ClassLoader:        001ff098
SecurityDescriptor: 100c1468
  Module Name
27e92c1c   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemCore\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemCore.dll

Assembly:           1026e550 [OxyPlot.Wpf, Version=2014.1.546.0,
Culture=neutral]
ClassLoader:        100ab8a0
SecurityDescriptor: 100c31c0
  Module Name
27f2f19c    OxyPlot.Wpf, Version=2014.1.546.0, Culture=neutral

Assembly:           102a4c48 [OxyPlot, Version=2014.1.546.0, Culture=neutral]
ClassLoader:        100994b8
SecurityDescriptor: 100efeb8
  Module Name
090a1460    OxyPlot, Version=2014.1.546.0, Culture=neutral

Assembly:           101be038 [MoonSharp.Interpreter, Version=2.0.0.0,
Culture=neutral]
ClassLoader:        101be0f0
SecurityDescriptor: 102f5888
  Module Name
091c1548    MoonSharp.Interpreter, Version=2.0.0.0, Culture=neutral

Assembly:           103833e8 [SmartThreadPool, Version=2.2.3.0,
Culture=neutral]
ClassLoader:        101ba6b0
SecurityDescriptor: 102ca870
  Module Name
2807bd18    SmartThreadPool, Version=2.2.3.0, Culture=neutral

Assembly:           10383ec0
[C:\windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll]
ClassLoader:        10136d58
SecurityDescriptor: 10148468
  Module Name
0a468b24   
C:\windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll
--- snip ---

--- snip ---
$ 0:000> !DumpModule -mt 0538a5dc
Name:       FirstFloor.ModernUI, Version=1.0.6.0, Culture=neutral,
PublicKeyToken=null
Attributes: PEFile 
Assembly:   001d05c8
LoaderHeap:              00000000
TypeDefToMethodTableMap: 05c542c8
TypeRefToMethodTableMap: 05c54f54
MethodDefToDescMap:      05c55a44
FieldDefToDescMap:       05c5ad18
MemberRefToDescMap:      00000000
FileReferencesMap:       05c5d9ec
AssemblyReferencesMap:   05c5d9f0
MetaData start address:  05ffb9c0 (458196 bytes)

Types defined in this module

      MT  TypeDef Name
------------------------------------------------------------------------------
08d35114 0x02000004 <>f__AnonymousType2`2
08d35550 0x02000005 <>f__AnonymousType3`2
0a13b49c 0x02000006 XamlGeneratedNamespace.GeneratedInternalTypeHelper
09947254 0x02000007 FirstFloor.ModernUI.ActionExtension
071581b4 0x02000008 FirstFloor.ModernUI.BetterListCollectionView
...
06bbb4b8 0x02000087 FirstFloor.ModernUI.Windows.Controls.BetterImage
...
--- snip ---

There are various ways to get the actual .NET assembly:

* extract it from main assembly .NET resources.

It's actually embedded as .compressed stream -> .NET DeflateStream class. Since
this is a raw stream one needs to trick 'gzip' by prepending gzip magic number
and compress method (printf "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00" | cat -
costura.firstfloor.modernui.dll.compressed | gzip -dc >
costura.firstfloor.modernui.dll)

* with assembly load address known -> '.writemem <filename> <range>' in
'windbg'

The third-party managed code that calls into WPF
'System.Windows.Media.PixelFormat.get_Masks()':

--- snip ---
    protected virtual unsafe bool FindCropArea(BitmapSource b, out int left,
out int top, out int right, out int bottom)
    {
      if (b.Format.Masks.Count != 4)
      {
        left = top = right = bottom = 0;
        return true;
      }
      int pixelWidth = b.PixelWidth;
      int pixelHeight = b.PixelHeight;
      int stride = (pixelWidth * b.Format.BitsPerPixel + 7) / 8;
      byte[] numArray1 = new byte[pixelHeight * stride];
      b.CopyPixels((Array) numArray1, stride, 0);
      IList<byte> mask =
b.Format.Masks.ElementAtOrDefault<PixelFormatChannelMask>(0).Mask;
      if (mask == null)
      {
        left = top = right = bottom = 0;
        return true;
      }
      uint uint32 = BitConverter.ToUInt32(mask.Reverse<byte>().ToArray<byte>(),
0);
      left = pixelWidth;
      top = pixelHeight;
      bottom = right = 0;
      byte[] numArray2;
      uint* numPtr = (numArray2 = numArray1) == null || numArray2.Length == 0 ?
(uint*) null : (uint*) &numArray2[0];
      int num = 0;
      for (int index1 = 0; index1 < pixelHeight; ++index1)
      {
        for (int index2 = 0; index2 < pixelWidth; ++index2)
        {
          if (((int) numPtr[num++] & (int) uint32) != 0)
          {
            if (index2 < left)
              left = index2;
            if (index1 < top)
              top = index1;
            if (index2 > right)
              right = index2;
            if (index1 > bottom)
              bottom = index1;
          }
        }
      }
      numArray2 = (byte[]) null;
      return false;
    }
--- snip ---

As OP already mentioned, all three proxy functions are imported/used in
'System.Windows.Media.PixelFormat' class hence need to be implemented:

https://msdn.microsoft.com/en-us/library/system.windows.media.pixelformat_properties(v=vs.110).aspx

* BitsPerPixel (property)
* Masks (property)

--- snip ---
...
      [DllImport("WindowsCodecs.dll", EntryPoint =
"IWICPixelFormatInfo_GetBitsPerPixel_Proxy")]
      internal static extern int GetBitsPerPixel(IntPtr pIPixelFormatInfo, out
uint uiBitsPerPixel);

      [DllImport("WindowsCodecs.dll", EntryPoint =
"IWICPixelFormatInfo_GetChannelCount_Proxy")]
      internal static extern int GetChannelCount(IntPtr pIPixelFormatInfo, out
uint uiChannelCount);

      [DllImport("WindowsCodecs.dll", EntryPoint =
"IWICPixelFormatInfo_GetChannelMask_Proxy")]
      internal static extern unsafe int GetChannelMask(IntPtr
pIPixelFormatInfo, uint uiChannelIndex, uint cbMaskBuffer, byte* pbMaskBuffer,
out uint cbActual);
...
--- snip ---

I've refined the summary to include these methods (unless you want to split
these up into more tickets).

$ sha1sum Content\ Manager\ \(0.8.1784.34481\).zip 
133e798e6592f4f9b39b188ce1e1a41f6776d993  Content Manager (0.8.1784.34481).zip

$ du -sh Content\ Manager\ \(0.8.1784.34481\).zip 
7.0M    Content Manager (0.8.1784.34481).zip

$ wine --version
wine-3.13

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list