[Mono-bugs] [Bug 76635][Nor] New - Mono JIT on ARM p/invoke double
trouble
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sat Nov 5 03:58:13 EST 2005
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by alp at atoker.com.
http://bugzilla.ximian.com/show_bug.cgi?id=76635
--- shadow/76635 2005-11-05 03:58:13.000000000 -0500
+++ shadow/76635.tmp.11868 2005-11-05 03:58:13.000000000 -0500
@@ -0,0 +1,43 @@
+Bug#: 76635
+Product: Mono: Runtime
+Version: 1.1
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: JIT
+AssignedTo: lupus at ximian.com
+ReportedBy: alp at atoker.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Mono JIT on ARM p/invoke double trouble
+
+With this DllImport:
+
+[DllImport("libpoppler-glib.so.0.0.0")]
+static extern void poppler_page_render_to_pixbuf(IntPtr raw, int src_x, int
+src_y, int src_width, int src_height, double scale, int rotation, IntPtr
+pixbuf);
+
+pixbuf is passed to the unmanaged library as 0 instead of its actual value.
+
+So I wrote this unmanaged wrapper function:
+
+[DllImport("libpoppler-glib.so.0.0.0")]
+static extern void poppler_page_render_to_pixbuf_simple(IntPtr raw, int
+src_x, int src_y, int src_width, int src_height, int scale, int rotation,
+int pixbuf);
+
+When 'scale' is passed as an int to the new function, the value of pixbuf
+is passed to unmanaged code just fine. (The wrapper function converts the
+int scale to a double and calls the original function.)
+
+In other words, it seems that parameters after the double in a p/invoke are
+not passed to unmanaged code correctly.
+
+This is on the same device (Nokia 770) and software environment as reported
+in #76553.
More information about the mono-bugs
mailing list