]> git.lizzy.rs Git - micro.git/blobdiff - internal/screen/screen.go
Ensure screen cannot draw during a term prompt
[micro.git] / internal / screen / screen.go
index 967e8617e1c9ab7d9f9b4dbd3915323007af721d..0f1cd64b0ab57afe8a0ed87c492cc0621804c531 100644 (file)
@@ -24,6 +24,7 @@ var Events chan (tcell.Event)
 
 // The lock is necessary since the screen is polled on a separate thread
 var lock sync.Mutex
+var DrawLock sync.Mutex
 
 // drawChan is a channel that will cause the screen to redraw when
 // written to even if no event user event has occurred
@@ -120,6 +121,7 @@ func TempFini() bool {
        if !screenWasNil {
                Screen.Fini()
                Lock()
+               DrawLock.Lock()
                Screen = nil
        }
        return screenWasNil
@@ -130,6 +132,7 @@ func TempStart(screenWasNil bool) {
        if !screenWasNil {
                Init()
                Unlock()
+               DrawLock.Unlock()
        }
 }