1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-29 02:40:05 +00:00

Warnings: Add missing overrides

This commit is contained in:
reuk 2024-01-24 12:00:28 +00:00
parent 6c32c4df87
commit 047448fbce
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
84 changed files with 630 additions and 627 deletions

View file

@ -979,7 +979,7 @@ public:
#endif
}
~ALSAAudioIODeviceType()
~ALSAAudioIODeviceType() override
{
#if ! JUCE_ALSA_LOGGING
snd_lib_error_set_handler (nullptr);
@ -989,7 +989,7 @@ public:
}
//==============================================================================
void scanForDevices()
void scanForDevices() override
{
if (hasScanned)
return;
@ -1011,14 +1011,14 @@ public:
outputNames.appendNumbersToDuplicates (false, true);
}
StringArray getDeviceNames (bool wantInputNames) const
StringArray getDeviceNames (bool wantInputNames) const override
{
jassert (hasScanned); // need to call scanForDevices() before doing this
return wantInputNames ? inputNames : outputNames;
}
int getDefaultDeviceIndex (bool forInput) const
int getDefaultDeviceIndex (bool forInput) const override
{
jassert (hasScanned); // need to call scanForDevices() before doing this
@ -1026,9 +1026,9 @@ public:
return idx >= 0 ? idx : 0;
}
bool hasSeparateInputsAndOutputs() const { return true; }
bool hasSeparateInputsAndOutputs() const override { return true; }
int getIndexOfDevice (AudioIODevice* device, bool asInput) const
int getIndexOfDevice (AudioIODevice* device, bool asInput) const override
{
jassert (hasScanned); // need to call scanForDevices() before doing this
@ -1040,7 +1040,7 @@ public:
}
AudioIODevice* createDevice (const String& outputDeviceName,
const String& inputDeviceName)
const String& inputDeviceName) override
{
jassert (hasScanned); // need to call scanForDevices() before doing this

View file

@ -564,13 +564,13 @@ private:
{
SessionEventCallback (WASAPIDeviceBase& d) : owner (d) {}
JUCE_COMRESULT OnDisplayNameChanged (LPCWSTR, LPCGUID) { return S_OK; }
JUCE_COMRESULT OnIconPathChanged (LPCWSTR, LPCGUID) { return S_OK; }
JUCE_COMRESULT OnSimpleVolumeChanged (float, BOOL, LPCGUID) { return S_OK; }
JUCE_COMRESULT OnChannelVolumeChanged (DWORD, float*, DWORD, LPCGUID) { return S_OK; }
JUCE_COMRESULT OnGroupingParamChanged (LPCGUID, LPCGUID) { return S_OK; }
JUCE_COMRESULT OnDisplayNameChanged (LPCWSTR, LPCGUID) override { return S_OK; }
JUCE_COMRESULT OnIconPathChanged (LPCWSTR, LPCGUID) override { return S_OK; }
JUCE_COMRESULT OnSimpleVolumeChanged (float, BOOL, LPCGUID) override { return S_OK; }
JUCE_COMRESULT OnChannelVolumeChanged (DWORD, float*, DWORD, LPCGUID) override { return S_OK; }
JUCE_COMRESULT OnGroupingParamChanged (LPCGUID, LPCGUID) override { return S_OK; }
JUCE_COMRESULT OnStateChanged (AudioSessionState state)
JUCE_COMRESULT OnStateChanged (AudioSessionState state) override
{
switch (state)
{
@ -588,7 +588,7 @@ private:
return S_OK;
}
JUCE_COMRESULT OnSessionDisconnected (AudioSessionDisconnectReason reason)
JUCE_COMRESULT OnSessionDisconnected (AudioSessionDisconnectReason reason) override
{
if (reason == DisconnectReasonFormatChanged)
owner.deviceSampleRateChanged();
@ -833,7 +833,7 @@ private:
return result;
}
DWORD getStreamFlags()
DWORD getStreamFlags() const
{
DWORD streamFlags = 0x40000; /*AUDCLNT_STREAMFLAGS_EVENTCALLBACK*/
@ -1199,8 +1199,8 @@ private:
//==============================================================================
class WASAPIAudioIODevice final : public AudioIODevice,
public Thread,
private AsyncUpdater
public Thread,
private AsyncUpdater
{
public:
WASAPIAudioIODevice (const String& deviceName,
@ -1821,11 +1821,11 @@ private:
explicit ChangeNotificationClient (WASAPIAudioIODeviceType* d)
: ComBaseClassHelper (0), device (d) {}
JUCE_COMRESULT OnDeviceAdded (LPCWSTR) { return notify(); }
JUCE_COMRESULT OnDeviceRemoved (LPCWSTR) { return notify(); }
JUCE_COMRESULT OnDeviceStateChanged (LPCWSTR, DWORD) { return notify(); }
JUCE_COMRESULT OnDefaultDeviceChanged (EDataFlow, ERole, LPCWSTR) { return notify(); }
JUCE_COMRESULT OnPropertyValueChanged (LPCWSTR, const PROPERTYKEY) { return notify(); }
JUCE_COMRESULT OnDeviceAdded (LPCWSTR) override { return notify(); }
JUCE_COMRESULT OnDeviceRemoved (LPCWSTR) override { return notify(); }
JUCE_COMRESULT OnDeviceStateChanged (LPCWSTR, DWORD) override { return notify(); }
JUCE_COMRESULT OnDefaultDeviceChanged (EDataFlow, ERole, LPCWSTR) override { return notify(); }
JUCE_COMRESULT OnPropertyValueChanged (LPCWSTR, const PROPERTYKEY) override { return notify(); }
private:
WeakReference<WASAPIAudioIODeviceType> device;

View file

@ -37,15 +37,15 @@ public:
{
}
JUCE_COMRESULT Commit (DWORD) { return S_OK; }
JUCE_COMRESULT Write (const void*, ULONG, ULONG*) { return E_NOTIMPL; }
JUCE_COMRESULT Clone (IStream**) { return E_NOTIMPL; }
JUCE_COMRESULT SetSize (ULARGE_INTEGER) { return E_NOTIMPL; }
JUCE_COMRESULT Revert() { return E_NOTIMPL; }
JUCE_COMRESULT LockRegion (ULARGE_INTEGER, ULARGE_INTEGER, DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT UnlockRegion (ULARGE_INTEGER, ULARGE_INTEGER, DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT Commit (DWORD) override { return S_OK; }
JUCE_COMRESULT Write (const void*, ULONG, ULONG*) override { return E_NOTIMPL; }
JUCE_COMRESULT Clone (IStream**) override { return E_NOTIMPL; }
JUCE_COMRESULT SetSize (ULARGE_INTEGER) override { return E_NOTIMPL; }
JUCE_COMRESULT Revert() override { return E_NOTIMPL; }
JUCE_COMRESULT LockRegion (ULARGE_INTEGER, ULARGE_INTEGER, DWORD) override { return E_NOTIMPL; }
JUCE_COMRESULT UnlockRegion (ULARGE_INTEGER, ULARGE_INTEGER, DWORD) override { return E_NOTIMPL; }
JUCE_COMRESULT Read (void* dest, ULONG numBytes, ULONG* bytesRead)
JUCE_COMRESULT Read (void* dest, ULONG numBytes, ULONG* bytesRead) override
{
auto numRead = source.read (dest, (size_t) numBytes);
@ -55,7 +55,7 @@ public:
return (numRead == (int) numBytes) ? S_OK : S_FALSE;
}
JUCE_COMRESULT Seek (LARGE_INTEGER position, DWORD origin, ULARGE_INTEGER* resultPosition)
JUCE_COMRESULT Seek (LARGE_INTEGER position, DWORD origin, ULARGE_INTEGER* resultPosition) override
{
auto newPos = (int64) position.QuadPart;
@ -80,7 +80,7 @@ public:
}
JUCE_COMRESULT CopyTo (IStream* destStream, ULARGE_INTEGER numBytesToDo,
ULARGE_INTEGER* bytesRead, ULARGE_INTEGER* bytesWritten)
ULARGE_INTEGER* bytesRead, ULARGE_INTEGER* bytesWritten) override
{
uint64 totalCopied = 0;
auto numBytes = (int64) numBytesToDo.QuadPart;
@ -105,7 +105,7 @@ public:
return S_OK;
}
JUCE_COMRESULT Stat (STATSTG* stat, DWORD)
JUCE_COMRESULT Stat (STATSTG* stat, DWORD) override
{
if (stat == nullptr)
return STG_E_INVALIDPOINTER;
@ -319,7 +319,7 @@ WindowsMediaAudioFormat::WindowsMediaAudioFormat()
{
}
WindowsMediaAudioFormat::~WindowsMediaAudioFormat() {}
WindowsMediaAudioFormat::~WindowsMediaAudioFormat() = default;
Array<int> WindowsMediaAudioFormat::getPossibleSampleRates() { return {}; }
Array<int> WindowsMediaAudioFormat::getPossibleBitDepths() { return {}; }

View file

@ -613,7 +613,7 @@ private:
{
ScanJob (Scanner& s) : ThreadPoolJob ("pluginscan"), scanner (s) {}
JobStatus runJob()
JobStatus runJob() override
{
while (scanner.doNextScan() && ! shouldExit())
{}

View file

@ -87,7 +87,7 @@ namespace CDBurnerHelpers
}
//==============================================================================
class AudioCDBurner::Pimpl : public ComBaseClassHelper <IDiscMasterProgressEvents>,
class AudioCDBurner::Pimpl : public ComBaseClassHelper<IDiscMasterProgressEvents>,
public Timer
{
public:
@ -104,8 +104,6 @@ public:
startTimer (2000);
}
~Pimpl() {}
void releaseObjects()
{
discRecorder->Close();
@ -116,7 +114,7 @@ public:
Release();
}
JUCE_COMRESULT QueryCancel (boolean* pbCancel)
JUCE_COMRESULT QueryCancel (boolean* pbCancel) override
{
if (listener != nullptr && ! shouldCancel)
shouldCancel = listener->audioCDBurnProgress (progress);
@ -126,7 +124,7 @@ public:
return S_OK;
}
JUCE_COMRESULT NotifyBlockProgress (long nCompleted, long nTotal)
JUCE_COMRESULT NotifyBlockProgress (long nCompleted, long nTotal) override
{
progress = nCompleted / (float) nTotal;
shouldCancel = listener != nullptr && listener->audioCDBurnProgress (progress);
@ -134,13 +132,13 @@ public:
return E_NOTIMPL;
}
JUCE_COMRESULT NotifyPnPActivity (void) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyAddProgress (long /*nCompletedSteps*/, long /*nTotalSteps*/) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyTrackProgress (long /*nCurrentTrack*/, long /*nTotalTracks*/) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyPreparingBurn (long /*nEstimatedSeconds*/) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyClosingDisc (long /*nEstimatedSeconds*/) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyBurnComplete (HRESULT /*status*/) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyEraseComplete (HRESULT /*status*/) { return E_NOTIMPL; }
JUCE_COMRESULT NotifyPnPActivity (void) override { return E_NOTIMPL; }
JUCE_COMRESULT NotifyAddProgress (long /*nCompletedSteps*/, long /*nTotalSteps*/) override { return E_NOTIMPL; }
JUCE_COMRESULT NotifyTrackProgress (long /*nCurrentTrack*/, long /*nTotalTracks*/) override { return E_NOTIMPL; }
JUCE_COMRESULT NotifyPreparingBurn (long /*nEstimatedSeconds*/) override { return E_NOTIMPL; }
JUCE_COMRESULT NotifyClosingDisc (long /*nEstimatedSeconds*/) override { return E_NOTIMPL; }
JUCE_COMRESULT NotifyBurnComplete (HRESULT /*status*/) override { return E_NOTIMPL; }
JUCE_COMRESULT NotifyEraseComplete (HRESULT /*status*/) override { return E_NOTIMPL; }
class ScopedDiscOpener
{
@ -173,30 +171,34 @@ public:
return readOnlyDiskPresent;
}
int getIntProperty (const LPOLESTR name, const int defaultReturn) const
int getIntProperty (const wchar_t* name, const int defaultReturn) const
{
std::wstring copy { name };
ComSmartPtr<IPropertyStorage> prop;
if (FAILED (discRecorder->GetRecorderProperties (prop.resetAndGetPointerAddress())))
return defaultReturn;
PROPSPEC iPropSpec;
iPropSpec.ulKind = PRSPEC_LPWSTR;
iPropSpec.lpwstr = name;
iPropSpec.lpwstr = copy.data();
PROPVARIANT iPropVariant;
return FAILED (prop->ReadMultiple (1, &iPropSpec, &iPropVariant))
? defaultReturn : (int) iPropVariant.lVal;
}
bool setIntProperty (const LPOLESTR name, const int value) const
bool setIntProperty (const wchar_t* name, const int value) const
{
std::wstring copy { name };
ComSmartPtr<IPropertyStorage> prop;
if (FAILED (discRecorder->GetRecorderProperties (prop.resetAndGetPointerAddress())))
return false;
PROPSPEC iPropSpec;
iPropSpec.ulKind = PRSPEC_LPWSTR;
iPropSpec.lpwstr = name;
iPropSpec.lpwstr = copy.data();
PROPVARIANT iPropVariant;
if (FAILED (prop->ReadMultiple (1, &iPropSpec, &iPropVariant)))
@ -389,7 +391,7 @@ bool AudioCDBurner::addAudioTrack (AudioSource* audioSource, int numSamples)
buffer.clear (bytesPerBlock);
AudioData::interleaveSamples (AudioData::NonInterleavedSource<AudioData::Float32, AudioData::NativeEndian> { sourceBuffer.getArrayOfReadPointers(), 2 },
AudioData::InterleavedDest<AudioData::Int16, Audiodata::LittleEndian> { reinterpret_cast<uint16*> (buffer), 2 },
AudioData::InterleavedDest<AudioData::Int16, AudioData::LittleEndian> { reinterpret_cast<uint16*> (buffer.get()), 2 },
samplesPerBlock);
hr = pimpl->redbook->AddAudioTrackBlocks (buffer, bytesPerBlock);

View file

@ -324,9 +324,9 @@ void findCDDevices (Array<CDDeviceDescription>& list)
if (h != INVALID_HANDLE_VALUE)
{
char buffer[100] = { 0 };
char buffer[100]{};
SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER p = { 0 };
SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER p{};
p.spt.Length = sizeof (SCSI_PASS_THROUGH);
p.spt.CdbLength = 6;
p.spt.SenseInfoLength = 24;
@ -348,7 +348,7 @@ void findCDDevices (Array<CDDeviceDescription>& list)
dev.scsiDriveLetter = driveLetter;
dev.createDescription (buffer);
SCSI_ADDRESS scsiAddr = { 0 };
SCSI_ADDRESS scsiAddr{};
scsiAddr.Length = sizeof (scsiAddr);
if (DeviceIoControl (h, IOCTL_SCSI_GET_ADDRESS,
@ -371,7 +371,7 @@ void findCDDevices (Array<CDDeviceDescription>& list)
DWORD performScsiPassThroughCommand (SRB_ExecSCSICmd* const srb, const char driveLetter,
HANDLE& deviceHandle, const bool retryOnFailure)
{
SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER s = { 0 };
SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER s{};
s.spt.Length = sizeof (SCSI_PASS_THROUGH);
s.spt.CdbLength = srb->SRB_CDBLen;
@ -798,7 +798,7 @@ int CDController::getLastIndex()
//==============================================================================
bool CDDeviceHandle::readTOC (TOC* lpToc)
{
SRB_ExecSCSICmd s = { 0 };
SRB_ExecSCSICmd s{};
s.SRB_Cmd = SC_EXEC_SCSI_CMD;
s.SRB_HaID = info.ha;
s.SRB_Target = info.tgt;
@ -872,7 +872,7 @@ void CDDeviceHandle::openDrawer (bool shouldBeOpen)
}
}
SRB_ExecSCSICmd s = { 0 };
SRB_ExecSCSICmd s{};
s.SRB_Cmd = SC_EXEC_SCSI_CMD;
s.SRB_HaID = info.ha;
s.SRB_Target = info.tgt;
@ -1134,7 +1134,7 @@ bool AudioCDReader::readSamples (int* const* destSamples, int numDestChannels, i
bool AudioCDReader::isCDStillPresent() const
{
using namespace CDReaderHelpers;
TOC toc = { 0 };
TOC toc{};
return static_cast<CDDeviceWrapper*> (handle)->deviceHandle.readTOC (&toc);
}
@ -1144,7 +1144,7 @@ void AudioCDReader::refreshTrackLengths()
trackStartSamples.clear();
zeromem (audioTracks, sizeof (audioTracks));
TOC toc = { 0 };
TOC toc{};
if (static_cast<CDDeviceWrapper*> (handle)->deviceHandle.readTOC (&toc))
{

View file

@ -44,7 +44,8 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wcast-align",
"-Wswitch-default",
"-Wswitch-enum",
"-Wunused-but-set-variable",
"-Wzero-as-null-pointer-constant")
"-Wzero-as-null-pointer-constant",
"-Wsuggest-override")
#include <cstdarg>

View file

@ -61,7 +61,8 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wconversion",
"-Wmaybe-uninitialized",
"-Wshadow-field",
"-Wsign-conversion",
"-Wzero-as-null-pointer-constant")
"-Wzero-as-null-pointer-constant",
"-Wsuggest-override")
#include <climits>
#include <cfloat>

View file

@ -183,12 +183,12 @@ public:
startThread();
}
~WriteThread()
~WriteThread() override
{
stopThread (5000);
}
void run()
void run() override
{
int n = 0;

View file

@ -110,13 +110,13 @@ struct Expression::Helpers
Constant (double val, bool resolutionTarget)
: value (val), isResolutionTarget (resolutionTarget) {}
Type getType() const noexcept { return constantType; }
Term* clone() const { return new Constant (value, isResolutionTarget); }
TermPtr resolve (const Scope&, int) { return *this; }
double toDouble() const { return value; }
TermPtr negated() { return *new Constant (-value, isResolutionTarget); }
Type getType() const noexcept override { return constantType; }
Term* clone() const override { return new Constant (value, isResolutionTarget); }
TermPtr resolve (const Scope&, int) override { return *this; }
double toDouble() const override { return value; }
TermPtr negated() override { return *new Constant (-value, isResolutionTarget); }
String toString() const
String toString() const override
{
String s (value);
if (isResolutionTarget)
@ -138,25 +138,25 @@ struct Expression::Helpers
jassert (left != nullptr && right != nullptr);
}
int getInputIndexFor (const Term* possibleInput) const
int getInputIndexFor (const Term* possibleInput) const override
{
return possibleInput == left ? 0 : (possibleInput == right ? 1 : -1);
}
Type getType() const noexcept { return operatorType; }
int getNumInputs() const { return 2; }
Term* getInput (int index) const { return index == 0 ? left.get() : (index == 1 ? right.get() : nullptr); }
Type getType() const noexcept override { return operatorType; }
int getNumInputs() const override { return 2; }
Term* getInput (int index) const override { return index == 0 ? left.get() : (index == 1 ? right.get() : nullptr); }
virtual double performFunction (double left, double right) const = 0;
virtual void writeOperator (String& dest) const = 0;
TermPtr resolve (const Scope& scope, int recursionDepth)
TermPtr resolve (const Scope& scope, int recursionDepth) override
{
return *new Constant (performFunction (left ->resolve (scope, recursionDepth)->toDouble(),
right->resolve (scope, recursionDepth)->toDouble()), false);
}
String toString() const
String toString() const override
{
String s;
auto ourPrecendence = getOperatorPrecedence();
@ -198,25 +198,25 @@ struct Expression::Helpers
public:
explicit SymbolTerm (const String& sym) : symbol (sym) {}
TermPtr resolve (const Scope& scope, int recursionDepth)
TermPtr resolve (const Scope& scope, int recursionDepth) override
{
checkRecursionDepth (recursionDepth);
return scope.getSymbolValue (symbol).term->resolve (scope, recursionDepth + 1);
}
Type getType() const noexcept { return symbolType; }
Term* clone() const { return new SymbolTerm (symbol); }
String toString() const { return symbol; }
String getName() const { return symbol; }
Type getType() const noexcept override { return symbolType; }
Term* clone() const override { return new SymbolTerm (symbol); }
String toString() const override { return symbol; }
String getName() const override { return symbol; }
void visitAllSymbols (SymbolVisitor& visitor, const Scope& scope, int recursionDepth)
void visitAllSymbols (SymbolVisitor& visitor, const Scope& scope, int recursionDepth) override
{
checkRecursionDepth (recursionDepth);
visitor.useSymbol (Symbol (scope.getScopeUID(), symbol));
scope.getSymbolValue (symbol).term->visitAllSymbols (visitor, scope, recursionDepth + 1);
}
void renameSymbol (const Symbol& oldSymbol, const String& newName, const Scope& scope, int /*recursionDepth*/)
void renameSymbol (const Symbol& oldSymbol, const String& newName, const Scope& scope, int /*recursionDepth*/) override
{
if (oldSymbol.symbolName == symbol && scope.getScopeUID() == oldSymbol.scopeUID)
symbol = newName;
@ -235,13 +235,13 @@ struct Expression::Helpers
: functionName (name), parameters (params)
{}
Type getType() const noexcept { return functionType; }
Term* clone() const { return new Function (functionName, parameters); }
int getNumInputs() const { return parameters.size(); }
Term* getInput (int i) const { return parameters.getReference (i).term.get(); }
String getName() const { return functionName; }
Type getType() const noexcept override { return functionType; }
Term* clone() const override { return new Function (functionName, parameters); }
int getNumInputs() const override { return parameters.size(); }
Term* getInput (int i) const override { return parameters.getReference (i).term.get(); }
String getName() const override { return functionName; }
TermPtr resolve (const Scope& scope, int recursionDepth)
TermPtr resolve (const Scope& scope, int recursionDepth) override
{
checkRecursionDepth (recursionDepth);
double result = 0;
@ -264,7 +264,7 @@ struct Expression::Helpers
return *new Constant (result, false);
}
int getInputIndexFor (const Term* possibleInput) const
int getInputIndexFor (const Term* possibleInput) const override
{
for (int i = 0; i < parameters.size(); ++i)
if (parameters.getReference (i).term == possibleInput)
@ -273,7 +273,7 @@ struct Expression::Helpers
return -1;
}
String toString() const
String toString() const override
{
if (parameters.size() == 0)
return functionName + "()";
@ -302,7 +302,7 @@ struct Expression::Helpers
public:
DotOperator (SymbolTerm* l, TermPtr r) : BinaryTerm (TermPtr (l), r) {}
TermPtr resolve (const Scope& scope, int recursionDepth)
TermPtr resolve (const Scope& scope, int recursionDepth) override
{
checkRecursionDepth (recursionDepth);
@ -311,13 +311,13 @@ struct Expression::Helpers
return visitor.output;
}
Term* clone() const { return new DotOperator (getSymbol(), *right); }
String getName() const { return "."; }
int getOperatorPrecedence() const { return 1; }
void writeOperator (String& dest) const { dest << '.'; }
double performFunction (double, double) const { return 0.0; }
Term* clone() const override { return new DotOperator (getSymbol(), *right); }
String getName() const override { return "."; }
int getOperatorPrecedence() const override { return 1; }
void writeOperator (String& dest) const override { dest << '.'; }
double performFunction (double, double) const override { return 0.0; }
void visitAllSymbols (SymbolVisitor& visitor, const Scope& scope, int recursionDepth)
void visitAllSymbols (SymbolVisitor& visitor, const Scope& scope, int recursionDepth) override
{
checkRecursionDepth (recursionDepth);
visitor.useSymbol (Symbol (scope.getScopeUID(), getSymbol()->symbol));
@ -331,7 +331,7 @@ struct Expression::Helpers
catch (...) {}
}
void renameSymbol (const Symbol& oldSymbol, const String& newName, const Scope& scope, int recursionDepth)
void renameSymbol (const Symbol& oldSymbol, const String& newName, const Scope& scope, int recursionDepth) override
{
checkRecursionDepth (recursionDepth);
getSymbol()->renameSymbol (oldSymbol, newName, scope, recursionDepth);
@ -353,7 +353,7 @@ struct Expression::Helpers
EvaluationVisitor (const TermPtr& t, const int recursion)
: input (t), output (t), recursionCount (recursion) {}
void visit (const Scope& scope) { output = input->resolve (scope, recursionCount); }
void visit (const Scope& scope) override { output = input->resolve (scope, recursionCount); }
const TermPtr input;
TermPtr output;
@ -369,7 +369,7 @@ struct Expression::Helpers
SymbolVisitingVisitor (const TermPtr& t, SymbolVisitor& v, const int recursion)
: input (t), visitor (v), recursionCount (recursion) {}
void visit (const Scope& scope) { input->visitAllSymbols (visitor, scope, recursionCount); }
void visit (const Scope& scope) override { input->visitAllSymbols (visitor, scope, recursionCount); }
private:
const TermPtr input;
@ -385,7 +385,7 @@ struct Expression::Helpers
SymbolRenamingVisitor (const TermPtr& t, const Expression::Symbol& symbol_, const String& newName_, const int recursionCount_)
: input (t), symbol (symbol_), newName (newName_), recursionCount (recursionCount_) {}
void visit (const Scope& scope) { input->renameSymbol (symbol, newName, scope, recursionCount); }
void visit (const Scope& scope) override { input->renameSymbol (symbol, newName, scope, recursionCount); }
private:
const TermPtr input;
@ -410,21 +410,21 @@ struct Expression::Helpers
jassert (t != nullptr);
}
Type getType() const noexcept { return operatorType; }
int getInputIndexFor (const Term* possibleInput) const { return possibleInput == input ? 0 : -1; }
int getNumInputs() const { return 1; }
Term* getInput (int index) const { return index == 0 ? input.get() : nullptr; }
Term* clone() const { return new Negate (*input->clone()); }
Type getType() const noexcept override { return operatorType; }
int getInputIndexFor (const Term* possibleInput) const override { return possibleInput == input ? 0 : -1; }
int getNumInputs() const override { return 1; }
Term* getInput (int index) const override { return index == 0 ? input.get() : nullptr; }
Term* clone() const override { return new Negate (*input->clone()); }
TermPtr resolve (const Scope& scope, int recursionDepth)
TermPtr resolve (const Scope& scope, int recursionDepth) override
{
return *new Constant (-input->resolve (scope, recursionDepth)->toDouble(), false);
}
String getName() const { return "-"; }
TermPtr negated() { return input; }
String getName() const override { return "-"; }
TermPtr negated() override { return input; }
TermPtr createTermToEvaluateInput (const Scope& scope, [[maybe_unused]] const Term* t, double overallTarget, Term* topLevelTerm) const
TermPtr createTermToEvaluateInput (const Scope& scope, [[maybe_unused]] const Term* t, double overallTarget, Term* topLevelTerm) const override
{
jassert (t == input);
@ -434,7 +434,7 @@ struct Expression::Helpers
: dest->createTermToEvaluateInput (scope, this, overallTarget, topLevelTerm));
}
String toString() const
String toString() const override
{
if (input->getOperatorPrecedence() > 0)
return "-(" + input->toString() + ")";
@ -452,13 +452,13 @@ struct Expression::Helpers
public:
Add (TermPtr l, TermPtr r) : BinaryTerm (l, r) {}
Term* clone() const { return new Add (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const { return lhs + rhs; }
int getOperatorPrecedence() const { return 3; }
String getName() const { return "+"; }
void writeOperator (String& dest) const { dest << " + "; }
Term* clone() const override { return new Add (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const override { return lhs + rhs; }
int getOperatorPrecedence() const override { return 3; }
String getName() const override { return "+"; }
void writeOperator (String& dest) const override { dest << " + "; }
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const override
{
if (auto newDest = createDestinationTerm (scope, input, overallTarget, topLevelTerm))
return *new Subtract (newDest, *(input == left ? right : left)->clone());
@ -476,13 +476,13 @@ struct Expression::Helpers
public:
Subtract (TermPtr l, TermPtr r) : BinaryTerm (l, r) {}
Term* clone() const { return new Subtract (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const { return lhs - rhs; }
int getOperatorPrecedence() const { return 3; }
String getName() const { return "-"; }
void writeOperator (String& dest) const { dest << " - "; }
Term* clone() const override { return new Subtract (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const override { return lhs - rhs; }
int getOperatorPrecedence() const override { return 3; }
String getName() const override { return "-"; }
void writeOperator (String& dest) const override { dest << " - "; }
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const override
{
if (auto newDest = createDestinationTerm (scope, input, overallTarget, topLevelTerm))
{
@ -505,13 +505,13 @@ struct Expression::Helpers
public:
Multiply (TermPtr l, TermPtr r) : BinaryTerm (l, r) {}
Term* clone() const { return new Multiply (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const { return lhs * rhs; }
String getName() const { return "*"; }
void writeOperator (String& dest) const { dest << " * "; }
int getOperatorPrecedence() const { return 2; }
Term* clone() const override { return new Multiply (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const override { return lhs * rhs; }
String getName() const override { return "*"; }
void writeOperator (String& dest) const override { dest << " * "; }
int getOperatorPrecedence() const override { return 2; }
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const override
{
if (auto newDest = createDestinationTerm (scope, input, overallTarget, topLevelTerm))
return *new Divide (newDest, *(input == left ? right : left)->clone());
@ -528,13 +528,13 @@ struct Expression::Helpers
public:
Divide (TermPtr l, TermPtr r) : BinaryTerm (l, r) {}
Term* clone() const { return new Divide (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const { return lhs / rhs; }
String getName() const { return "/"; }
void writeOperator (String& dest) const { dest << " / "; }
int getOperatorPrecedence() const { return 2; }
Term* clone() const override { return new Divide (*left->clone(), *right->clone()); }
double performFunction (double lhs, double rhs) const override { return lhs / rhs; }
String getName() const override { return "/"; }
void writeOperator (String& dest) const override { dest << " / "; }
int getOperatorPrecedence() const override { return 2; }
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const
TermPtr createTermToEvaluateInput (const Scope& scope, const Term* input, double overallTarget, Term* topLevelTerm) const override
{
auto newDest = createDestinationTerm (scope, input, overallTarget, topLevelTerm);
@ -625,7 +625,7 @@ struct Expression::Helpers
{
public:
SymbolCheckVisitor (const Symbol& s) : symbol (s) {}
void useSymbol (const Symbol& s) { wasFound = wasFound || s == symbol; }
void useSymbol (const Symbol& s) override { wasFound = wasFound || s == symbol; }
bool wasFound = false;
@ -640,7 +640,7 @@ struct Expression::Helpers
{
public:
SymbolListVisitor (Array<Symbol>& list_) : list (list_) {}
void useSymbol (const Symbol& s) { list.addIfNotAlreadyThere (s); }
void useSymbol (const Symbol& s) override { list.addIfNotAlreadyThere (s); }
private:
Array<Symbol>& list;

View file

@ -167,13 +167,13 @@ public:
ComBaseClassHelperBase (unsigned int initialRefCount) : refCount (initialRefCount) {}
virtual ~ComBaseClassHelperBase() = default;
ULONG STDMETHODCALLTYPE AddRef() { return ++refCount; }
ULONG STDMETHODCALLTYPE Release() { auto r = --refCount; if (r == 0) delete this; return r; }
ULONG STDMETHODCALLTYPE AddRef() override { return ++refCount; }
ULONG STDMETHODCALLTYPE Release() override { auto r = --refCount; if (r == 0) delete this; return r; }
protected:
ULONG refCount;
JUCE_COMRESULT QueryInterface (REFIID refId, void** result)
JUCE_COMRESULT QueryInterface (REFIID refId, void** result) override
{
if (refId == __uuidof (IUnknown))
return castToType<First> (result);
@ -203,7 +203,7 @@ public:
explicit ComBaseClassHelper (unsigned int initialRefCount = 1)
: ComBaseClassHelperBase<ComClasses...> (initialRefCount) {}
JUCE_COMRESULT QueryInterface (REFIID refId, void** result)
JUCE_COMRESULT QueryInterface (REFIID refId, void** result) override
{
const std::tuple<IID, void*> bases[]
{

View file

@ -845,7 +845,7 @@ public:
TheTest::run (*this, random, Tag<int64_t>{});
}
void runTest()
void runTest() override
{
runTestForAllTypes ("InitializationTest", InitializationTest{});

View file

@ -212,11 +212,11 @@ public:
bool loadedOk() const noexcept { return dwFontFace != nullptr; }
BOOL isFontFound() const noexcept { return fontFound; }
float getAscent() const { return ascent; }
float getDescent() const { return 1.0f - ascent; }
float getHeightToPointsFactor() const { return heightToPointsFactor; }
float getAscent() const override { return ascent; }
float getDescent() const override { return 1.0f - ascent; }
float getHeightToPointsFactor() const override { return heightToPointsFactor; }
float getStringWidth (const String& text)
float getStringWidth (const String& text) override
{
auto textUTF32 = text.toUTF32();
auto len = textUTF32.length();
@ -235,7 +235,7 @@ public:
return x * unitsToHeightScaleFactor;
}
void getGlyphPositions (const String& text, Array<int>& resultGlyphs, Array<float>& xOffsets)
void getGlyphPositions (const String& text, Array<int>& resultGlyphs, Array<float>& xOffsets) override
{
xOffsets.add (0);
@ -257,7 +257,7 @@ public:
}
}
bool getOutlineForGlyph (int glyphNumber, Path& path)
bool getOutlineForGlyph (int glyphNumber, Path& path) override
{
jassert (path.isEmpty()); // we might need to apply a transform to the path, so this must be empty
auto glyphIndex = (UINT16) glyphNumber;

View file

@ -335,7 +335,7 @@ public:
L' ');
}
bool loadGlyphIfPossible (const juce_wchar character)
bool loadGlyphIfPossible (const juce_wchar character) override
{
if (faceWrapper != nullptr)
{

View file

@ -334,7 +334,7 @@ public:
loadFont();
}
~WindowsTypeface()
~WindowsTypeface() override
{
SelectObject (dc, previousFontH); // Replacing the previous font before deleting the DC avoids a warning in BoundsChecker
DeleteDC (dc);
@ -346,11 +346,11 @@ public:
RemoveFontMemResourceEx (memoryFont);
}
float getAscent() const { return ascent; }
float getDescent() const { return 1.0f - ascent; }
float getHeightToPointsFactor() const { return heightToPointsFactor; }
float getAscent() const override { return ascent; }
float getDescent() const override { return 1.0f - ascent; }
float getHeightToPointsFactor() const override { return heightToPointsFactor; }
float getStringWidth (const String& text)
float getStringWidth (const String& text) override
{
auto utf16 = text.toUTF16();
auto numChars = utf16.length();
@ -367,7 +367,7 @@ public:
return x;
}
void getGlyphPositions (const String& text, Array<int>& resultGlyphs, Array<float>& xOffsets)
void getGlyphPositions (const String& text, Array<int>& resultGlyphs, Array<float>& xOffsets) override
{
auto utf16 = text.toUTF16();
auto numChars = utf16.length();
@ -391,7 +391,7 @@ public:
xOffsets.add (x);
}
bool getOutlineForGlyph (int glyphNumber, Path& glyphPath)
bool getOutlineForGlyph (int glyphNumber, Path& glyphPath) override
{
if (glyphNumber < 0)
glyphNumber = defaultGlyph;

View file

@ -60,12 +60,12 @@ struct TabbedComponent::ButtonBar final : public TabbedButtonBar
{
}
void currentTabChanged (int newCurrentTabIndex, const String& newTabName)
void currentTabChanged (int newCurrentTabIndex, const String& newTabName) override
{
owner.changeCallback (newCurrentTabIndex, newTabName);
}
void popupMenuClickOnTab (int tabIndex, const String& tabName)
void popupMenuClickOnTab (int tabIndex, const String& tabName) override
{
owner.popupMenuClickOnTab (tabIndex, tabName);
}
@ -75,7 +75,7 @@ struct TabbedComponent::ButtonBar final : public TabbedButtonBar
return owner.tabs->getTabBackgroundColour (tabIndex);
}
TabBarButton* createTabButton (const String& tabName, int tabIndex)
TabBarButton* createTabButton (const String& tabName, int tabIndex) override
{
return owner.createTabButton (tabName, tabIndex);
}

View file

@ -31,7 +31,7 @@ namespace DragAndDropHelpers
//==============================================================================
struct JuceDropSource final : public ComBaseClassHelper<IDropSource>
{
JuceDropSource() {}
JuceDropSource() = default;
JUCE_COMRESULT QueryContinueDrag (BOOL escapePressed, DWORD keys) override
{
@ -123,7 +123,7 @@ namespace DragAndDropHelpers
};
//==============================================================================
class JuceDataObject final : public ComBaseClassHelper <IDataObject>
class JuceDataObject final : public ComBaseClassHelper<IDataObject>
{
public:
JuceDataObject (const FORMATETC* f, const STGMEDIUM* m)
@ -131,12 +131,12 @@ namespace DragAndDropHelpers
{
}
~JuceDataObject()
~JuceDataObject() override
{
jassert (refCount == 0);
}
JUCE_COMRESULT GetData (FORMATETC* pFormatEtc, STGMEDIUM* pMedium)
JUCE_COMRESULT GetData (FORMATETC* pFormatEtc, STGMEDIUM* pMedium) override
{
if ((pFormatEtc->tymed & format->tymed) != 0
&& pFormatEtc->cfFormat == format->cfFormat
@ -164,7 +164,7 @@ namespace DragAndDropHelpers
return DV_E_FORMATETC;
}
JUCE_COMRESULT QueryGetData (FORMATETC* f)
JUCE_COMRESULT QueryGetData (FORMATETC* f) override
{
if (f == nullptr)
return E_INVALIDARG;
@ -177,13 +177,13 @@ namespace DragAndDropHelpers
return DV_E_FORMATETC;
}
JUCE_COMRESULT GetCanonicalFormatEtc (FORMATETC*, FORMATETC* pFormatEtcOut)
JUCE_COMRESULT GetCanonicalFormatEtc (FORMATETC*, FORMATETC* pFormatEtcOut) override
{
pFormatEtcOut->ptd = nullptr;
return E_NOTIMPL;
}
JUCE_COMRESULT EnumFormatEtc (DWORD direction, IEnumFORMATETC** result)
JUCE_COMRESULT EnumFormatEtc (DWORD direction, IEnumFORMATETC** result) override
{
if (result == nullptr)
return E_POINTER;
@ -198,11 +198,11 @@ namespace DragAndDropHelpers
return E_NOTIMPL;
}
JUCE_COMRESULT GetDataHere (FORMATETC*, STGMEDIUM*) { return DATA_E_FORMATETC; }
JUCE_COMRESULT SetData (FORMATETC*, STGMEDIUM*, BOOL) { return E_NOTIMPL; }
JUCE_COMRESULT DAdvise (FORMATETC*, DWORD, IAdviseSink*, DWORD*) { return OLE_E_ADVISENOTSUPPORTED; }
JUCE_COMRESULT DUnadvise (DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT EnumDAdvise (IEnumSTATDATA**) { return OLE_E_ADVISENOTSUPPORTED; }
JUCE_COMRESULT GetDataHere (FORMATETC*, STGMEDIUM*) override { return DATA_E_FORMATETC; }
JUCE_COMRESULT SetData (FORMATETC*, STGMEDIUM*, BOOL) override { return E_NOTIMPL; }
JUCE_COMRESULT DAdvise (FORMATETC*, DWORD, IAdviseSink*, DWORD*) override { return OLE_E_ADVISENOTSUPPORTED; }
JUCE_COMRESULT DUnadvise (DWORD) override { return E_NOTIMPL; }
JUCE_COMRESULT EnumDAdvise (IEnumSTATDATA**) override { return OLE_E_ADVISENOTSUPPORTED; }
private:
const FORMATETC* const format;

View file

@ -121,7 +121,7 @@ class RelativeRectangleLocalScope final : public Expression::Scope
public:
RelativeRectangleLocalScope (const RelativeRectangle& rect_) : rect (rect_) {}
Expression getSymbolValue (const String& symbol) const
Expression getSymbolValue (const String& symbol) const override
{
switch (RelativeCoordinate::StandardStrings::getTypeOf (symbol))
{

View file

@ -318,7 +318,7 @@ class TableListBox::Header final : public TableHeaderComponent
public:
Header (TableListBox& tlb) : owner (tlb) {}
void addMenuItems (PopupMenu& menu, int columnIdClicked)
void addMenuItems (PopupMenu& menu, int columnIdClicked) override
{
if (owner.isAutoSizeMenuOptionShown())
{
@ -330,7 +330,7 @@ public:
TableHeaderComponent::addMenuItems (menu, columnIdClicked);
}
void reactToMenuItem (int menuReturnId, int columnIdClicked)
void reactToMenuItem (int menuReturnId, int columnIdClicked) override
{
switch (menuReturnId)
{

View file

@ -37,23 +37,23 @@ namespace ActiveXHelpers
//==============================================================================
struct JuceIStorage final : public ComBaseClassHelper<IStorage>
{
JuceIStorage() {}
JuceIStorage() = default;
JUCE_COMRESULT CreateStream (const WCHAR*, DWORD, DWORD, DWORD, IStream**) { return E_NOTIMPL; }
JUCE_COMRESULT OpenStream (const WCHAR*, void*, DWORD, DWORD, IStream**) { return E_NOTIMPL; }
JUCE_COMRESULT CreateStorage (const WCHAR*, DWORD, DWORD, DWORD, IStorage**) { return E_NOTIMPL; }
JUCE_COMRESULT OpenStorage (const WCHAR*, IStorage*, DWORD, SNB, DWORD, IStorage**) { return E_NOTIMPL; }
JUCE_COMRESULT CopyTo (DWORD, IID const*, SNB, IStorage*) { return E_NOTIMPL; }
JUCE_COMRESULT MoveElementTo (const OLECHAR*,IStorage*, const OLECHAR*, DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT Commit (DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT Revert() { return E_NOTIMPL; }
JUCE_COMRESULT EnumElements (DWORD, void*, DWORD, IEnumSTATSTG**) { return E_NOTIMPL; }
JUCE_COMRESULT DestroyElement (const OLECHAR*) { return E_NOTIMPL; }
JUCE_COMRESULT RenameElement (const WCHAR*, const WCHAR*) { return E_NOTIMPL; }
JUCE_COMRESULT SetElementTimes (const WCHAR*, FILETIME const*, FILETIME const*, FILETIME const*) { return E_NOTIMPL; }
JUCE_COMRESULT SetClass (REFCLSID) { return S_OK; }
JUCE_COMRESULT SetStateBits (DWORD, DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT Stat (STATSTG*, DWORD) { return E_NOTIMPL; }
JUCE_COMRESULT CreateStream (const WCHAR*, DWORD, DWORD, DWORD, IStream**) override { return E_NOTIMPL; }
JUCE_COMRESULT OpenStream (const WCHAR*, void*, DWORD, DWORD, IStream**) override { return E_NOTIMPL; }
JUCE_COMRESULT CreateStorage (const WCHAR*, DWORD, DWORD, DWORD, IStorage**) override { return E_NOTIMPL; }
JUCE_COMRESULT OpenStorage (const WCHAR*, IStorage*, DWORD, SNB, DWORD, IStorage**) override { return E_NOTIMPL; }
JUCE_COMRESULT CopyTo (DWORD, IID const*, SNB, IStorage*) override { return E_NOTIMPL; }
JUCE_COMRESULT MoveElementTo (const OLECHAR*,IStorage*, const OLECHAR*, DWORD) override { return E_NOTIMPL; }
JUCE_COMRESULT Commit (DWORD) override { return E_NOTIMPL; }
JUCE_COMRESULT Revert() override { return E_NOTIMPL; }
JUCE_COMRESULT EnumElements (DWORD, void*, DWORD, IEnumSTATSTG**) override { return E_NOTIMPL; }
JUCE_COMRESULT DestroyElement (const OLECHAR*) override { return E_NOTIMPL; }
JUCE_COMRESULT RenameElement (const WCHAR*, const WCHAR*) override { return E_NOTIMPL; }
JUCE_COMRESULT SetElementTimes (const WCHAR*, FILETIME const*, FILETIME const*, FILETIME const*) override { return E_NOTIMPL; }
JUCE_COMRESULT SetClass (REFCLSID) override { return S_OK; }
JUCE_COMRESULT SetStateBits (DWORD, DWORD) override { return E_NOTIMPL; }
JUCE_COMRESULT Stat (STATSTG*, DWORD) override { return E_NOTIMPL; }
};
//==============================================================================
@ -61,18 +61,18 @@ namespace ActiveXHelpers
{
JuceOleInPlaceFrame (HWND hwnd) : window (hwnd) {}
JUCE_COMRESULT GetWindow (HWND* lphwnd) { *lphwnd = window; return S_OK; }
JUCE_COMRESULT ContextSensitiveHelp (BOOL) { return E_NOTIMPL; }
JUCE_COMRESULT GetBorder (LPRECT) { return E_NOTIMPL; }
JUCE_COMRESULT RequestBorderSpace (LPCBORDERWIDTHS) { return E_NOTIMPL; }
JUCE_COMRESULT SetBorderSpace (LPCBORDERWIDTHS) { return E_NOTIMPL; }
JUCE_COMRESULT SetActiveObject (IOleInPlaceActiveObject* a, LPCOLESTR) { activeObject = a; return S_OK; }
JUCE_COMRESULT InsertMenus (HMENU, LPOLEMENUGROUPWIDTHS) { return E_NOTIMPL; }
JUCE_COMRESULT SetMenu (HMENU, HOLEMENU, HWND) { return S_OK; }
JUCE_COMRESULT RemoveMenus (HMENU) { return E_NOTIMPL; }
JUCE_COMRESULT SetStatusText (LPCOLESTR) { return S_OK; }
JUCE_COMRESULT EnableModeless (BOOL) { return S_OK; }
JUCE_COMRESULT TranslateAccelerator (LPMSG, WORD) { return E_NOTIMPL; }
JUCE_COMRESULT GetWindow (HWND* lphwnd) override { *lphwnd = window; return S_OK; }
JUCE_COMRESULT ContextSensitiveHelp (BOOL) override { return E_NOTIMPL; }
JUCE_COMRESULT GetBorder (LPRECT) override { return E_NOTIMPL; }
JUCE_COMRESULT RequestBorderSpace (LPCBORDERWIDTHS) override { return E_NOTIMPL; }
JUCE_COMRESULT SetBorderSpace (LPCBORDERWIDTHS) override { return E_NOTIMPL; }
JUCE_COMRESULT SetActiveObject (IOleInPlaceActiveObject* a, LPCOLESTR) override { activeObject = a; return S_OK; }
JUCE_COMRESULT InsertMenus (HMENU, LPOLEMENUGROUPWIDTHS) override { return E_NOTIMPL; }
JUCE_COMRESULT SetMenu (HMENU, HOLEMENU, HWND) override { return S_OK; }
JUCE_COMRESULT RemoveMenus (HMENU) override { return E_NOTIMPL; }
JUCE_COMRESULT SetStatusText (LPCOLESTR) override { return S_OK; }
JUCE_COMRESULT EnableModeless (BOOL) override { return S_OK; }
JUCE_COMRESULT TranslateAccelerator (LPMSG, WORD) override { return E_NOTIMPL; }
HRESULT OfferKeyTranslation (LPMSG lpmsg)
{
@ -94,18 +94,18 @@ namespace ActiveXHelpers
frame (new JuceOleInPlaceFrame (window))
{}
~JuceIOleInPlaceSite()
~JuceIOleInPlaceSite() override
{
frame->Release();
}
JUCE_COMRESULT GetWindow (HWND* lphwnd) { *lphwnd = window; return S_OK; }
JUCE_COMRESULT ContextSensitiveHelp (BOOL) { return E_NOTIMPL; }
JUCE_COMRESULT CanInPlaceActivate() { return S_OK; }
JUCE_COMRESULT OnInPlaceActivate() { return S_OK; }
JUCE_COMRESULT OnUIActivate() { return S_OK; }
JUCE_COMRESULT GetWindow (HWND* lphwnd) override { *lphwnd = window; return S_OK; }
JUCE_COMRESULT ContextSensitiveHelp (BOOL) override { return E_NOTIMPL; }
JUCE_COMRESULT CanInPlaceActivate() override { return S_OK; }
JUCE_COMRESULT OnInPlaceActivate() override { return S_OK; }
JUCE_COMRESULT OnUIActivate() override { return S_OK; }
JUCE_COMRESULT GetWindowContext (LPOLEINPLACEFRAME* lplpFrame, LPOLEINPLACEUIWINDOW* lplpDoc, LPRECT, LPRECT, LPOLEINPLACEFRAMEINFO lpFrameInfo)
JUCE_COMRESULT GetWindowContext (LPOLEINPLACEFRAME* lplpFrame, LPOLEINPLACEUIWINDOW* lplpDoc, LPRECT, LPRECT, LPOLEINPLACEFRAMEINFO lpFrameInfo) override
{
/* Note: If you call AddRef on the frame here, then some types of object (e.g. web browser control) cause leaks..
If you don't call AddRef then others crash (e.g. QuickTime).. Bit of a catch-22, so letting it leak is probably preferable.
@ -119,12 +119,12 @@ namespace ActiveXHelpers
return S_OK;
}
JUCE_COMRESULT Scroll (SIZE) { return E_NOTIMPL; }
JUCE_COMRESULT OnUIDeactivate (BOOL) { return S_OK; }
JUCE_COMRESULT OnInPlaceDeactivate() { return S_OK; }
JUCE_COMRESULT DiscardUndoState() { return E_NOTIMPL; }
JUCE_COMRESULT DeactivateAndUndo() { return E_NOTIMPL; }
JUCE_COMRESULT OnPosRectChange (LPCRECT) { return S_OK; }
JUCE_COMRESULT Scroll (SIZE) override { return E_NOTIMPL; }
JUCE_COMRESULT OnUIDeactivate (BOOL) override { return S_OK; }
JUCE_COMRESULT OnInPlaceDeactivate() override { return S_OK; }
JUCE_COMRESULT DiscardUndoState() override { return E_NOTIMPL; }
JUCE_COMRESULT DeactivateAndUndo() override { return E_NOTIMPL; }
JUCE_COMRESULT OnPosRectChange (LPCRECT) override { return S_OK; }
LRESULT offerEventToActiveXControl (::MSG& msg)
{
@ -144,7 +144,7 @@ namespace ActiveXHelpers
JuceIOleClientSite (HWND window) : inplaceSite (new JuceIOleInPlaceSite (window))
{}
~JuceIOleClientSite()
~JuceIOleClientSite() override
{
inplaceSite->Release();
@ -155,7 +155,7 @@ namespace ActiveXHelpers
}
}
JUCE_COMRESULT QueryInterface (REFIID type, void** result)
JUCE_COMRESULT QueryInterface (REFIID type, void** result) override
{
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
@ -177,12 +177,12 @@ namespace ActiveXHelpers
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
}
JUCE_COMRESULT SaveObject() { return E_NOTIMPL; }
JUCE_COMRESULT GetMoniker (DWORD, DWORD, IMoniker**) { return E_NOTIMPL; }
JUCE_COMRESULT GetContainer (LPOLECONTAINER* ppContainer) { *ppContainer = nullptr; return E_NOINTERFACE; }
JUCE_COMRESULT ShowObject() { return S_OK; }
JUCE_COMRESULT OnShowWindow (BOOL) { return E_NOTIMPL; }
JUCE_COMRESULT RequestNewObjectLayout() { return E_NOTIMPL; }
JUCE_COMRESULT SaveObject() override { return E_NOTIMPL; }
JUCE_COMRESULT GetMoniker (DWORD, DWORD, IMoniker**) override { return E_NOTIMPL; }
JUCE_COMRESULT GetContainer (LPOLECONTAINER* ppContainer) override { *ppContainer = nullptr; return E_NOINTERFACE; }
JUCE_COMRESULT ShowObject() override { return S_OK; }
JUCE_COMRESULT OnShowWindow (BOOL) override { return E_NOTIMPL; }
JUCE_COMRESULT RequestNewObjectLayout() override { return E_NOTIMPL; }
LRESULT offerEventToActiveXControl (::MSG& msg)
{

View file

@ -670,7 +670,7 @@ public:
: originalWorker (std::move (workerToUse))
{}
void operator() (OpenGLContext& calleeContext)
void operator() (OpenGLContext& calleeContext) override
{
if (originalWorker != nullptr)
(*originalWorker) (calleeContext);

View file

@ -406,7 +406,7 @@ public:
: UnitTest ("OSCAddress class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("construction and parsing");
{
@ -452,7 +452,7 @@ public:
: UnitTest ("OSCAddressPattern class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("construction and parsing");
{
@ -593,7 +593,7 @@ public:
: UnitTest ("OSCAddress class / pattern matching", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("basic string matching");
{

View file

@ -102,7 +102,7 @@ public:
return block;
}
void runTest()
void runTest() override
{
runTestInitialisation();
}

View file

@ -119,7 +119,7 @@ public:
: UnitTest ("OSCBundle class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("Construction");
{
@ -224,7 +224,7 @@ public:
: UnitTest ("OSCBundle::Element class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("Construction from OSCMessage");
{

View file

@ -107,7 +107,7 @@ public:
: UnitTest ("OSCMessage class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("Basic usage");
{

View file

@ -670,7 +670,7 @@ public:
: UnitTest ("OSCInputStream class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("reading OSC addresses");
{

View file

@ -343,7 +343,7 @@ public:
: UnitTest ("OSCBinaryWriter class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("writing OSC addresses");
{
@ -672,7 +672,7 @@ public:
: UnitTest ("OSCRoundTripTests class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("Empty OSC message");
{

View file

@ -83,7 +83,7 @@ public:
: UnitTest ("OSCTimeTag class", UnitTestCategories::osc)
{}
void runTest()
void runTest() override
{
beginTest ("Basics");

View file

@ -530,7 +530,7 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
GrabberCallback (Pimpl& p)
: ComBaseClassHelperBase (0), owner (p) {}
JUCE_COMRESULT QueryInterface (REFIID refId, void** result)
JUCE_COMRESULT QueryInterface (REFIID refId, void** result) override
{
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wlanguage-extension-token")
if (refId == __uuidof (ComTypes::ISampleGrabberCB))
@ -540,9 +540,9 @@ struct CameraDevice::Pimpl : public ChangeBroadcaster
return ComBaseClassHelperBase<ComTypes::ISampleGrabberCB>::QueryInterface (refId, result);
}
JUCE_COMRESULT SampleCB (double, ComTypes::IMediaSample*) { return E_FAIL; }
JUCE_COMRESULT SampleCB (double, ComTypes::IMediaSample*) override { return E_FAIL; }
JUCE_COMRESULT BufferCB (double time, BYTE* buffer, long bufferSize)
JUCE_COMRESULT BufferCB (double time, BYTE* buffer, long bufferSize) override
{
owner.handleFrame (time, buffer, bufferSize);
return S_OK;