697 Commits

Author SHA1 Message Date
Remco Burema
f2088d7fc8
Don't take snapshot if no main window present.
You'll need the Uranium branch of the same (fix_is_visible) name if you don't want this to crash on slicing!
2021-01-29 07:59:54 +01:00
Ghostkeeper
a9bf3ed934
Revert "Small fix for slice before main window visible."
This reverts commit 35d6aad6cd7e8a16fbb829dcf8f0b70db12d0028.
This is causing a very weird crash when autoslice is enabled:
2021-01-28 12:12:35,379 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [66]: An uncaught error has occurred!
2021-01-28 12:12:35,379 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]: Traceback (most recent call last):
2021-01-28 12:12:35,379 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "/home/trin/Gedeeld/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py", line 270, in slice
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     self._createSnapshot()
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "/home/trin/Gedeeld/Projects/Cura/cura/Utils/Threading.py", line 31, in _call_on_qt_thread_wrapper
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     return func(*args, **kwargs)
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "/home/trin/Gedeeld/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py", line 254, in _createSnapshot
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     if not CuraApplication.getInstance().isVisible:
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]: AttributeError: 'CuraApplication' object has no attribute 'isVisible'

The property exists all right. It's in the dir() of the CuraApplication instance. PyCharm's debug mode also gives a traceback when trying to evaluate the property. It clearly thinks it's there, but then it's not or something. Very weird. We need to take a better look at this than this quick fix.
2021-01-28 12:23:01 +01:00
Ghostkeeper
678516186e
Revert "Don't call @property function"
This reverts commit 3921cc86d1e3b9e86c5cd0a27cdc83be01b25106.
2021-01-28 12:22:47 +01:00
Ghostkeeper
3921cc86d1
Don't call @property function
It directly returns the boolean. No need to call it. Calling it crashes saying that a bool object can't be called.
2021-01-28 11:48:18 +01:00
Remco Burema
35d6aad6cd
Small fix for slice before main window visible. 2021-01-28 11:41:46 +01:00
Remco Burema
f4ef3b44e3
Properly retrieve snapshot (now made on slice).
Circumvents the snapshot/thumbnail not working when the focus is not on the main window, even if the thread is main. This was an issue when writing a file to Digital Factory becasue that workflow uses a modal window.

Thanks for the idea Jelle!
2021-01-21 08:55:45 +01:00
Remco Burema
4fc0612806
Make a snapshot on slice instead of write.
In some cases, UFP-writing is going to be done when the OpenGL-context is off the main window. This doesn't work. That unfortunately also goes for this commit, but it's a work in progress.
2021-01-21 08:19:17 +01:00
Jaime van Kessel
10ed7c1288
Merge branch '4.8' of github.com:Ultimaker/Cura 2020-10-22 13:41:44 +02:00
Kostas Karmas
03dc8d00fe Up the SDK version to 7.4.0
In preparation for release of the 4.8.

CURA-7795
2020-10-22 11:29:25 +02:00
Ghostkeeper
452fe3972f
Don't cache CuraApplication singleton
This is causing a crash if self._application is used before the __init__ has finished (or at least passed the definition of self._application). That can happen in this class since some functions are called asynchronously.
It would also make writing tests easier because you can mock the getInstance() function to return a mock object, and only need to monkeypatch that for the function under test rather than also for the constructor.

Fixes Sentry issue CURA-1B5.
2020-10-16 12:05:21 +02:00
Kostas Karmas
21b9c0639d Exclude objects outside buildplate from OneAtATimeIterator
CURA-7776
2020-10-14 17:14:38 +02:00
Kostas Karmas
bd54ef8d5a Update the SDK version to 7.3.0 for 4.7
CURA-7641
2020-08-07 11:12:27 +02:00
Jaime van Kessel
05f35a07e4
Fix mypy issues
For some reason my local mypy didn't spot them but the CI did.

CURA-7106
2020-06-24 15:40:33 +02:00
Jaime van Kessel
90c6183634
Add process events triggers to startSliceJob
Prevents a freeze when the setting message is being calculated

CURA-7106
2020-06-23 14:12:28 +02:00
Jaime van Kessel
3985406634
Speed up generation of extruder message
CURA-7106
2020-06-23 14:06:13 +02:00
Jaime van Kessel
e001839512
Replace getUsedExtruderNumbers with the faster alternative
CURA-7106
2020-06-23 13:53:28 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
58ffc9dcae Merge remote-tracking branch 'origin/master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	cura/API/__init__.py
#	cura/Settings/CuraContainerRegistry.py
#	cura/Settings/ExtruderManager.py
#	plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
#	plugins/UM3NetworkPrinting/src/Cloud/CloudApiClient.py
#	plugins/UM3NetworkPrinting/src/Cloud/ToolPathUploader.py
#	plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py
2020-05-28 17:31:24 +02:00
Ghostkeeper
2125b7130f
Use extruderList rather than extruders
Extruders has been deprecated.
This also allows us to use integers for a while longer (until it needs to be serialised to a message with the .join() function).

Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
2020-05-15 16:18:05 +02:00
Nino van Hooff
176919eee0 Merge branch 'master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	plugins/CuraEngineBackend/CuraEngineBackend.py
#	plugins/CuraEngineBackend/StartSliceJob.py
2020-05-08 15:31:23 +02:00
Nino van Hooff
797d6ed438 Convert doxygen to rst for CuraEngineBackend 2020-05-08 15:23:51 +02:00
Jaime van Kessel
245a4435e1
Also handle sceneChanged when it's from the root
The rest of the code also seems to expect that
2020-05-01 14:39:23 +02:00
Ghostkeeper
add9be387b
Fix crash when creating a socket before the plug-in is fully registered
The plug-in ID is set once the register function is completed, so after initialisation. If the _createSocket function is called in between, Cura would crash.
I don't know why the _createSocket function would be called in between, but possibly another plug-in causes an event that calls it since it's being called on many events (everything that would initiate a reslice).

Fixes Sentry issue CURA-K4.
2020-04-23 11:38:27 +02:00
Nino van Hooff
7302e8ba7f Update missed sdk versions from 7.1 to 7.2.0 for Cura 4.6
CURA-7383
2020-04-21 11:46:12 +02:00
Jaime van Kessel
28b8ba3748
Only check changed settings (and whatever it affects) for errors in POS
CURA-7329
2020-04-15 11:31:15 +02:00
Matt Jani
43ab23439b Fixed small typo in nothing to slice
CURA-7277
2020-03-10 11:05:30 +01:00
Matt Jani
3887814660 Update the nothing to slice message
The message didn't list all the cases that it could pop up.

CURA-7277
2020-03-10 10:59:33 +01:00
Jaime van Kessel
1a44aa6d2e
Ignore comments when checking for temperature prepends
Fixes #7124
2020-02-27 10:47:32 +01:00
Ghostkeeper
d9ddb438f8
Merge branch '4.5' 2020-02-10 11:36:07 +01:00
Ghostkeeper
6f707f3149
Bump SDK version number of Cura 4.5 to 7.1
We've added new things to our API. This allows plug-in developers to use them.

Contributes to issue CURA-7205.
2020-02-10 10:45:07 +01:00
Lipu Fei
b03f666bf5 WIP: Make it work with Python 3.7 packaing 2020-02-07 23:14:47 +01:00
Ghostkeeper
d18c0703b4
Fix getting correct initial extruder number
As found in the discussion in #6847.

This was done as a 5 minute fix.
2020-01-16 13:59:02 +01:00
Jaime van Kessel
ab6effb712
No longer use sceneLock for startSliceJob 2020-01-16 12:58:01 +01:00
Jaime van Kessel
11d176137f
Remove usage of deprecated function 2020-01-06 15:02:33 +01:00
Ghostkeeper
36d4162f35
Fix fallback to global if extruder_nr doesn't exist
Fixes #6590.
2019-11-01 13:19:16 +01:00
Nino van Hooff
c62ff262ed Change SDK version to 7.0.0
CURA-6858
2019-10-21 14:51:34 +02:00
Remco Burema
25d76aee5a Workaround: Make the type-checker understand what's going on. 2019-10-18 14:46:44 +02:00
Mark Burton
82bd89991e Improve code style. 2019-10-17 16:43:07 +01:00
Mark Burton
f3f9a2393f Return early from _checkStackForErrors() if top container is empty. 2019-10-17 09:21:24 +01:00
Jaime van Kessel
23469948f6
Fix translation mistake in a message 2019-10-08 13:58:31 +02:00
Jaime van Kessel
0ff9d72c4c
Remove use of deprecated extruders property 2019-09-13 17:27:16 +02:00
Lipu Fei
0524796145 Do not trigger slicing if there's no slicable object
CURA-6604
2019-09-03 20:01:41 +02:00
Mark Burton
41d7a705e6 Avoid crash due to race in CuraEngineBackend. 2019-08-29 21:35:13 +01:00
Ghostkeeper
23f4aa6e4f
Fix potential race condition when slice messages arrive after clearing build plate
Fixes #6245.
2019-08-26 09:15:37 +02:00
Jaime van Kessel
e0c2611a0a Merge branch '4.2' of github.com:Ultimaker/Cura 2019-07-26 12:47:13 +02:00
Jaime van Kessel
8311a39f08 Fix case where an error in the stack would not prevent slicing
CURA-6680
2019-07-25 09:42:00 +02:00
Jaime van Kessel
d8ddcba091 Fix typing ignore for breath frist iterator 2019-07-23 13:40:40 +02:00
Ghostkeeper
f334fa8578
Spelling of log entries and code style 2019-07-18 11:49:18 +02:00
Ghostkeeper
19cc267726
Merge branch '4.1' 2019-05-20 13:42:38 +02:00
Jaime van Kessel
843bb6f5a3 Change some of the logging messages to info
CURA-6525
2019-05-15 17:25:31 +02:00