mirror of
https://github.com/zyedidia/micro.git
synced 2026-02-06 15:10:27 +09:00
@@ -388,6 +388,7 @@ func DoEvent() {
|
||||
var event tcell.Event
|
||||
|
||||
// Display everything
|
||||
screen.DrawLock.Lock()
|
||||
screen.Screen.Fill(' ', config.DefStyle)
|
||||
screen.Screen.HideCursor()
|
||||
action.Tabs.Display()
|
||||
@@ -397,6 +398,7 @@ func DoEvent() {
|
||||
action.MainTab().Display()
|
||||
action.InfoBar.Display()
|
||||
screen.Screen.Show()
|
||||
screen.DrawLock.Unlock()
|
||||
|
||||
// Check for new events
|
||||
select {
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user