mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Core: Сheck r_error
after calling callp()
This commit is contained in:
parent
a5830f6eb9
commit
49bcdf78a7
7 changed files with 18 additions and 14 deletions
|
@ -954,7 +954,8 @@ bool GDScript::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
if (E) {
|
||||
if (likely(top->valid) && E->value.getter) {
|
||||
Callable::CallError ce;
|
||||
r_ret = const_cast<GDScript *>(this)->callp(E->value.getter, nullptr, 0, ce);
|
||||
const Variant ret = const_cast<GDScript *>(this)->callp(E->value.getter, nullptr, 0, ce);
|
||||
r_ret = (ce.error == Callable::CallError::CALL_OK) ? ret : Variant();
|
||||
return true;
|
||||
}
|
||||
r_ret = top->static_variables[E->value.index];
|
||||
|
@ -1727,10 +1728,9 @@ bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
|
|||
if (E) {
|
||||
if (likely(script->valid) && E->value.getter) {
|
||||
Callable::CallError err;
|
||||
r_ret = const_cast<GDScriptInstance *>(this)->callp(E->value.getter, nullptr, 0, err);
|
||||
if (err.error == Callable::CallError::CALL_OK) {
|
||||
return true;
|
||||
}
|
||||
const Variant ret = const_cast<GDScriptInstance *>(this)->callp(E->value.getter, nullptr, 0, err);
|
||||
r_ret = (err.error == Callable::CallError::CALL_OK) ? ret : Variant();
|
||||
return true;
|
||||
}
|
||||
r_ret = members[E->value.index];
|
||||
return true;
|
||||
|
@ -1752,7 +1752,8 @@ bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
|
|||
if (E) {
|
||||
if (likely(sptr->valid) && E->value.getter) {
|
||||
Callable::CallError ce;
|
||||
r_ret = const_cast<GDScript *>(sptr)->callp(E->value.getter, nullptr, 0, ce);
|
||||
const Variant ret = const_cast<GDScript *>(sptr)->callp(E->value.getter, nullptr, 0, ce);
|
||||
r_ret = (ce.error == Callable::CallError::CALL_OK) ? ret : Variant();
|
||||
return true;
|
||||
}
|
||||
r_ret = sptr->static_variables[E->value.index];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue