dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] pnet ChangeLog engine/debugger.c


From: Radek Polak
Subject: [dotgnu-pnet-commits] pnet ChangeLog engine/debugger.c
Date: Fri, 07 Dec 2007 12:36:13 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    pnet
Changes by:     Radek Polak <radekp>    07/12/07 12:36:13

Modified files:
        .              : ChangeLog 
        engine         : debugger.c 

Log message:
        fix locals variables inside struct members

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3522&r2=1.3523
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/debugger.c?cvsroot=dotgnu-pnet&r1=1.26&r2=1.27

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3522
retrieving revision 1.3523
diff -u -b -r1.3522 -r1.3523
--- ChangeLog   1 Dec 2007 14:45:55 -0000       1.3522
+++ ChangeLog   7 Dec 2007 12:36:13 -0000       1.3523
@@ -1,3 +1,9 @@
+2007-12-07  Radek Polak  <address@hidden>
+
+       * engine/debugger.c: Fix debugger crash when watching "this" in struct
+       members. The pointer to "this" has to be boxed before it is passed to
+       DebuggerHelper as object reference.
+
 2007-12-01  Klaus Treichel  <address@hidden>
 
        * libffi/fficonfig.h.in: Delete the autogenerated file again.

Index: engine/debugger.c
===================================================================
RCS file: /sources/dotgnu-pnet/pnet/engine/debugger.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- engine/debugger.c   22 Oct 2007 04:41:47 -0000      1.26
+++ engine/debugger.c   7 Dec 2007 12:36:13 -0000       1.27
@@ -1434,6 +1434,14 @@
        else
        {
                obj = *(ILObject **)(ptr);
+
+               /* Box if class inherits from value type (e.g. struct) */
+               if(ILType_IsClass(type) && 
ILClassIsValueType(ILType_ToClass(type)))
+               {
+                       obj = ILExecThreadBox(thread,
+                                                                       
ILType_FromValueType(ILType_ToClass(type)),
+                                                                               
                                                (void *) obj);
+               }
        }
 
        clrType = _ILGetClrTypeForILType(thread, type);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]