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 [EMAIL PROTECTED]

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: [EMAIL PROTECTED]                            
+ReportedBy: [EMAIL PROTECTED]               
+QAContact: [EMAIL PROTECTED]
+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.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to