Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
59d3d125 by wurstsalat at 2024-03-07T23:38:14+01:00
fix: Preview: Set downloading state early to avoid having multiple downloads
simultaneously
Fixes #11775
- - - - -
1 changed file:
- gajim/common/preview.py
Changes:
=====================================
gajim/common/preview.py
=====================================
@@ -188,7 +188,6 @@ def update_widget(self, data: GdkPixbufType | None = None)
-> None:
self._widget.update(self, data)
def update_progress(self, progress: float, request: HTTPRequest) -> None:
- self.download_in_progress = True
self._request = request
self._widget.update_progress(self, progress)
@@ -453,7 +452,9 @@ def download_content(self,
# History Window can be opened without account context
# This means we can not apply proxy settings
return
+
log.info('Start downloading: %s', preview.request_uri)
+ preview.download_in_progress = True
request = create_http_request(preview.account)
request.set_user_data(preview)
@@ -465,7 +466,7 @@ def download_content(self,
def _accept_certificate(self,
request: HTTPRequest,
- certificate: Gio.TlsCertificate,
+ _certificate: Gio.TlsCertificate,
certificate_errors: Gio.TlsCertificateFlags,
) -> bool:
@@ -479,6 +480,7 @@ def _accept_certificate(self,
preview = cast(Preview, request.get_user_data())
preview.info_message = _('TLS verification failed: %s') % phrases[0]
+ preview.download_in_progress = False
preview.update_widget()
return False
@@ -497,6 +499,7 @@ def _on_content_sniffed(self,
if content_type not in ALLOWED_MIME_TYPES and not force:
log.info('Not an allowed content type: %s, %s', content_type, uri)
request.cancel()
+ preview.download_in_progress = False
return
if content_length > int(app.settings.get('preview_max_file_size')):
@@ -507,6 +510,7 @@ def _on_content_sniffed(self,
preview.info_message = None
else:
request.cancel()
+ preview.download_in_progress = False
preview.info_message = _('Automatic preview disabled '
'(file too big)')
@@ -625,3 +629,4 @@ def _on_thumb_write_finished(_result: bool,
def cancel_download(self, preview: Preview) -> None:
preview.request.cancel()
+ preview.download_in_progress = False
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/59d3d12594b530687c636c4d5a8c36f24b2dab17
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/59d3d12594b530687c636c4d5a8c36f24b2dab17
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]