fixed XBO support
@@ -378,7 +378,7 @@ DEFINE_PRIM(_DYN, make_var_args, _FUN(_DYN,_ARR));
DEFINE_PRIM(_DYN, call_method, _DYN _ARR);
-#ifdef HL_VCC
+#if defined(HL_VCC) && !defined(HL_XBO)
static int throw_handler( int code ) {
switch( code ) {
case EXCEPTION_ACCESS_VIOLATION: hl_error("Access violation");
@@ -394,12 +394,12 @@ HL_PRIM vdynamic *hl_dyn_call_safe( vclosure *c, vdynamic **args, int nargs, boo
vdynamic *exc;
*isException = false;
hl_trap(trap, exc, on_exception);
-# ifdef HL_VCC
+# if defined(HL_VCC) && !defined(HL_XBO)
__try {
-# endif
return hl_dyn_call(c,args,nargs);
-# ifdef HL_VCC
} __except( throw_handler(GetExceptionCode()) ) {}
+# else
+ return hl_dyn_call(c,args,nargs);
# endif
on_exception:
*isException = true;
