[Mono-bugs] [Bug 59306][Maj] Changed - Marshalling broken

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 29 May 2004 19:51:24 -0400 (EDT)

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 vladimir@pobox.com.


--- shadow/59306	2004-05-29 19:34:46.000000000 -0400
+++ shadow/59306.tmp.30696	2004-05-29 19:51:24.000000000 -0400
@@ -1,14 +1,14 @@
 Bug#: 59306
 Product: Mono: Runtime
 Version: unspecified
+OS: unknown
 OS Details: 
 Status: NEW   
+Severity: Unknown
 Priority: Major
 Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: edd@usefulinc.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -49,6 +49,15 @@
 ------- Additional Comments From edd@usefulinc.com  2004-05-29 19:34 -------
 Created an attachment (id=7933)
 Complete test case
+------- Additional Comments From vladimir@pobox.com  2004-05-29 19:51 -------
+If there's no translation, gettext() returns the pointer passed in. 
+In the mono case, that pointer was generated during marshalling, and
+its contents were already freed.  If it's returned as a string, the
+runtime will try to free it again after marshalling it into a string.
+ If it's returned as an intptr, it's not a valid pointer because the
+runtime has already freed it.  So, you're stuck passing IntPtrs around
+and comparing them afterwards. :)