diff options
-rw-r--r-- | vcl/qt5/Qt5Frame.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx index 97cc7e938446..eb043ae1862a 100644 --- a/vcl/qt5/Qt5Frame.cxx +++ b/vcl/qt5/Qt5Frame.cxx @@ -412,16 +412,26 @@ void Qt5Frame::DrawMenuBar() { /* not needed */} void Qt5Frame::SetExtendedFrameStyle(SalExtStyle /*nExtStyle*/) { /* not needed */} -void Qt5Frame::Show(bool bVisible, bool /*bNoActivate*/) +void Qt5Frame::Show(bool bVisible, bool bNoActivate) { assert(m_pQWidget); + if (bVisible == asChild()->isVisible()) + return; SetDefaultSize(); SetDefaultPos(); auto* pSalInst(static_cast<Qt5Instance*>(GetSalData()->m_pInstance)); assert(pSalInst); - pSalInst->RunInMainThread([this, bVisible]() { asChild()->setVisible(bVisible); }); + pSalInst->RunInMainThread([this, bVisible, bNoActivate]() { + asChild()->setVisible(bVisible); + asChild()->raise(); + if (!bNoActivate) + { + asChild()->activateWindow(); + asChild()->setFocus(); + } + }); } void Qt5Frame::SetMinClientSize(tools::Long nWidth, tools::Long nHeight) |