mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-15 00:16:04 +08:00
Added exception handling for when wrapped reply object is already deleted
CURA-2295
This commit is contained in:
parent
f2e93bfd97
commit
93cc25b408
@ -252,13 +252,16 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||
self._connection_message.show()
|
||||
# Check if we were uploading something. Abort if this is the case.
|
||||
# Some operating systems handle this themselves, others give weird issues.
|
||||
if self._post_reply:
|
||||
self._post_reply.abort()
|
||||
try:
|
||||
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||
except TypeError:
|
||||
pass # The disconnection can fail on mac in some cases. Ignore that.
|
||||
self._progress_message.hide()
|
||||
try:
|
||||
if self._post_reply:
|
||||
self._post_reply.abort()
|
||||
try:
|
||||
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||
except TypeError:
|
||||
pass # The disconnection can fail on mac in some cases. Ignore that.
|
||||
self._progress_message.hide()
|
||||
except RuntimeError:
|
||||
self._post_reply = None # It can happen that the wrapped c++ object is already deleted.
|
||||
return
|
||||
else:
|
||||
self._recreate_network_manager_count = 1
|
||||
@ -273,13 +276,16 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
|
||||
self._connection_message.show()
|
||||
# Check if we were uploading something. Abort if this is the case.
|
||||
# Some operating systems handle this themselves, others give weird issues.
|
||||
if self._post_reply:
|
||||
self._post_reply.abort()
|
||||
try:
|
||||
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||
except TypeError:
|
||||
pass # The disconnection can fail on mac in some cases. Ignore that.
|
||||
self._progress_message.hide()
|
||||
try:
|
||||
if self._post_reply:
|
||||
self._post_reply.abort()
|
||||
try:
|
||||
self._post_reply.uploadProgress.disconnect(self._onUploadProgress)
|
||||
except TypeError:
|
||||
pass # The disconnection can fail on mac in some cases. Ignore that.
|
||||
self._progress_message.hide()
|
||||
except RuntimeError:
|
||||
self._post_reply = None # It can happen that the wrapped c++ object is already deleted.
|
||||
self.setConnectionState(ConnectionState.error)
|
||||
return
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user