From ee82cf2d727639d21a777ce558e189e7f24671a5 Mon Sep 17 00:00:00 2001 From: cage Date: Mon, 16 Aug 2021 21:39:13 +0200 Subject: [PATCH] - prevented crash when opening tour mode links and configuration directive 'open-message-link-window.close-after-select' values 'yes'. --- etc/shared.conf | 2 +- src/ui-goodies.lisp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/etc/shared.conf b/etc/shared.conf index bd1003e..e58590d 100644 --- a/etc/shared.conf +++ b/etc/shared.conf @@ -43,7 +43,7 @@ start.update.gemlog = yes # close links window when opening the selected link -open-message-link-window.close-after-select = yes +open-message-link-window.close-after-select = no # color parts of a displayed message according to a regular expression # syntax is regular expression color attribute diff --git a/src/ui-goodies.lisp b/src/ui-goodies.lisp index 4220cca..ef1b681 100644 --- a/src/ui-goodies.lisp +++ b/src/ui-goodies.lisp @@ -1182,11 +1182,12 @@ This makes sense only for gemini file stream, if not this command performs the s (%open-message-link-perform-opening t)) (defun close-open-message-link-window () - (when (message-window:display-gemini-text-p *open-message-link-window*) - (open-message-link-window:forget-gemini-link-window)) - (if (message-window:display-gemini-text-p *message-window*) - (close-window-and-return-to-message *open-message-link-window*) - (close-window-and-return-to-threads *open-message-link-window*))) + (when-window-shown (*open-message-link-window*) + (when (message-window:display-gemini-text-p *open-message-link-window*) + (open-message-link-window:forget-gemini-link-window)) + (if (message-window:display-gemini-text-p *message-window*) + (close-window-and-return-to-message *open-message-link-window*) + (close-window-and-return-to-threads *open-message-link-window*)))) (defun gemini-open-certificates-window () "Open a window with all the client certificated generated so far to