Commit: a7ef3126115e907e03efac2297eea725017477f2
Author: Campbell Barton
Date:   Tue Feb 27 20:44:12 2018 +1100
Branches: master
https://developer.blender.org/rBa7ef3126115e907e03efac2297eea725017477f2

GPU_select: correction to select-pick-finalize

Would run twice, harmless at the moment but could cause issues later.

===================================================================

M       source/blender/gpu/intern/gpu_select_pick.c

===================================================================

diff --git a/source/blender/gpu/intern/gpu_select_pick.c 
b/source/blender/gpu/intern/gpu_select_pick.c
index d7a3ad07558..bd6b43ee42f 100644
--- a/source/blender/gpu/intern/gpu_select_pick.c
+++ b/source/blender/gpu/intern/gpu_select_pick.c
@@ -255,6 +255,7 @@ typedef struct GPUPickState {
 
                /* Set after first draw */
                bool is_init;
+               bool is_finalized;
                unsigned int prev_id;
        } gl;
 
@@ -366,6 +367,7 @@ void gpu_select_pick_begin(
 #endif
 
                ps->gl.is_init = false;
+               ps->gl.is_finalized = false;
                ps->gl.prev_id = 0;
        }
        else {
@@ -537,6 +539,7 @@ void gpu_select_pick_finalize(void)
                /* force finishing last pass */
                gpu_select_pick_load_id(ps->gl.prev_id);
        }
+       ps->gl.is_finalized = true;
 }
 
 unsigned int gpu_select_pick_end(void)
@@ -548,7 +551,9 @@ unsigned int gpu_select_pick_end(void)
 #endif
 
        if (ps->is_cached == false) {
-               gpu_select_pick_finalize();
+               if (ps->gl.is_finalized == false) {
+                       gpu_select_pick_finalize();
+               }
 
                glPopAttrib();
                glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to