https://bugs.documentfoundation.org/show_bug.cgi?id=152979
Michael Weghorn <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEEDINFO Ever confirmed|0 |1 --- Comment #12 from Michael Weghorn <[email protected]> --- (In reply to Rafael Lima from comment #11) > Here's the updated backtrace. I installed the debug symbols and used gdb > following the steps provided. Thanks. Unfortunately, it's not really clear for me from the backtrace where the problem is. The more relevant backtrace might be how the Qt code that emits the warning is reached. Anyway, I have on idea where the problem *might* be caused. This here looks like it may be related: https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3714e51436eebb64873c58dc36cf89ef8f139f09 And we had a similar workaround before, added in commit e770bacc85a0eec96de77068d61b03f374b3cdec Date: Sun Jun 2 21:01:33 2019 +0000 Qt5 workaround modal change after show bug but then dropped again in commit 2dc6bdd1d5789ace0500cad90f5d2eb930888bb9 Date: Wed Jun 5 17:39:45 2019 +0000 tdf#125692 SalObject always holds a SystemChildWindow Does it still hang if you make `QtFrame::SetModal` do nothing? diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx index 5517584b72d7..5092f55c6eb3 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx @@ -609,6 +609,9 @@ SalFrame* QtFrame::GetParent() const { return m_pParent; } void QtFrame::SetModal(bool bModal) { + if (true) + return; + if (!isWindow() || asChild()->isModal() == bModal) return; And if that makes the problem go away: Does the freeze also disappear if you undo that change and add a sleep instead, like this: diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx index 5517584b72d7..12af2103e965 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx @@ -621,7 +621,10 @@ void QtFrame::SetModal(bool bModal) // modality change is only effective if the window is hidden if (bWasVisible) + { + QThread::msleep(500); pChild->hide(); + } pChild->setWindowModality(bModal ? Qt::WindowModal : Qt::NonModal); -- You are receiving this mail because: You are the assignee for the bug.
