Index: cpp/frams/util/extvalue.cpp
===================================================================
--- cpp/frams/util/extvalue.cpp	(revision 849)
+++ cpp/frams/util/extvalue.cpp	(revision 851)
@@ -964,4 +964,8 @@
 		logPrintf("ExtValue", "getInt", LOG_ERROR, "Getting integer value from object reference (%s)", getString().c_str());
 		return (paInt)(intptr_t)odata().param;
+	case TUnknown:
+	case TInvalid:
+		logPrintf("ExtValue", "getInt", LOG_ERROR, "Getting integer value from %s", getString().c_str());
+		return 0;
 	default:;
 	}
@@ -979,4 +983,8 @@
 		logPrintf("ExtValue", "getDouble", LOG_ERROR, "Getting floating point value from object reference (%s)", getString().c_str());
 		return (double)(intptr_t)odata().param;
+	case TUnknown:
+	case TInvalid:
+		logPrintf("ExtValue", "getInt", LOG_ERROR, "Getting floating point value from %s", getString().c_str());
+		return 0.0;
 	default:;
 	}
Index: cpp/frams/util/extvalue.h
===================================================================
--- cpp/frams/util/extvalue.h	(revision 849)
+++ cpp/frams/util/extvalue.h	(revision 851)
@@ -56,14 +56,14 @@
 	};
 
-	void copyFrom(const ExtObject& src)  { subtype = src.subtype; object = src.object; param = src.param; }
-
-	void* operator new(size_t s, void* mem){ return mem; }
+	void copyFrom(const ExtObject& src) { subtype = src.subtype; object = src.object; param = src.param; }
+
+	void* operator new(size_t s, void* mem) { return mem; }
 #ifdef _MSC_VER
-		void operator delete(void* mem, void* t) {}
-#endif
-	void* operator new(size_t s){ return malloc(sizeof(ExtObject)); }
+	void operator delete(void* mem, void* t) {}
+#endif
+	void* operator new(size_t s) { return malloc(sizeof(ExtObject)); }
 	void operator delete(void* mem) { free(mem); }
 	///@param tmp_param can be used for temporary storage, the result ParamInterface* is only valid for as long as tmp_param is valid
-	ParamInterface *getParamInterface(Param &tmp_param) const  { if (subtype & 2){ tmp_param.setParamTab(param->getParamTab()); tmp_param.select(object); return &tmp_param; } return paraminterface; }
+	ParamInterface *getParamInterface(Param &tmp_param) const { if (subtype & 2) { tmp_param.setParamTab(param->getParamTab()); tmp_param.select(object); return &tmp_param; } return paraminterface; }
 	const char* interfaceName() const { if (isEmpty()) return "Empty"; return (subtype & 2) ? param->getName() : paraminterface->getName(); }
 	bool matchesInterfaceName(ParamInterface* pi) const { return !strcmp(interfaceName(), pi->getName()); }
@@ -74,5 +74,5 @@
 	int isEmpty() const { return !param; }
 	static const ExtObject& empty() { static const ExtObject e((ParamInterface*)NULL); return e; }
-	ExtObject(const ExtObject& src)      { DEBUG_EXTOBJECT("(const&)"); src.incref(); copyFrom(src); }
+	ExtObject(const ExtObject& src) { DEBUG_EXTOBJECT("(const&)"); src.incref(); copyFrom(src); }
 	void operator=(const ExtObject& src) { src.incref(); decref(); copyFrom(src); }
 	bool makeUnique();//< @return false if nothing has changed
@@ -86,8 +86,8 @@
 	ExtObject(Param *p, void *o) :subtype(2), object(o), param(p) { DEBUG_EXTOBJECT("(Param,void)"); }
 	ExtObject(ParamInterface *p = 0) :subtype(0), object(0), paraminterface(p) { DEBUG_EXTOBJECT("(ParamInterface)"); }
-	ExtObject(Param *p, DestrBase *o) :subtype(1 + 2), dbobject(o), param(p){ DEBUG_EXTOBJECT("(Param,DestrBase)"); incref(); }
-	ExtObject(ParamInterface *p, DestrBase *o) :subtype(1), dbobject(o), paraminterface(p){ DEBUG_EXTOBJECT("(ParamInterface,DestrBase)"); incref(); }
-
-	~ExtObject(){ DEBUG_EXTOBJECT("~"); decref(); }
+	ExtObject(Param *p, DestrBase *o) :subtype(1 + 2), dbobject(o), param(p) { DEBUG_EXTOBJECT("(Param,DestrBase)"); incref(); }
+	ExtObject(ParamInterface *p, DestrBase *o) :subtype(1), dbobject(o), paraminterface(p) { DEBUG_EXTOBJECT("(ParamInterface,DestrBase)"); incref(); }
+
+	~ExtObject() { DEBUG_EXTOBJECT("~"); decref(); }
 
 	class Serialization
@@ -132,8 +132,8 @@
 #endif
 
-	void* operator new(size_t s, void* mem){ return mem; }
-	void* operator new(size_t s){ return ::operator new(s); }
-
-		ExtValue() :type(TUnknown){}
+	void* operator new(size_t s, void* mem) { return mem; }
+	void* operator new(size_t s) { return ::operator new(s); }
+
+	ExtValue() :type(TUnknown) {}
 	~ExtValue() { setEmpty(); }
 	ExtValue(paInt v) { seti(v); }
@@ -225,5 +225,5 @@
 
 private: // setrx - release and set, setx - assume released
-	void setr(const ExtValue& src){ setEmpty(); set(src); }
+	void setr(const ExtValue& src) { setEmpty(); set(src); }
 	void set(const ExtValue& src);
 	void setri(paInt v) { setEmpty(); seti(v); }
