Merge branch 'master' into libArachne_rebased

This commit is contained in:
Ghostkeeper 2021-03-30 16:50:56 +02:00
commit 9462366158
No known key found for this signature in database
GPG key ID: 14C3586CD2EFC5B9
317 changed files with 71746 additions and 647 deletions

View file

@ -603,6 +603,15 @@ class CuraApplication(QtApplication):
@pyqtSlot()
def closeApplication(self) -> None:
Logger.log("i", "Close application")
# Workaround: Before closing the window, remove the global stack.
# This is necessary because as the main window gets closed, hundreds of QML elements get updated which often
# request the global stack. However as the Qt-side of the Machine Manager is being dismantled, the conversion of
# the Global Stack to a QObject fails.
# If instead we first take down the global stack, PyQt will just convert `None` to `null` which succeeds, and
# the QML code then gets `null` as the global stack and can deal with that as it deems fit.
self.getMachineManager().setActiveMachine(None)
main_window = self.getMainWindow()
if main_window is not None:
main_window.close()
@ -1268,10 +1277,11 @@ class CuraApplication(QtApplication):
if other_bb is not None:
scene_bounding_box = scene_bounding_box + node.getBoundingBox()
if print_information:
print_information.setPreSliced(is_block_slicing_node)
self.getWorkspaceFileHandler().setEnabled(not is_block_slicing_node)
if not scene_bounding_box:
scene_bounding_box = AxisAlignedBox.Null