http://bugs.winehq.org/show_bug.cgi?id=23759
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |gdiplus Summary|FlarmCfgTool crashes on |FlarmCfgTool crashes on |launch |launch | |(GdipTranslateLineTransform | |stub)
--- Comment #8 from Anastasius Focht focht@gmx.net 2010-08-01 09:54:13 --- Hello,
I only see gdiplus insufficiency if you use a recent Wine version and start with a clean WINEPREFIX. You can either use MS .NET Framework 2.0 (winetricks) or Mono 2.6
The app is Xenocode wrapped so technically it wouldn't need any of both (already includes necessary .NET 2.0 assemblies) but due packaging it relies on a .NET CLR bootstrapper being present. Wine's mscoree implementation is Mono specific (_CorExeMain) that won't trigger Xenocode magic/hooks to reroute assembly loads to it's sandboxed versions.
Anyway, lets this make a gdiplus bug as no one exists yet to cover that unimpl. stub specifically.
Wine trace log (don't use +relay, it will interfere with Xenocode native API hooks):
--- snip --- ... 0037:fixme:gdiplus:GdipTranslateLineTransform stub: 0x1a9f90 741.000000 619.000000 0 ... 0037:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b835ad2 ip=7b835ad2 tid=0037 0037:trace:seh:raise_exception info[0]=80004001 0037:trace:seh:raise_exception eax=7b824eb1 ebx=7b881ed8 ecx=00000000 edx=e0434f4d esi=e0434f4d edi=e0434f4d 0037:trace:seh:raise_exception ebp=0032da64 esp=0032da00 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000246 --- snip ---
Managed callstack:
--- snip --- System.NotImplementedException: Not implemented. at System.Drawing.Drawing2D.LinearGradientBrush.TranslateTransform(Single dx, Single dy, MatrixOrder order) at System.Drawing.Drawing2D.LinearGradientBrush.TranslateTransform(Single dx, Single dy) at System.Windows.Forms.ToolStripProfessionalRenderer.RenderBackgroundGradient(Graphics g, Control control, Color beginColor, Color endColor, Orientation orientation) at System.Windows.Forms.ToolStripProfessionalRenderer.RenderMenuStripBackground(ToolStripRenderEventArgs e) at System.Windows.Forms.ToolStripProfessionalRenderer.OnRenderToolStripBackground(ToolStripRenderEventArgs e) at System.Windows.Forms.ToolStripRenderer.DrawToolStripBackground(ToolStripRenderEventArgs e) at System.Windows.Forms.ToolStrip.OnPaintBackground(PaintEventArgs e) at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs) at System.Windows.Forms.Control.WmPaint(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.MenuStrip.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) --- snip ---
The stub:
--- snip dlls/gdiplus/brush.c --- GpStatus WINGDIPAPI GdipTranslateLineTransform(GpLineGradient* brush, REAL dx, REAL dy, GpMatrixOrder order) { FIXME("stub: %p %f %f %d\n", brush, dx, dy, order);
return NotImplemented; }
--- snip dlls/gdiplus/brush.c ---
Preferring native over builtin/'winetricks gdiplus' obviously works around.
Regards