diff --git a/src/ui-goodies.lisp b/src/ui-goodies.lisp index 768dc1b..24ac6fa 100644 --- a/src/ui-goodies.lisp +++ b/src/ui-goodies.lisp @@ -561,19 +561,21 @@ Starting from the oldest toot and going back." "Check and download a thread Force the checking for new message in the thread the selected message belong." - (when-let* ((selected-message (line-oriented-window:selected-row-fields specials:*thread-window*)) - (timeline (thread-window:timeline-type specials:*thread-window*)) - (folder (thread-window:timeline-folder specials:*thread-window*)) - (status-id (db:row-message-status-id selected-message)) - (expand-event (make-instance 'expand-thread-event - :new-folder folder - :new-timeline timeline - :status-id status-id)) - (refresh-event (make-instance 'refresh-thread-windows-event - :priority +minimum-event-priority+))) - (with-blocking-notify-procedure ((_ "Expanding thread")) - (push-event expand-event) - (push-event refresh-event)))) + (flet ((update () + (when-let* ((selected-message + (line-oriented-window:selected-row-fields specials:*thread-window*)) + (timeline (thread-window:timeline-type specials:*thread-window*)) + (folder (thread-window:timeline-folder specials:*thread-window*)) + (status-id (db:row-message-status-id selected-message)) + (expand-event (make-instance 'expand-thread-event + :new-folder folder + :new-timeline timeline + :status-id status-id)) + (refresh-event (make-instance 'refresh-thread-windows-event + :priority +minimum-event-priority+))) + (push-event expand-event) + (push-event refresh-event)))) + (notify-procedure #'update (_ "Expanding thread")))) (defun refresh-tags () "Update messages for subscribed tags"