From 828f7aa8037c66eb4625add016d337baafd9245a Mon Sep 17 00:00:00 2001
From: faiface <faiface@ksp.sk>
Date: Wed, 11 Jan 2017 00:35:16 +0100
Subject: [PATCH] avoid possible race condition

---
 window.go | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/window.go b/window.go
index 1a9248c..9f4f6e8 100644
--- a/window.go
+++ b/window.go
@@ -379,20 +379,24 @@ func (wt *windowTriangles) Len() int {
 }
 
 func (wt *windowTriangles) Draw() {
+	pic := wt.w.pic // avoid
+	mat := wt.w.mat // race
+	col := wt.w.col // condition
+
 	pixelgl.DoNoBlock(func() {
 		wt.w.begin()
 
-		wt.w.shader.SetUniformAttr(transformMat3, wt.w.mat)
-		wt.w.shader.SetUniformAttr(maskColorVec4, wt.w.col)
+		wt.w.shader.SetUniformAttr(transformMat3, mat)
+		wt.w.shader.SetUniformAttr(maskColorVec4, col)
 
-		if wt.w.pic != nil {
-			wt.w.pic.Texture().Begin()
+		if pic != nil {
+			pic.Texture().Begin()
 		}
 		wt.vs.Begin()
 		wt.vs.Draw()
 		wt.vs.End()
-		if wt.w.pic != nil {
-			wt.w.pic.Texture().End()
+		if pic != nil {
+			pic.Texture().End()
 		}
 
 		wt.w.end()
-- 
GitLab