[Mono-bugs] [Bug 77523][Nor] Changed - PtrToStructure(IntPtr, object) should throw exception if object is not formatted class

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Feb 10 11:45:16 EST 2006


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 kornelpal at hotmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=77523

--- shadow/77523	2006-02-10 11:02:22.000000000 -0500
+++ shadow/77523.tmp.30586	2006-02-10 11:45:15.000000000 -0500
@@ -54,6 +54,21 @@
 
 ------- Additional Comments From jonathan.chambers at ansys.com  2006-02-10 11:02 -------
 Actually, LOGFONTA/LOGFONTW should be a formatted class, not a struct.
 Here is an MSDN article about using ToLogFont.
 http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/dnaraskdr/html/askgui12302003.asp
 
+
+------- Additional Comments From kornelpal at hotmail.com  2006-02-10 11:45 -------
+Note that structures are boxed when casting to object, so they are 
+copied rather than passed by reference. This causes the above MSDN 
+sample code to fail. But if you save the boxed object prior to 
+passing to ToLogFont you can use the modified structure as well:
+
+object log1 = new LOGFONT();
+LOGFONT log2;
+font.ToLogFont(log1);
+log2 = (LOGFONT)log1;
+
+Thus PtrToStructure can and should work with structures because it 
+expects an object so it will get a boxed structure that can be 
+modified.


More information about the mono-bugs mailing list