View Single Post
Old 12-12-2019, 08:00 AM   #58
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,914
Karma: 6120478
Join Date: Nov 2009
Device: many
Thanks. Yes that is the exact same macOS specific bug we chased earlier. It can only impact macOS with its multiple main windows. The problem it seems is that using windowActivate is no longer a sufficient workaround.

The issue has to do with searching to see if a Window is modal or blocked by an earlier modal window and Qt keeps a modal window list internally that has stale data due to a race between when a window is deleted and when it is removed from the list. Unfortunately focus and the cursor are being reported as being in the just deleted main window as the cursor position is needed to determine the modal ancestry of the Window.. This causes the segfault.

I can not reproduce the problem in a standalone test case so reporting it to Qt would be worthless. It is definitely a race though. The current cursor should not be reporting itself to still be in a deleted window but sometimes that will happen.

So all I can say is try to avoid the problem by changing focus or swapping between multiple windows before bringing up New and trying to open another modal dialog.

This one is going to take a long time to track down.
KevinH is offline   Reply With Quote