[Mono-bugs] [Bug 349103] New: Image.SetPropertyItem causes PDN to crash.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Dec 16 14:26:14 EST 2007


https://bugzilla.novell.com/show_bug.cgi?id=349103


           Summary: Image.SetPropertyItem causes PDN to crash.
           Product: Mono: Class Libraries
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Sys.Drawing.
        AssignedTo: mono-bugs at ximian.com
        ReportedBy: miguel at novell.com
         QAContact: mono-bugs at ximian.com
          Found By: ---


1. Checkout PDN3 from the paint-port module at Google Code.
2. Try to save a file as PNG.
3. Mono crashes with this:


** ERROR **: Type System.Drawing.Imaging.PropertyItem which is passed to
unmanaged code must have a StructLayout attribute
aborting...
Stacktrace:

  at (wrapper managed-to-native)
System.Runtime.InteropServices.Marshal.StructureToPtr (object,intptr,bool)
<0x00004>
  at (wrapper managed-to-native)
System.Runtime.InteropServices.Marshal.StructureToPtr (object,intptr,bool)
<0xffffffff>
  at System.Drawing.Image.SetPropertyItem (System.Drawing.Imaging.PropertyItem)
[0x00017] in /home/cvs/mcs/class/System.Drawing/System.Drawing/Image.cs:535
  at (wrapper remoting-invoke-with-check) System.Drawing.Image.SetPropertyItem
(System.Drawing.Imaging.PropertyItem) <0xffffffff>
  at PaintDotNet.GdiPlusFileType.LoadProperties
(System.Drawing.Image,PaintDotNet.Document) [0x000c8] in
/cvs/pdn3/src/Data/GdiPlusFileType.cs:108
  at PaintDotNet.GdiPlusFileType.Save
(PaintDotNet.Document,System.IO.Stream,PaintDotNet.Surface,System.Drawing.Imaging.ImageFormat,PaintDotNet.ProgressEventHandler)
[0x00038] in /cvs/pdn3/src/Data/GdiPlusFileType.cs:53
  at PaintDotNet.GdiPlusFileType.OnSave
(PaintDotNet.Document,System.IO.Stream,PaintDotNet.SaveConfigToken,PaintDotNet.Surface,PaintDotNet.ProgressEventHandler)
[0x00000] in /cvs/pdn3/src/Data/GdiPlusFileType.cs:38
  at PaintDotNet.FileType.Save
(PaintDotNet.Document,System.IO.Stream,PaintDotNet.SaveConfigToken,PaintDotNet.Surface,PaintDotNet.ProgressEventHandler,bool)
[0x000bf] in /cvs/pdn3/src/Data/FileType.cs:261
  at PaintDotNet.SaveProgressDialog.SaveCallback () [0x00000] in
/cvs/pdn3/src/SaveProgressDialog.cs:29
  at PaintDotNet.CallbackWithProgressDialog.BackgroundCallback () [0x00007] in
/cvs/pdn3/src/CallbackWithProgressDialog.cs:144
  at (wrapper runtime-invoke) System.Threading.ThreadStart.runtime_invoke_void
(object,intptr,intptr,intptr) <0xffffffff>

I suspect the runtime got stricter, and as a result, we are now regressing.  
Since that property does not have a [StructLayout] added, we probably should
proxy this into a helper class.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list