http://bugzilla.novell.com/show_bug.cgi?id=569770
http://bugzilla.novell.com/show_bug.cgi?id=569770#c0 Summary: Mono.Cairo ImageSurface causes access violations on Windows Classification: Mono Product: Mono: Class Libraries Version: 2.4.x Platform: All OS/Version: Windows Status: NEW Severity: Normal Priority: P5 - None Component: Mono.Cairo AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.8 (KHTML, like Gecko) Chrome/4.0.288.1 Safari/532.8 When an ImageSurface using an array to store the image data is created in Windows, the GC eventually moves the array, resulting in an access violation. Same code works fine on Linux. Reproducible: Always Steps to Reproduce: 1. Create an image surface with something like: imageData = new byte[w* h* 4]; surface = new ImageSurface( ref imageData, Format.ARGB32, w, h, 4 * w); 2. Perform some rendering operations on a context created like: using (Context cr = new Context(surface)) { // do something with cr } Actual Results: The rendering will work fine for a couple seconds, but then throw an access violation on some call to the context. Expected Results: Continued to render without throwing the exception. This bug can be fixed by pinning the image data with something like: gch = GCHandle.Alloc(imageData, GCHandleType.Pinned); before it is sent to the ImageSurface. While this is an okay workaround, it should be done inside of Mono.Cairo. -- Configure bugmail: http://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. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
