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
