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