From 037ccd09231b19c24a4b80b420bf9b51eea276d9 Mon Sep 17 00:00:00 2001 From: satabol Date: Fri, 23 Dec 2022 20:26:29 +0300 Subject: [PATCH 1/2] fix #4837 (crash Blender if only first vertex in vertices list is empty). --- nodes/viz/viewer_draw_mk4.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/nodes/viz/viewer_draw_mk4.py b/nodes/viz/viewer_draw_mk4.py index 008e567a5..6b1be3597 100644 --- a/nodes/viz/viewer_draw_mk4.py +++ b/nodes/viz/viewer_draw_mk4.py @@ -185,17 +185,20 @@ def view_3d_geom(context, args): bgl.glLineWidth(1) if config.draw_verts: - bgl.glPointSize(config.point_size) - if config.uniform_verts: - v_batch = batch_for_shader(config.v_shader, 'POINTS', {"pos": geom.v_vertices}) - config.v_shader.bind() - config.v_shader.uniform_float("color", config.vector_color[0][0]) - else: - v_batch = batch_for_shader(config.v_shader, 'POINTS', {"pos": geom.v_vertices, "color": geom.points_color}) - config.v_shader.bind() + if len(geom.v_vertices)>0 and len(geom.v_vertices[0])==3 == False: + bgl.glPointSize(config.point_size) + if config.uniform_verts: + v_batch = batch_for_shader(config.v_shader, 'POINTS', {"pos": geom.v_vertices}) + config.v_shader.bind() + config.v_shader.uniform_float("color", config.vector_color[0][0]) + else: + v_batch = batch_for_shader(config.v_shader, 'POINTS', {"pos": geom.v_vertices, "color": geom.points_color}) + config.v_shader.bind() - v_batch.draw(config.v_shader) - bgl.glPointSize(1) + v_batch.draw(config.v_shader) + bgl.glPointSize(1) + else: + pass bgl.glEnable(bgl.GL_BLEND) -- GitLab From df0c68074597fe6bd874a97ac3f740dff7c789fa Mon Sep 17 00:00:00 2001 From: satabol Date: Sat, 24 Dec 2022 13:34:17 +0300 Subject: [PATCH 2/2] errata --- nodes/viz/viewer_draw_mk4.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodes/viz/viewer_draw_mk4.py b/nodes/viz/viewer_draw_mk4.py index 6b1be3597..896c26bef 100644 --- a/nodes/viz/viewer_draw_mk4.py +++ b/nodes/viz/viewer_draw_mk4.py @@ -185,7 +185,7 @@ def view_3d_geom(context, args): bgl.glLineWidth(1) if config.draw_verts: - if len(geom.v_vertices)>0 and len(geom.v_vertices[0])==3 == False: + if len(geom.v_vertices)>0 and (len(geom.v_vertices[0])==3) == True: bgl.glPointSize(config.point_size) if config.uniform_verts: v_batch = batch_for_shader(config.v_shader, 'POINTS', {"pos": geom.v_vertices}) -- GitLab