- [FIX] crash when opening a document and no backend was found The function GeneratorThread::run() accesses backend pointer without checking their validity. If the application fails to find any backend, these pointers will be nullptr and the application will crash.
GeneratorThread::run() is called once a new file is opened, e.g. if you call $cirkuit /path/to/file on the commandline.
- also show error msg when generating preview failed because of missing backends
- Only re-select the backend, if this is really wanted. Calling Backend::autoChooseBackend(file) is pretty costly. For each backend, the whole file will be searched for various keywords. The number of hits is then compared.
Therefore the constant boolean value CirkuitSettings::autoSelectBackend() will be checked first. Only if re-selecting is enabled by the user, the backend selection will be done.
This could reduce some otherwise unnecessarily wasted cpu cycles.