Skip to content

Commit 499f05c

Browse files
committed
Pass parented QObjects as QPointer
1 parent 6e6b991 commit 499f05c

11 files changed

Lines changed: 30 additions & 20 deletions

src/widget/findonwebmenufactory.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ namespace mixxx {
1111

1212
namespace library {
1313

14-
void createFindOnWebSubmenus(QMenu* pFindOnWebMenu,
15-
FindOnWebLast* pFindOnWebLast,
14+
void createFindOnWebSubmenus(QPointer<QMenu> pFindOnWebMenu,
15+
QPointer<FindOnWebLast> pFindOnWebLast,
1616
const Track& track) {
1717
make_parented<FindOnWebMenuDiscogs>(pFindOnWebMenu, pFindOnWebLast, track);
1818
make_parented<FindOnWebMenuLastfm>(pFindOnWebMenu, pFindOnWebLast, track);

src/widget/findonwebmenufactory.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#pragma once
22

3+
#include "QPointer"
4+
35
class Track;
46
class QMenu;
57
class FindOnWebLast;
@@ -8,8 +10,8 @@ namespace mixxx {
810

911
namespace library {
1012

11-
void createFindOnWebSubmenus(QMenu* pFindOnWebMenu,
12-
FindOnWebLast* pFindOnWebLast,
13+
void createFindOnWebSubmenus(QPointer<QMenu> pFindOnWebMenu,
14+
QPointer<FindOnWebLast> pFindOnWebLast,
1315
const Track& track);
1416

1517
} // namespace library

src/widget/findonwebmenuservices/findonwebmenudiscogs.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "moc_findonwebmenudiscogs.cpp"
77
#include "track/track.h"
88
#include "util/parented_ptr.h"
9+
#include "widget/findonweblast.h"
910

1011
namespace {
1112
const QString kServiceTitle = QStringLiteral("Discogs");
@@ -29,8 +30,8 @@ const QUrl composeDiscogsUrl(const QString& serviceDefaultUrl,
2930
}
3031
} //namespace
3132

32-
FindOnWebMenuDiscogs::FindOnWebMenuDiscogs(QMenu* pFindOnWebMenu,
33-
FindOnWebLast* pFindOnWebLast,
33+
FindOnWebMenuDiscogs::FindOnWebMenuDiscogs(QPointer<QMenu> pFindOnWebMenu,
34+
QPointer<FindOnWebLast> pFindOnWebLast,
3435
const Track& track)
3536
: WFindOnWebMenu(pFindOnWebMenu, pFindOnWebLast) {
3637
const QString artist = track.getArtist();

src/widget/findonwebmenuservices/findonwebmenudiscogs.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ class FindOnWebLast;
99
class FindOnWebMenuDiscogs : public WFindOnWebMenu {
1010
Q_OBJECT
1111
public:
12-
FindOnWebMenuDiscogs(QMenu* pFindOnWebMenu, FindOnWebLast* pFindOnWebLast, const Track& track);
12+
FindOnWebMenuDiscogs(QPointer<QMenu> pFindOnWebMenu,
13+
QPointer<FindOnWebLast> pFindOnWebLast,
14+
const Track& track);
1315
};

src/widget/findonwebmenuservices/findonwebmenulastfm.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "moc_findonwebmenulastfm.cpp"
77
#include "track/track.h"
88
#include "util/parented_ptr.h"
9+
#include "widget/findonweblast.h"
910

1011
namespace {
1112
const QString kServiceTitle = QStringLiteral("LastFm");
@@ -27,8 +28,8 @@ const QUrl composeLastfmUrl(const QString& serviceSearchUrl,
2728

2829
} //namespace
2930

30-
FindOnWebMenuLastfm::FindOnWebMenuLastfm(QMenu* pFindOnWebMenu,
31-
FindOnWebLast* pFindOnWebLast,
31+
FindOnWebMenuLastfm::FindOnWebMenuLastfm(QPointer<QMenu> pFindOnWebMenu,
32+
QPointer<FindOnWebLast> pFindOnWebLast,
3233
const Track& track)
3334
: WFindOnWebMenu(pFindOnWebMenu, pFindOnWebLast) {
3435
const QString artist = track.getArtist();

src/widget/findonwebmenuservices/findonwebmenulastfm.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ class FindOnWebLast;
99
class FindOnWebMenuLastfm : public WFindOnWebMenu {
1010
Q_OBJECT
1111
public:
12-
FindOnWebMenuLastfm(QMenu* pFindOnWebMenu, FindOnWebLast* pFindOnWebLast, const Track& track);
12+
FindOnWebMenuLastfm(QPointer<QMenu> pFindOnWebMenu,
13+
QPointer<FindOnWebLast> pFindOnWebLast,
14+
const Track& track);
1315
};

src/widget/findonwebmenuservices/findonwebmenusoundcloud.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "moc_findonwebmenusoundcloud.cpp"
77
#include "track/track.h"
88
#include "util/parented_ptr.h"
9+
#include "widget/findonweblast.h"
910

1011
namespace {
1112
const QString kServiceTitle = QStringLiteral("Soundcloud");
@@ -27,7 +28,7 @@ const QUrl composeSoundcloudUrl(const QString& serviceSearchUrl,
2728
} // namespace
2829

2930
FindOnWebMenuSoundcloud::FindOnWebMenuSoundcloud(
30-
QMenu* pFindOnWebMenu, FindOnWebLast* pFindOnWebLast, const Track& track)
31+
QPointer<QMenu> pFindOnWebMenu, QPointer<FindOnWebLast> pFindOnWebLast, const Track& track)
3132
: WFindOnWebMenu(pFindOnWebMenu, pFindOnWebLast) {
3233
const QString artist = track.getArtist();
3334
const QString trackTitle = track.getTitle();

src/widget/findonwebmenuservices/findonwebmenusoundcloud.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class FindOnWebLast;
88
class FindOnWebMenuSoundcloud : public WFindOnWebMenu {
99
Q_OBJECT
1010
public:
11-
FindOnWebMenuSoundcloud(QMenu* pFindOnWebMenu,
12-
FindOnWebLast* pFindOnWebLast,
11+
FindOnWebMenuSoundcloud(QPointer<QMenu> pFindOnWebMenu,
12+
QPointer<FindOnWebLast> pFindOnWebLast,
1313
const Track& track);
1414
};

src/widget/wfindonwebmenu.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#include "util/desktophelper.h"
99
#include "widget/findonweblast.h"
1010

11-
WFindOnWebMenu::WFindOnWebMenu(QWidget* parent, FindOnWebLast* pFindOnWebLast)
12-
: QMenu(parent),
13-
m_pFindOnWebLast(pFindOnWebLast) {
11+
WFindOnWebMenu::WFindOnWebMenu(QPointer<QMenu> pParent, QPointer<FindOnWebLast> pFindOnWebLast)
12+
: QMenu(pParent),
13+
m_pFindOnWebLast(std::move(pFindOnWebLast)) {
1414
}
1515

1616
bool WFindOnWebMenu::hasEntriesForTrack(const Track& track) {

src/widget/wfindonwebmenu.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
#pragma once
22

33
#include <QMenu>
4+
#include <QPointer>
45

56
class Track;
67
class FindOnWebLast;
78

89
class WFindOnWebMenu : public QMenu {
910
Q_OBJECT
1011
public:
11-
explicit WFindOnWebMenu(QWidget* pParent, FindOnWebLast* pFindOnWebLast);
12+
explicit WFindOnWebMenu(QPointer<QMenu> pParent, QPointer<FindOnWebLast> pFindOnWebLast);
1213
~WFindOnWebMenu() override = default;
1314

1415
void addActionToServiceMenu(
@@ -23,5 +24,5 @@ class WFindOnWebMenu : public QMenu {
2324
void openInBrowser(const QUrl& url);
2425

2526
private:
26-
FindOnWebLast* m_pFindOnWebLast;
27+
QPointer<FindOnWebLast> m_pFindOnWebLast;
2728
};

0 commit comments

Comments
 (0)