vcl/inc/qt5/QtFrame.hxx | 4 ++-- vcl/inc/qt5/QtPainter.hxx | 4 ++-- vcl/qt5/QtDragAndDrop.cxx | 2 +- vcl/qt5/QtFrame.cxx | 6 +----- vcl/qt5/QtGraphicsBase.cxx | 2 +- vcl/qt5/QtInstance.cxx | 2 +- vcl/qt5/QtObject.cxx | 10 +++++----- vcl/qt5/QtPainter.cxx | 2 +- vcl/qt5/QtSvpGraphics.cxx | 5 ++--- vcl/source/window/layout.cxx | 3 +-- 10 files changed, 17 insertions(+), 23 deletions(-)
New commits: commit 98a5e1c8bc346c8a65bef1d4ed1d86a1a93e5e32 Author: Michael Weghorn <[email protected]> AuthorDate: Thu Jul 24 07:14:01 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Jul 24 12:05:51 2025 +0200 qt: Return reference in QtFrame::GetQWidget QtFrame::m_pQWidget is always non-null, as it gets set in the ctor and never reset later. Return a reference in QtFrame::GetQWidget, and drop some now unnecessary checks/asserts. Also drop an unnecessary null check in QtFrame::EndExtTextInput. Change-Id: I0e9eb87a62116c5196f2a2df37e063933f8920d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188262 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/inc/qt5/QtFrame.hxx b/vcl/inc/qt5/QtFrame.hxx index 1f1cd2a7c12d..258f1cc9bac4 100644 --- a/vcl/inc/qt5/QtFrame.hxx +++ b/vcl/inc/qt5/QtFrame.hxx @@ -144,7 +144,7 @@ public: QtFrame(QtFrame* pParent, SalFrameStyleFlags nSalFrameStyle, bool bUseCairo); virtual ~QtFrame() override; - QWidget* GetQWidget() const { return m_pQWidget; } + QWidget& GetQWidget() const { return *m_pQWidget; } QtMainWindow* GetTopLevelWindow() const { return m_pTopLevel; } QWidget* asChild() const; qreal devicePixelRatioF() const; diff --git a/vcl/inc/qt5/QtPainter.hxx b/vcl/inc/qt5/QtPainter.hxx index 613304ebb34b..6a14e9e13b16 100644 --- a/vcl/inc/qt5/QtPainter.hxx +++ b/vcl/inc/qt5/QtPainter.hxx @@ -37,7 +37,7 @@ public: ~QtPainter() { if (m_rGraphics.m_pFrame && !m_aRegion.isEmpty()) - m_rGraphics.m_pFrame->GetQWidget()->update(m_aRegion); + m_rGraphics.m_pFrame->GetQWidget().update(m_aRegion); } void update(int nx, int ny, int nw, int nh) @@ -61,7 +61,7 @@ public: void update() { if (m_rGraphics.m_pFrame) - m_aRegion += m_rGraphics.m_pFrame->GetQWidget()->rect(); + m_aRegion += m_rGraphics.m_pFrame->GetQWidget().rect(); } }; diff --git a/vcl/qt5/QtDragAndDrop.cxx b/vcl/qt5/QtDragAndDrop.cxx index a5dae454d4a4..202b7d7e0a87 100644 --- a/vcl/qt5/QtDragAndDrop.cxx +++ b/vcl/qt5/QtDragAndDrop.cxx @@ -135,7 +135,7 @@ void QtDragSource::startDrag( if (m_pFrame) { - QDrag* drag = new QDrag(m_pFrame->GetQWidget()); + QDrag* drag = new QDrag(&m_pFrame->GetQWidget()); drag->setMimeData(new QtDragMimeData(rTrans)); // just a reminder that exec starts a nested event loop, so everything after // this call is just executed, after D'n'D has finished! diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx index b1298b2075cb..00aadf9f1ab4 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx @@ -849,11 +849,7 @@ void QtFrame::SetInputContext(SalInputContext* pContext) m_pQWidget->setAttribute(Qt::WA_InputMethodEnabled); } -void QtFrame::EndExtTextInput(EndExtTextInputFlags /*nFlags*/) -{ - if (m_pQWidget) - m_pQWidget->endExtTextInput(); -} +void QtFrame::EndExtTextInput(EndExtTextInputFlags /*nFlags*/) { m_pQWidget->endExtTextInput(); } OUString QtFrame::GetKeyName(sal_uInt16 nKeyCode) { diff --git a/vcl/qt5/QtGraphicsBase.cxx b/vcl/qt5/QtGraphicsBase.cxx index d3fd462e605a..2d61f6415daf 100644 --- a/vcl/qt5/QtGraphicsBase.cxx +++ b/vcl/qt5/QtGraphicsBase.cxx @@ -26,7 +26,7 @@ void QtGraphicsBase::ImplGetResolution(const QtFrame* pFrame, sal_Int32& rDPIX, if (!pFrame) return; - QScreen* pScreen = pFrame->GetQWidget()->screen(); + QScreen* pScreen = pFrame->GetQWidget().screen(); qreal devicePixelRatio = GetQtInstance().EmscriptenLightweightRunInMainThread( [pScreen] { return pScreen->devicePixelRatio(); }); rDPIX = pScreen->logicalDotsPerInchX() * devicePixelRatio + 0.5; diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx index ed37179fb471..55a8d3310b76 100644 --- a/vcl/qt5/QtInstance.cxx +++ b/vcl/qt5/QtInstance.cxx @@ -899,7 +899,7 @@ QWidget* QtInstance::GetNativeParentFromWeldParent(weld::Widget* pParent) if (vcl::Window* pWindow = pSalWidget->getWidget()) { if (QtFrame* pFrame = static_cast<QtFrame*>(pWindow->ImplGetFrame())) - return pFrame->GetQWidget(); + return &pFrame->GetQWidget(); } } diff --git a/vcl/qt5/QtObject.cxx b/vcl/qt5/QtObject.cxx index ced1a663f8cc..2074733970dd 100644 --- a/vcl/qt5/QtObject.cxx +++ b/vcl/qt5/QtObject.cxx @@ -33,13 +33,13 @@ QtObject::QtObject(QtFrame* pParent, bool bShow) , m_pQWidget(nullptr) , m_bForwardKey(false) { - if (!m_pParent || !pParent->GetQWidget()) + if (!m_pParent) return; if (QLibraryInfo::version().majorVersion() > 5) { m_pQWindow = new QWindow; - m_pQWidget = QWidget::createWindowContainer(m_pQWindow, pParent->GetQWidget()); + m_pQWidget = QWidget::createWindowContainer(m_pQWindow, &pParent->GetQWidget()); } else { @@ -122,14 +122,14 @@ void QtObject::Reparent(SalFrame* pFrame) if (m_pParent == pNewParent) return; m_pParent = pNewParent; - m_pQWidget->setParent(m_pParent->GetQWidget()); + m_pQWidget->setParent(&m_pParent->GetQWidget()); } QtObjectWidget::QtObjectWidget(QtObject& rParent) - : QWidget(rParent.frame()->GetQWidget()) + : QWidget(&rParent.frame()->GetQWidget()) , m_rParent(rParent) { - assert(m_rParent.frame() && m_rParent.frame()->GetQWidget()); + assert(m_rParent.frame()); setAttribute(Qt::WA_NoSystemBackground); setAttribute(Qt::WA_OpaquePaintEvent); } diff --git a/vcl/qt5/QtPainter.cxx b/vcl/qt5/QtPainter.cxx index cee3b38ad2e7..377e961de764 100644 --- a/vcl/qt5/QtPainter.cxx +++ b/vcl/qt5/QtPainter.cxx @@ -32,7 +32,7 @@ QtPainter::QtPainter(QtGraphicsBackend& rGraphics, bool bPrepareBrush, sal_uInt8 else { assert(rGraphics.m_pFrame); - if (!begin(rGraphics.m_pFrame->GetQWidget())) + if (!begin(&rGraphics.m_pFrame->GetQWidget())) std::abort(); } if (!rGraphics.m_aClipPath.isEmpty()) diff --git a/vcl/qt5/QtSvpGraphics.cxx b/vcl/qt5/QtSvpGraphics.cxx index 78bf9fc82b11..f0538fd3f89e 100644 --- a/vcl/qt5/QtSvpGraphics.cxx +++ b/vcl/qt5/QtSvpGraphics.cxx @@ -35,9 +35,8 @@ void QtSvpGraphics::updateQWidget() const { if (!m_pFrame) return; - QWidget* pQWidget = m_pFrame->GetQWidget(); - if (pQWidget) - pQWidget->update(pQWidget->rect()); + QWidget& rQWidget = m_pFrame->GetQWidget(); + rQWidget.update(rQWidget.rect()); } #if ENABLE_CAIRO_CANVAS commit a4ca97775175a519924ecf5a2643caa1643d139b Author: Michael Weghorn <[email protected]> AuthorDate: Thu Jul 24 07:07:05 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Jul 24 12:05:44 2025 +0200 qt: Mark QtFrame as final This silences the following warning shown in Qt Creator: > .../libreoffice/vcl/qt5/QtFrame.cxx:152:5: Call to virtual method 'QtFrame::SetIcon' > during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall] Change-Id: Ia8e120ec6e6ec0722953456f8123ebc2cfbe226a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188261 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/qt5/QtFrame.hxx b/vcl/inc/qt5/QtFrame.hxx index d57cf20e1502..1f1cd2a7c12d 100644 --- a/vcl/inc/qt5/QtFrame.hxx +++ b/vcl/inc/qt5/QtFrame.hxx @@ -68,7 +68,7 @@ class QPaintDevice; class QScreen; class QWidget; -class VCLPLUG_QT_PUBLIC QtFrame : public QObject, public SalFrame +class VCLPLUG_QT_PUBLIC QtFrame final : public QObject, public SalFrame { Q_OBJECT commit 824147bcb302ffffbeea96083e3f44ca02d8f416 Author: Michael Weghorn <[email protected]> AuthorDate: Thu Jul 24 07:00:01 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Jul 24 12:05:37 2025 +0200 vcl: Drop local var in VclDrawingArea::StartDrag Just use `m_xTransferHelper` directly. Change-Id: I39c79cebfa48f3012c966798a96cc9e4e62d9e41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188260 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx index e273a09ea744..c16cde29d957 100644 --- a/vcl/source/window/layout.cxx +++ b/vcl/source/window/layout.cxx @@ -3047,11 +3047,10 @@ void VclDrawingArea::StartDrag(sal_Int8, const Point&) if (m_aStartDragHdl.Call(this)) return; - rtl::Reference<TransferDataContainer> xContainer = m_xTransferHelper; if (!m_xTransferHelper.is()) return; - xContainer->StartDrag(this, m_nDragAction); + m_xTransferHelper->StartDrag(this, m_nDragAction); } OUString VclDrawingArea::GetSurroundingText() const
