1
0
mirror of https://codeberg.org/cage/tinmop/ synced 2025-03-06 10:27:38 +01:00

- [GUI] prevented an infinite loop when cancelling a request with user input.

This commit is contained in:
cage 2023-07-22 11:38:47 +02:00
parent 4c99e6a8b2
commit 313c003b79

View File

@ -368,10 +368,15 @@
(declare (ignore original-iri cached))
(cond
((gemini-client:header-input-p status-code)
(let ((actual-iri (get-user-request-query iri meta main-window)))
(a:when-let ((actual-iri (get-user-request-query iri
meta
main-window)))
(slurp-iri main-window actual-iri)))
((gemini-client:header-sensitive-input-p status-code)
(let ((actual-iri (get-user-request-query iri meta main-window :sensitive t)))
(a:when-let ((actual-iri (get-user-request-query iri
meta
main-window
:sensitive t)))
(slurp-iri main-window actual-iri)))
((= status-code comm:+tofu-error-status-code+)
(when (gui:ask-yesno meta
@ -901,13 +906,14 @@ local file paths."
prompt
:button-message button-label))
(encoded-input (maybe-percent-encode raw-input)))
(when (string-not-empty-p raw-input)
(multiple-value-bind (actual-iri host path query port fragment)
(gemini-client:displace-iri parsed-iri)
(declare (ignore actual-iri query fragment))
(gemini-parser:make-gemini-iri host
path
:query encoded-input
:port port))))
:port port)))))
(defun slurp-text-data (main-window iri)
(labels ((maybe-open-if-completed (stream-info support-file)
@ -977,10 +983,10 @@ local file paths."
(declare (ignore original-iri cached))
(cond
((gemini-client:header-input-p status-code)
(let ((actual-iri (get-user-request-query iri meta main-window)))
(a:when-let ((actual-iri (get-user-request-query iri meta main-window)))
(start-stream-iri actual-iri main-window nil)))
((gemini-client:header-sensitive-input-p status-code)
(let ((actual-iri (get-user-request-query iri meta main-window :sensitive t)))
(a:when-let ((actual-iri (get-user-request-query iri meta main-window :sensitive t)))
(start-stream-iri actual-iri main-window nil)))
((= status-code comm:+tofu-error-status-code+)
(when (gui:ask-yesno (_ "The certificate for this address has changed, replace the old with the one I just received?")