ecere/com/dataTypes: Avoid infinite recursion on bit classes holding themselves
authorJerome St-Louis <jerome@ecere.com>
Sun, 10 Apr 2016 06:17:13 +0000 (02:17 -0400)
committerJerome St-Louis <jerome@ecere.com>
Fri, 29 Apr 2016 16:27:11 +0000 (12:27 -0400)
ecere/src/com/dataTypes.ec

index 0baf915..5a61add 100644 (file)
@@ -705,7 +705,7 @@ static const char * OnGetString(Class _class, void * data, char * tempString, vo
 
                         //value.ui = (((uint)data & bitMember.mask) >> bitMember.pos);
                         value.ui64 = ((*(uint*)data & bitMember.mask) >> bitMember.pos);
-                        if(value.ui64)
+                        if(value.ui64 && (memberType != _class))  // Avoid infinite recursion on bit classes holding themselves
                         {
                            bool needClass = true;
                            char internalMemberString[1024];