Selaa lähdekoodia

Fixed interface null downcast issue.

woollybah 8 vuotta sitten
vanhempi
commit
04b3a809d8
1 muutettua tiedostoa jossa 5 lisäystä ja 5 poistoa
  1. 5 5
      blitz.mod/blitz_object.c

+ 5 - 5
blitz.mod/blitz_object.c

@@ -25,7 +25,7 @@ BBClass bbObjectClass={
 	bbObjectSendMessage,
 	bbObjectSendMessage,
 	0,             //interface
 	0,             //interface
 	0,             //extra
 	0,             //extra
-	0,             //obj_size
+	0              //obj_size
 };
 };
 
 
 BBObject bbNullObject={
 BBObject bbNullObject={
@@ -146,7 +146,7 @@ BBObject * bbInterfaceDowncast(BBOBJECT o, BBINTERFACE ifc) {
 
 
 	BBCLASS superclas = o->clas;
 	BBCLASS superclas = o->clas;
 
 
-	do {
+	while (superclas) {
 		BBCLASS clas = superclas;
 		BBCLASS clas = superclas;
 		superclas = clas->super;
 		superclas = clas->super;
 
 
@@ -160,7 +160,7 @@ BBObject * bbInterfaceDowncast(BBOBJECT o, BBINTERFACE ifc) {
 				offsets++;
 				offsets++;
 			}
 			}
 		}
 		}
-	} while (superclas);
+	}
 
 
 	return &bbNullObject;
 	return &bbNullObject;
 }
 }
@@ -170,7 +170,7 @@ void * bbObjectInterface(BBOBJECT o, BBINTERFACE ifc) {
 
 
 	BBCLASS superclas = o->clas;
 	BBCLASS superclas = o->clas;
 
 
-	do {
+	while (superclas) {
 		BBCLASS clas = superclas;
 		BBCLASS clas = superclas;
 		superclas = clas->super;
 		superclas = clas->super;
 
 
@@ -184,7 +184,7 @@ void * bbObjectInterface(BBOBJECT o, BBINTERFACE ifc) {
 				offsets++;
 				offsets++;
 			}
 			}
 		}
 		}
-	} while (superclas);
+	}
 
 
 	return &bbNullObject;
 	return &bbNullObject;
 }
 }