PIVariant::toNum from mathvector safety fix

This commit is contained in:
2025-09-22 20:58:58 +03:00
parent 78afc179c4
commit 788ad8f2c0

View File

@@ -715,7 +715,7 @@ int PIVariant::toInt() const {
case PIVariant::pivMathVector: {
PIMathVectord r;
ba >> r;
return r[0];
return r.size() > 0 ? r[0] : 0;
}
case PIVariant::pivCustom: return getAsValue<int>(*this);
default: break;
@@ -825,7 +825,7 @@ llong PIVariant::toLLong() const {
case PIVariant::pivMathVector: {
PIMathVectord r;
ba >> r;
return r[0];
return r.size() > 0 ? r[0] : 0L;
}
case PIVariant::pivCustom: return getAsValue<llong>(*this);
default: break;
@@ -935,7 +935,7 @@ float PIVariant::toFloat() const {
case PIVariant::pivMathVector: {
PIMathVectord r;
ba >> r;
return r[0];
return r.size() > 0 ? r[0] : 0.f;
}
case PIVariant::pivCustom: return getAsValue<float>(*this);
default: break;
@@ -1045,7 +1045,7 @@ double PIVariant::toDouble() const {
case PIVariant::pivMathVector: {
PIMathVectord r;
ba >> r;
return r[0];
return r.size() > 0 ? r[0] : 0.;
}
case PIVariant::pivCustom: return getAsValue<double>(*this);
default: break;
@@ -1155,7 +1155,7 @@ ldouble PIVariant::toLDouble() const {
case PIVariant::pivMathVector: {
PIMathVectord r;
ba >> r;
return r[0];
return r.size() > 0 ? r[0] : 0.;
}
case PIVariant::pivCustom: return getAsValue<float>(*this);
default: break;