Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
Description
The Class View plugin isn't currently in a good state and needs refactoring. This would include:
1. Some methods are being called from different threads, without any synchronization, like: ParserTreeItem::convertTo().
2. QStandardItem instances are being created in non-gui thread, while QStandardItem class is not marked as reentrant, so we can't assume it will work correctly in our use case.
3. Instances of QIcon class are being copied inside non-gui thread and later they are passed to main thread. We also can't assume that even copying is safe in this scenario.
4. (maybe) Add a possibility of canceling the thread.