Quellcode durchsuchen

Add fixes from squirrel.

mingodad vor 9 Jahren
Ursprung
Commit
1d1c557b97
2 geänderte Dateien mit 4 neuen und 5 gelöschten Zeilen
  1. 4 2
      SquiLu/squirrel/sqvm.cpp
  2. 0 3
      SquiLu/squirrel/sqvm.h

+ 4 - 2
SquiLu/squirrel/sqvm.cpp

@@ -20,6 +20,9 @@
 #endif
 
 #define TOP() (_stack._vals[_top-1])
+#define STK(a) _stack._vals[_stackbase+(a)]
+#define TARGET _stack._vals[_stackbase+arg0]
+
 #define EXISTS_FALL_BACK -1
 
 bool SQVM::BW_OP(SQUnsignedInteger op,SQObjectPtr &trg,const SQObjectPtr &o1,const SQObjectPtr &o2)
@@ -1583,9 +1586,8 @@ SQInteger SQVM::FallBackSet(const SQObjectPtr &self,const SQObjectPtr &key,const
 				return FALLBACK_OK;
 			}
 			else {
+                Pop(3);
 				if(type(_lasterror) != OT_NULL) { //NULL means "clean failure" (not found)
-					//error
-					Pop(3);
 					return FALLBACK_ERROR;
 				}
 			}

+ 0 - 3
SquiLu/squirrel/sqvm.h

@@ -32,9 +32,6 @@ struct SQExceptionTrap{
 
 #define _INLINE
 
-#define STK(a) _stack._vals[_stackbase+(a)]
-#define TARGET _stack._vals[_stackbase+arg0]
-
 typedef sqvector<SQExceptionTrap> ExceptionsTraps;
 
 struct SQVM : public CHAINABLE_OBJ