Browse Source

fix livelock

QueueUpdateDraw blocks!
pull/288/head
iacore 5 months ago
parent
commit
c697d35403
No known key found for this signature in database
  1. 2
      ui/feed.go
  2. 2
      ui/mainview.go
  3. 8
      ui/modalview.go

2
ui/feed.go

@ -90,7 +90,7 @@ func (f *Feed) DrawContent() {
func (ui *Feed) CreateUpdateCallback() feed.FeedUpdateCallBack {
return func(logical *feed.Feed, nft feed.DesktopNotification) {
feed.SendDesktopNotification(ui.tutView.tut.Config.NotificationConfig, nft)
ui.tutView.tut.App.QueueUpdateDraw(func() {
go ui.tutView.tut.App.QueueUpdateDraw(func() {
lLen := ui.List.GetItemCount()
curr := ui.List.GetCurrentID()
ui.List.Clear()

2
ui/mainview.go

@ -28,7 +28,7 @@ func NewMainView(tv *TutView) *MainView {
func (mv *MainView) Be_ForceUpdate(from phony.Actor) {
mv.Act(from, func() {
tv := mv.tv
tv.tut.App.QueueUpdateDraw(func() {
go tv.tut.App.QueueUpdateDraw(func() {
tv.MainView.View = mv.mainViewUI(tv)
tv.ShouldSync()
})

8
ui/modalview.go

@ -43,7 +43,7 @@ func (mv *ModalView) Be_Done(from phony.Actor, res bool) {
} else {
action.fnNo()
}
mv.tutView.tut.App.QueueUpdateDraw(func() {
go mv.tutView.tut.App.QueueUpdateDraw(func() {
mv.tutView.PrevFocus()
})
})
@ -61,9 +61,9 @@ func (mv *ModalView) Be_OpenConfirm(from phony.Actor, text string, fn func()) {
func (mv *ModalView) Be_Open(from phony.Actor, text string, fnYes func(), fnNo func()) {
mv.Act(from, func() {
mv.onceAction = &ModelViewOnceAction{fnYes, fnNo}
mv.View.SetFocus(0)
mv.View.SetText(text)
mv.tutView.tut.App.QueueUpdateDraw(func() {
go mv.tutView.tut.App.QueueUpdateDraw(func() {
mv.View.SetFocus(0)
mv.View.SetText(text)
mv.tutView.SetPage(ModalFocus)
})
})

Loading…
Cancel
Save