diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2020-04-18 12:56:50 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2020-04-18 13:00:27 +0200 |
commit | ee3593f120884393b5580fecc11d2551589494b3 (patch) | |
tree | 3394540dc28772cba5de9f4cec0a4b899811f9a9 /src/widget | |
parent | f8a7f21a7c6b5ff7906b75d715d22845f0c841fd (diff) |
Fix undefined behavior warning for QPointer upon deletion
Diffstat (limited to 'src/widget')
-rw-r--r-- | src/widget/wtrackmenu.cpp | 7 | ||||
-rw-r--r-- | src/widget/wtrackmenu.h | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/widget/wtrackmenu.cpp b/src/widget/wtrackmenu.cpp index 969f43f8d9..4312ca939b 100644 --- a/src/widget/wtrackmenu.cpp +++ b/src/widget/wtrackmenu.cpp @@ -60,6 +60,13 @@ WTrackMenu::WTrackMenu(QWidget* parent, setupActions(); } +WTrackMenu::~WTrackMenu() { + // ~QPointer() needs the definition of the wrapped type + // upon deletion! Otherwise the behavior is undefined. + // The wrapped types of some QPointer members are only + // forward declared in the header file. +} + void WTrackMenu::popup(const QPoint& pos, QAction* at) { if (getTrackPointers().empty()) { return; diff --git a/src/widget/wtrackmenu.h b/src/widget/wtrackmenu.h index f4a25a4794..8d45d87087 100644 --- a/src/widget/wtrackmenu.h +++ b/src/widget/wtrackmenu.h @@ -50,8 +50,7 @@ class WTrackMenu : public QMenu { TrackCollectionManager* pTrackCollectionManager, Features flags = Feature::All, TrackModel* trackModel = nullptr); - - ~WTrackMenu() override = default; + ~WTrackMenu() override; void loadTrack(TrackId trackId); void loadTrack(QModelIndex index); |