diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-08-08 02:14:58 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-08-23 00:33:01 +0200 |
commit | 2e7f11246e8b5bd0952c3b498da04ae4fc14f264 (patch) | |
tree | f350529b2c3ce51206a390ca11bb53fd366129e5 /src/widgets/kernel/qlayout.h | |
parent | 7ec818e74ad1d346f40b17c338de424a0f45fa12 (diff) |
QLayout: make its indexOf functions take pointer-to-const
Try to fix an API mistake there: there is no reason why these
functions should take pointers to non-const widgets, as that
actually preventing reasonable code (e.g. finding out the index
of "this" inside a const method of a QWidget subclass).
Unfortunately, indexOf(QWidget*) is also virtual, meaning that
changing its signature is an API break. Hopefully, there are
only few users that override this method (Woboq says 0).
[ChangeLog][Potentially Source-Incompatible Changes]
The QLayout::indexOf(QWidget *) virtual function has changed
signature, becoming QLayout::indexOf(const QWidget *).
This is source incompatible, although the fix (for the few
users that do override indexOf() in their layouts) is
straightforward.
Change-Id: Id2183f5ecd9dc7e2a37c7355266e8494ef7929f2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/widgets/kernel/qlayout.h')
-rw-r--r-- | src/widgets/kernel/qlayout.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/widgets/kernel/qlayout.h b/src/widgets/kernel/qlayout.h index ff04c4d334..2748ebab9f 100644 --- a/src/widgets/kernel/qlayout.h +++ b/src/widgets/kernel/qlayout.h @@ -117,8 +117,8 @@ public: virtual void setGeometry(const QRect&) override; virtual QLayoutItem *itemAt(int index) const = 0; virtual QLayoutItem *takeAt(int index) = 0; - virtual int indexOf(QWidget *) const; - QT6_VIRTUAL int indexOf(QLayoutItem *) const; + virtual int indexOf(const QWidget *) const; + virtual int indexOf(const QLayoutItem *) const; virtual int count() const = 0; bool isEmpty() const override; QSizePolicy::ControlTypes controlTypes() const override; |