Fix many errors found by PVS-Studio
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.
This commit is contained in:
parent
aa08ef2bed
commit
cb01268562
10 changed files with 25 additions and 23 deletions
|
@ -2149,7 +2149,7 @@ void Variant::set(const Variant &p_index, const Variant &p_value, bool *r_valid)
|
||||||
int idx = p_index;
|
int idx = p_index;
|
||||||
if (idx < 0)
|
if (idx < 0)
|
||||||
idx += 4;
|
idx += 4;
|
||||||
if (idx >= 0 || idx < 4) {
|
if (idx >= 0 && idx < 4) {
|
||||||
Color *v = reinterpret_cast<Color *>(_data._mem);
|
Color *v = reinterpret_cast<Color *>(_data._mem);
|
||||||
(*v)[idx] = p_value;
|
(*v)[idx] = p_value;
|
||||||
valid = true;
|
valid = true;
|
||||||
|
@ -2524,7 +2524,7 @@ Variant Variant::get(const Variant &p_index, bool *r_valid) const {
|
||||||
int idx = p_index;
|
int idx = p_index;
|
||||||
if (idx < 0)
|
if (idx < 0)
|
||||||
idx += 4;
|
idx += 4;
|
||||||
if (idx >= 0 || idx < 4) {
|
if (idx >= 0 && idx < 4) {
|
||||||
const Color *v = reinterpret_cast<const Color *>(_data._mem);
|
const Color *v = reinterpret_cast<const Color *>(_data._mem);
|
||||||
valid = true;
|
valid = true;
|
||||||
return (*v)[idx];
|
return (*v)[idx];
|
||||||
|
|
|
@ -99,7 +99,7 @@ void ShaderGLES2::bind_uniforms() {
|
||||||
const Map<uint32_t, CameraMatrix>::Element *C = uniform_cameras.front();
|
const Map<uint32_t, CameraMatrix>::Element *C = uniform_cameras.front();
|
||||||
|
|
||||||
while (C) {
|
while (C) {
|
||||||
int idx = E->key();
|
int idx = C->key();
|
||||||
int location = version->uniform_location[idx];
|
int location = version->uniform_location[idx];
|
||||||
|
|
||||||
if (location < 0) {
|
if (location < 0) {
|
||||||
|
|
|
@ -154,7 +154,7 @@ void EditorSpinSlider::_grabber_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
void EditorSpinSlider::_notification(int p_what) {
|
void EditorSpinSlider::_notification(int p_what) {
|
||||||
|
|
||||||
if (p_what == MainLoop::NOTIFICATION_WM_FOCUS_OUT || p_what == MainLoop::NOTIFICATION_WM_FOCUS_OUT) {
|
if (p_what == MainLoop::NOTIFICATION_WM_FOCUS_OUT || p_what == MainLoop::NOTIFICATION_WM_FOCUS_IN) {
|
||||||
if (grabbing_spinner) {
|
if (grabbing_spinner) {
|
||||||
Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE);
|
Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE);
|
||||||
grabbing_spinner = false;
|
grabbing_spinner = false;
|
||||||
|
|
|
@ -849,7 +849,7 @@ void AnimationNodeStateMachineEditor::_state_machine_pos_draw() {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int idx = -1;
|
int idx = -1;
|
||||||
for (int i = 0; node_rects.size(); i++) {
|
for (int i = 0; i < node_rects.size(); i++) {
|
||||||
if (node_rects[i].node_name == playback->get_current_node()) {
|
if (node_rects[i].node_name == playback->get_current_node()) {
|
||||||
idx = i;
|
idx = i;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -598,7 +598,7 @@ bool SpriteFramesEditor::can_drop_data_fw(const Point2 &p_point, const Variant &
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (int i = 0; i < files.size(); i++) {
|
for (int i = 0; i < files.size(); i++) {
|
||||||
String file = files[0];
|
String file = files[i];
|
||||||
String ftype = EditorFileSystem::get_singleton()->get_file_type(file);
|
String ftype = EditorFileSystem::get_singleton()->get_file_type(file);
|
||||||
|
|
||||||
if (!ClassDB::is_parent_class(ftype, "Texture")) {
|
if (!ClassDB::is_parent_class(ftype, "Texture")) {
|
||||||
|
|
|
@ -180,7 +180,7 @@ static String dump_node_code(SL::Node *p_node, int p_level) {
|
||||||
|
|
||||||
String scode = dump_node_code(bnode->statements[i], p_level);
|
String scode = dump_node_code(bnode->statements[i], p_level);
|
||||||
|
|
||||||
if (bnode->statements[i]->type == SL::Node::TYPE_CONTROL_FLOW || bnode->statements[i]->type == SL::Node::TYPE_CONTROL_FLOW) {
|
if (bnode->statements[i]->type == SL::Node::TYPE_CONTROL_FLOW) {
|
||||||
code += scode; //use directly
|
code += scode; //use directly
|
||||||
} else {
|
} else {
|
||||||
code += _mktab(p_level) + scode + ";\n";
|
code += _mktab(p_level) + scode + ";\n";
|
||||||
|
|
|
@ -132,7 +132,7 @@ GDScriptDataType GDScriptCompiler::_gdtype_from_datatype(const GDScriptParser::D
|
||||||
result.kind = GDScriptDataType::SCRIPT;
|
result.kind = GDScriptDataType::SCRIPT;
|
||||||
result.script_type = p_datatype.script_type;
|
result.script_type = p_datatype.script_type;
|
||||||
result.native_type = result.script_type->get_instance_base_type();
|
result.native_type = result.script_type->get_instance_base_type();
|
||||||
}
|
} break;
|
||||||
case GDScriptParser::DataType::GDSCRIPT: {
|
case GDScriptParser::DataType::GDSCRIPT: {
|
||||||
result.kind = GDScriptDataType::GDSCRIPT;
|
result.kind = GDScriptDataType::GDSCRIPT;
|
||||||
result.script_type = p_datatype.script_type;
|
result.script_type = p_datatype.script_type;
|
||||||
|
|
|
@ -691,7 +691,7 @@ void CPUParticles::_particles_process(float p_delta) {
|
||||||
|
|
||||||
if (flags[FLAG_DISABLE_Z]) {
|
if (flags[FLAG_DISABLE_Z]) {
|
||||||
p.velocity.z = 0.0;
|
p.velocity.z = 0.0;
|
||||||
p.velocity.z = 0.0;
|
p.transform.origin.z = 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (!p.active) {
|
} else if (!p.active) {
|
||||||
|
@ -757,15 +757,15 @@ void CPUParticles::_particles_process(float p_delta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 force = gravity;
|
Vector3 force = gravity;
|
||||||
Vector3 pos = p.transform.origin;
|
Vector3 position = p.transform.origin;
|
||||||
if (flags[FLAG_DISABLE_Z]) {
|
if (flags[FLAG_DISABLE_Z]) {
|
||||||
pos.z = 0.0;
|
position.z = 0.0;
|
||||||
}
|
}
|
||||||
//apply linear acceleration
|
//apply linear acceleration
|
||||||
force += p.velocity.length() > 0.0 ? p.velocity.normalized() * (parameters[PARAM_LINEAR_ACCEL] + tex_linear_accel) * Math::lerp(1.0f, rand_from_seed(alt_seed), randomness[PARAM_LINEAR_ACCEL]) : Vector3();
|
force += p.velocity.length() > 0.0 ? p.velocity.normalized() * (parameters[PARAM_LINEAR_ACCEL] + tex_linear_accel) * Math::lerp(1.0f, rand_from_seed(alt_seed), randomness[PARAM_LINEAR_ACCEL]) : Vector3();
|
||||||
//apply radial acceleration
|
//apply radial acceleration
|
||||||
Vector3 org = emission_xform.origin;
|
Vector3 org = emission_xform.origin;
|
||||||
Vector3 diff = pos - org;
|
Vector3 diff = position - org;
|
||||||
force += diff.length() > 0.0 ? diff.normalized() * (parameters[PARAM_RADIAL_ACCEL] + tex_radial_accel) * Math::lerp(1.0f, rand_from_seed(alt_seed), randomness[PARAM_RADIAL_ACCEL]) : Vector3();
|
force += diff.length() > 0.0 ? diff.normalized() * (parameters[PARAM_RADIAL_ACCEL] + tex_radial_accel) * Math::lerp(1.0f, rand_from_seed(alt_seed), randomness[PARAM_RADIAL_ACCEL]) : Vector3();
|
||||||
//apply tangential acceleration;
|
//apply tangential acceleration;
|
||||||
if (flags[FLAG_DISABLE_Z]) {
|
if (flags[FLAG_DISABLE_Z]) {
|
||||||
|
|
|
@ -401,7 +401,7 @@ String SoftBody::get_configuration_warning() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
Transform t = get_transform();
|
Transform t = get_transform();
|
||||||
if ((ABS(t.basis.get_axis(0).length() - 1.0) > 0.05 || ABS(t.basis.get_axis(1).length() - 1.0) > 0.05 || ABS(t.basis.get_axis(0).length() - 1.0) > 0.05)) {
|
if ((ABS(t.basis.get_axis(0).length() - 1.0) > 0.05 || ABS(t.basis.get_axis(1).length() - 1.0) > 0.05 || ABS(t.basis.get_axis(2).length() - 1.0) > 0.05)) {
|
||||||
if (!warning.empty())
|
if (!warning.empty())
|
||||||
warning += "\n\n";
|
warning += "\n\n";
|
||||||
|
|
||||||
|
|
|
@ -994,11 +994,11 @@ void AtlasTexture::_bind_methods() {
|
||||||
|
|
||||||
void AtlasTexture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_modulate, bool p_transpose, const Ref<Texture> &p_normal_map) const {
|
void AtlasTexture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_modulate, bool p_transpose, const Ref<Texture> &p_normal_map) const {
|
||||||
|
|
||||||
Rect2 rc = region;
|
|
||||||
|
|
||||||
if (!atlas.is_valid())
|
if (!atlas.is_valid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Rect2 rc = region;
|
||||||
|
|
||||||
if (rc.size.width == 0) {
|
if (rc.size.width == 0) {
|
||||||
rc.size.width = atlas->get_width();
|
rc.size.width = atlas->get_width();
|
||||||
}
|
}
|
||||||
|
@ -1013,11 +1013,11 @@ void AtlasTexture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_m
|
||||||
|
|
||||||
void AtlasTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, const Color &p_modulate, bool p_transpose, const Ref<Texture> &p_normal_map) const {
|
void AtlasTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, const Color &p_modulate, bool p_transpose, const Ref<Texture> &p_normal_map) const {
|
||||||
|
|
||||||
Rect2 rc = region;
|
|
||||||
|
|
||||||
if (!atlas.is_valid())
|
if (!atlas.is_valid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Rect2 rc = region;
|
||||||
|
|
||||||
if (rc.size.width == 0) {
|
if (rc.size.width == 0) {
|
||||||
rc.size.width = atlas->get_width();
|
rc.size.width = atlas->get_width();
|
||||||
}
|
}
|
||||||
|
@ -1048,11 +1048,11 @@ void AtlasTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, cons
|
||||||
|
|
||||||
bool AtlasTexture::get_rect_region(const Rect2 &p_rect, const Rect2 &p_src_rect, Rect2 &r_rect, Rect2 &r_src_rect) const {
|
bool AtlasTexture::get_rect_region(const Rect2 &p_rect, const Rect2 &p_src_rect, Rect2 &r_rect, Rect2 &r_src_rect) const {
|
||||||
|
|
||||||
Rect2 rc = region;
|
|
||||||
|
|
||||||
if (!atlas.is_valid())
|
if (!atlas.is_valid())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
Rect2 rc = region;
|
||||||
|
|
||||||
Rect2 src = p_src_rect;
|
Rect2 src = p_src_rect;
|
||||||
if (src.size == Size2()) {
|
if (src.size == Size2()) {
|
||||||
src.size = rc.size;
|
src.size = rc.size;
|
||||||
|
@ -1084,11 +1084,13 @@ bool AtlasTexture::get_rect_region(const Rect2 &p_rect, const Rect2 &p_src_rect,
|
||||||
|
|
||||||
bool AtlasTexture::is_pixel_opaque(int p_x, int p_y) const {
|
bool AtlasTexture::is_pixel_opaque(int p_x, int p_y) const {
|
||||||
|
|
||||||
if (atlas.is_valid()) {
|
if (!atlas.is_valid())
|
||||||
return atlas->is_pixel_opaque(p_x + region.position.x + margin.position.x, p_x + region.position.y + margin.position.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
int x = p_x + region.position.x + margin.position.x;
|
||||||
|
int y = p_y + region.position.y + margin.position.y;
|
||||||
|
|
||||||
|
return atlas->is_pixel_opaque(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
AtlasTexture::AtlasTexture() {
|
AtlasTexture::AtlasTexture() {
|
||||||
|
|
Loading…
Reference in a new issue