Threads, probably in two levels, are still running.
Mostly only visible from manually adding printers and removing manually added printers.
Depending on what they are up to they might access their parent objects, try to signal them etc.
This generally goes poorly (segfault and friends).
Simply QPointer-guarding the finish-signals, new-allocating the threads and DeleteLater() does not do it.
Figure out how to take down threads properly.
And/or move IppPrinters/PrinterWorkers to a global thread pool so they can finish in peace.
(Good prep for being able to run print jobs in the background, but which is not very important since we can't have a daemon for it anyway and thus closing the app will break running jobs)
Threads, probably in two levels, are still running. Mostly only visible from manually adding printers and removing manually added printers. Depending on what they are up to they might access their parent objects, try to signal them etc. This generally goes poorly (segfault and friends). Simply QPointer-guarding the finish-signals, new-allocating the threads and DeleteLater() does not do it.
Figure out how to take down threads properly. And/or move IppPrinters/PrinterWorkers to a global thread pool so they can finish in peace. (Good prep for being able to run print jobs in the background, but which is not very important since we can't have a daemon for it anyway and thus closing the app will break running jobs)