Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a deadlock in remote COPC handling (3D views)
This gets often triggered from 3D views when the hierachy gets fetched, because a QEventLoop gets started in the main thread while waiting for network request to be finished. The event loop was running with hierarchy mutex locked, which was causing deadlocks when other events ended up trying to access the hierarchy. This fix unlocks the mutex while the hierarchy network request is ongoing (the same approach as remote EPT implementation uses, which seems to work fine). Looking at the copc/ept hierarchy handling, it is not great - both formats are conceptually the same, yet the hierarchy implementations are different, and there are also non-trivial differences between local/remote datasets. All of this could get some code cleanups (also unifying local/remote access), but at this time let's just try to fix the worst bit, and hope something else does not break...
- Loading branch information