diff --git a/cmd/syncthing/summarysvc.go b/cmd/syncthing/summarysvc.go index 02f6c9fe7..44ab7fc38 100644 --- a/cmd/syncthing/summarysvc.go +++ b/cmd/syncthing/summarysvc.go @@ -66,21 +66,25 @@ func (c *folderSummarySvc) listenForUpdates() { data := ev.Data.(map[string]interface{}) folder := data["folder"].(string) - if ev.Type == events.StateChanged && data["to"].(string) == "idle" && data["from"].(string) == "syncing" { - // The folder changed to idle from syncing. We should do an - // immediate refresh to update the GUI. The send to - // c.immediate must be nonblocking so that we can continue - // handling events. + switch ev.Type { + case events.StateChanged: + if data["to"].(string) == "idle" && data["from"].(string) == "syncing" { + // The folder changed to idle from syncing. We should do an + // immediate refresh to update the GUI. The send to + // c.immediate must be nonblocking so that we can continue + // handling events. - select { - case c.immediate <- folder: - c.foldersMut.Lock() - delete(c.folders, folder) - c.foldersMut.Unlock() + select { + case c.immediate <- folder: + c.foldersMut.Lock() + delete(c.folders, folder) + c.foldersMut.Unlock() - default: + default: + } } - } else { + + default: // This folder needs to be refreshed whenever we do the next // refresh.