mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-05-19 16:19:07 -07:00
Fixed minor regression
This commit is contained in:
@@ -209,7 +209,7 @@ ConfigBase::set(t_config_option_key opt_key, SV* value) {
|
||||
optv->values.push_back(std::string(SvPV_nolen(*elem), SvCUR(*elem)));
|
||||
}
|
||||
} else if (ConfigOptionPoint* optv = dynamic_cast<ConfigOptionPoint*>(opt)) {
|
||||
return optv->point.from_SV(value);
|
||||
return optv->point.from_SV_check(value);
|
||||
} else if (ConfigOptionPoints* optv = dynamic_cast<ConfigOptionPoints*>(opt)) {
|
||||
std::vector<Pointf> values;
|
||||
AV* av = (AV*)SvRV(value);
|
||||
@@ -217,7 +217,7 @@ ConfigBase::set(t_config_option_key opt_key, SV* value) {
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
SV** elem = av_fetch(av, i, 0);
|
||||
Pointf point;
|
||||
if (elem == NULL || !point.from_SV(*elem)) return false;
|
||||
if (elem == NULL || !point.from_SV_check(*elem)) return false;
|
||||
values.push_back(point);
|
||||
}
|
||||
optv->values = values;
|
||||
|
||||
@@ -306,15 +306,16 @@ Pointf::from_SV(SV* point_sv)
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
Pointf::from_SV_check(SV* point_sv)
|
||||
{
|
||||
if (sv_isobject(point_sv) && (SvTYPE(SvRV(point_sv)) == SVt_PVMG)) {
|
||||
if (!sv_isa(point_sv, perl_class_name(this)) && !sv_isa(point_sv, perl_class_name_ref(this)))
|
||||
CONFESS("Not a valid %s object (got %s)", perl_class_name(this), HvNAME(SvSTASH(SvRV(point_sv))));
|
||||
*this = *(Pointf*)SvIV((SV*)SvRV( point_sv ));
|
||||
return true;
|
||||
} else {
|
||||
this->from_SV(point_sv);
|
||||
return this->from_SV(point_sv);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -75,7 +75,7 @@ class Pointf
|
||||
|
||||
#ifdef SLIC3RXS
|
||||
bool from_SV(SV* point_sv);
|
||||
void from_SV_check(SV* point_sv);
|
||||
bool from_SV_check(SV* point_sv);
|
||||
SV* to_SV_pureperl() const;
|
||||
#endif
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user