diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2022-06-17 17:34:55 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2022-06-30 10:29:01 +0200 |
commit | 1ffe49dd199a6c502ed8c145e102de747284ba56 (patch) | |
tree | 607094a41e068d5ede638c7f24fe9d7a0d7a0eed | |
parent | d0eba2449adcee6f1daa33426f9c9b8ebf7c28f5 (diff) |
QWindowPrivate::setMinOrMaxSize: port to function_ref
The "callbacks" passed to setMinOrMaxSize are not stored and
outlive the callee. Therefore, don't use std::function to pass
them (by value (!)); instead employ the recently-added function_ref.
Change-Id: I37eea020920a76c063265e667c99a6040394d645
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 5 | ||||
-rw-r--r-- | src/gui/kernel/qwindow_p.h | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index e06951071f..afbde03619 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -568,12 +568,11 @@ QRectF QWindowPrivate::closestAcceptableGeometry(const QRectF &rect) const } void QWindowPrivate::setMinOrMaxSize(QSize *oldSizeMember, const QSize &size, - std::function<void()> funcWidthChanged, - std::function<void()> funcHeightChanged) + qxp::function_ref<void()> funcWidthChanged, + qxp::function_ref<void()> funcHeightChanged) { Q_Q(QWindow); Q_ASSERT(oldSizeMember); - Q_ASSERT(funcWidthChanged && funcHeightChanged); const QSize adjustedSize = size.expandedTo(QSize(0, 0)).boundedTo(QSize(QWINDOWSIZE_MAX, QWINDOWSIZE_MAX)); if (*oldSizeMember == adjustedSize) diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index 3212a1d6fa..cf6a6934eb 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -22,6 +22,7 @@ #include <QtCore/private/qobject_p.h> #include <QtCore/qelapsedtimer.h> +#include <QtCore/qxpfunctional.h> #include <QtGui/QIcon> QT_BEGIN_NAMESPACE @@ -74,8 +75,8 @@ public: virtual QRectF closestAcceptableGeometry(const QRectF &rect) const; void setMinOrMaxSize(QSize *oldSizeMember, const QSize &size, - std::function<void()> funcWidthChanged, - std::function<void()> funcHeightChanged); + qxp::function_ref<void()> funcWidthChanged, + qxp::function_ref<void()> funcHeightChanged); virtual void processSafeAreaMarginsChanged() {} |