1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-14 17:14:07 +01:00

Make objects attached to AudacityProject non-copyable...

... except for Tags; also some uses of final and explicit

This caught a mistake in Scrubbing.cpp
This commit is contained in:
Paul Licameli
2019-07-02 18:57:53 -04:00
parent 6adb2abc98
commit 2a06b10884
26 changed files with 61 additions and 4 deletions

View File

@@ -30,6 +30,7 @@ public:
static BackgroundCell &Get( AudacityProject &project );
static const BackgroundCell &Get( const AudacityProject &project );
explicit
BackgroundCell(AudacityProject *pProject)
: mpProject(pProject)
{}

View File

@@ -22,6 +22,7 @@ class EditCursorOverlay final
, public ClientData::Base
{
public:
explicit
EditCursorOverlay(AudacityProject *project, bool isMaster = true);
private:

View File

@@ -50,6 +50,7 @@ protected:
class PlayIndicatorOverlay final : public PlayIndicatorOverlayBase
{
public:
explicit
PlayIndicatorOverlay(AudacityProject *project);
private:

View File

@@ -744,7 +744,7 @@ bool Scrubber::IsScrubbing() const
{
if (mScrubToken <= 0)
return false;
auto projectAudioIO = ProjectAudioIO::Get( *mProject );
auto &projectAudioIO = ProjectAudioIO::Get( *mProject );
if (mScrubToken == projectAudioIO.GetAudioIOToken() &&
projectAudioIO.IsAudioActive())
return true;

View File

@@ -44,7 +44,10 @@ public:
static Scrubber &Get( AudacityProject &project );
static const Scrubber &Get( const AudacityProject &project );
explicit
Scrubber(AudacityProject *project);
Scrubber( const Scrubber & ) PROHIBITED;
Scrubber &operator=( const Scrubber & ) PROHIBITED;
~Scrubber();
static bool ShouldScrubPinned();
@@ -192,6 +195,7 @@ class ScrubbingOverlay final
, public ClientData::Base
{
public:
explicit
ScrubbingOverlay(AudacityProject *project);
private:

View File

@@ -166,7 +166,7 @@ namespace {
// Attach an object to each project. It receives track list events and updates
// track Y coordinates
struct TrackPositioner : ClientData::Base, wxEvtHandler
struct TrackPositioner final : ClientData::Base, wxEvtHandler
{
AudacityProject &mProject;
@@ -182,6 +182,8 @@ struct TrackPositioner : ClientData::Base, wxEvtHandler
TrackList::Get( project ).Bind(
EVT_TRACKLIST_RESIZING, &TrackPositioner::OnUpdate, this );
}
TrackPositioner( const TrackPositioner & ) PROHIBITED;
TrackPositioner &operator=( const TrackPositioner & ) PROHIBITED;
void OnUpdate( TrackListEvent & e )
{