Details
-
Technical task
-
Resolution: Done
-
P3: Somewhat important
-
None
-
Team Two Foundation Sprint 51
-
f482e2a456 (qt/qtbase/dev) 4114c1163b (qt/qtbase/6.2) e0babf6c2d (qt/qtbase/6.3) 4114c1163b (qt/tqtc-qtbase/6.2) 059c8f9381 (qt/tqtc-qtbase/5.15)
Description
When the handler QObject and the registry QObject aren't on the same thread, then the connect() from the handler's destroyed() signal to the registry's handlerDestroyed() slot has QueuedConnection semantics, which means two things:
- there's a window in which the handler is (partially, or even fully) destroyed, but remains in the registry and can be invoked by openUrl() calls
- If one handler is destroyed and another one immediately created and registered, the new handler may have the same address as the old one, and the delayed execution of handlerDestoyed() will remove the entries for the new handler.