nsresult nsSMILValue::Interpolate(const nsSMILValue& aEndVal, double aUnitDistance, nsSMILValue& aResult) const { if (aEndVal.mType != mType) { NS_ERROR("Trying to interpolate between incompatible types"); return NS_ERROR_FAILURE; } if (aResult.mType != mType) { // Outparam has wrong type aResult.DestroyAndReinit(mType); } return mType->Interpolate(*this, aEndVal, aUnitDistance, aResult); }