diff --git a/ruamoko/cl_menu/plistmenu.r b/ruamoko/cl_menu/plistmenu.r index 6bf78bcf0..04d4355b7 100644 --- a/ruamoko/cl_menu/plistmenu.r +++ b/ruamoko/cl_menu/plistmenu.r @@ -49,7 +49,7 @@ class_from_plist (PLDictionary *pldict) local SEL sel; local PLItem *item; - ret.quaternion_val = nil; //FIXME should be ret = nil; + ret = nil; classname = [(PLString*) [pldict getObjectForKey:"Class"] string]; class = obj_lookup_class (classname); if (!class) { @@ -98,7 +98,7 @@ array_from_plist (PLArray *plarray) local int i, count; local @param ret; - ret.quaternion_val = nil; //FIXME should be ret = nil; + ret = nil; array = [[Array alloc] init]; count = [plarray count]; for (i = 0; i < count; i++) { @@ -155,7 +155,7 @@ object_from_plist (PLItem *plist) { local @param ret; - ret.quaternion_val = nil; //FIXME should be ret = nil; + ret = nil; switch ([plist type]) { case QFDictionary: return class_from_plist ((PLDictionary *) plist); diff --git a/tools/qfcc/source/constfold.c b/tools/qfcc/source/constfold.c index 6198df948..2da959716 100644 --- a/tools/qfcc/source/constfold.c +++ b/tools/qfcc/source/constfold.c @@ -876,6 +876,9 @@ do_op_invalid (int op, expr_t *e, expr_t *e1, expr_t *e2) { type_t *t1 = get_type (e1); type_t *t2 = get_type (e2); + + if (e->e.expr.op == 'm') + return e; // assume the rest of the compiler got it right if (is_scalar (t1) && is_scalar (t2)) { // one or both expressions are an enum, and the other is one of // int, float or short. Treat the enum as the other type, or as