diff --git a/modules/juce_core/maths/juce_Expression.cpp b/modules/juce_core/maths/juce_Expression.cpp index 6f54d4bf8b..f7a3615efd 100644 --- a/modules/juce_core/maths/juce_Expression.cpp +++ b/modules/juce_core/maths/juce_Expression.cpp @@ -863,7 +863,7 @@ struct Expression::Helpers return parseError ("Expected parameters after \"" + identifier + " (\""); } - f->parameters.add (Expression (param)); + f->parameters.add (Expression (param.get())); while (readOperator (",")) { @@ -872,7 +872,7 @@ struct Expression::Helpers if (param == nullptr) return parseError ("Expected expression after \",\""); - f->parameters.add (Expression (param)); + f->parameters.add (Expression (param.get())); } if (readOperator (")")) @@ -972,7 +972,7 @@ Expression::Expression (const String& stringToParse, String& parseError) Expression Expression::parse (String::CharPointerType& stringToParse, String& parseError) { Helpers::Parser parser (stringToParse); - Expression e (parser.readUpToComma()); + Expression e (parser.readUpToComma().get()); parseError = parser.error; return e; } @@ -1006,7 +1006,7 @@ Expression Expression::operator+ (const Expression& other) const { return Expre Expression Expression::operator- (const Expression& other) const { return Expression (new Helpers::Subtract (term, other.term)); } Expression Expression::operator* (const Expression& other) const { return Expression (new Helpers::Multiply (term, other.term)); } Expression Expression::operator/ (const Expression& other) const { return Expression (new Helpers::Divide (term, other.term)); } -Expression Expression::operator-() const { return Expression (term->negated()); } +Expression Expression::operator-() const { return Expression (term->negated().get()); } Expression Expression::symbol (const String& symbol) { return Expression (new Helpers::SymbolTerm (symbol)); } Expression Expression::function (const String& functionName, const Array& parameters) @@ -1034,7 +1034,7 @@ Expression Expression::adjustedToGiveNewResult (const double targetValue, const if (const Term* parent = Helpers::findDestinationFor (newTerm.get(), termToAdjust)) { if (Helpers::TermPtr reverseTerm = parent->createTermToEvaluateInput (scope, termToAdjust, targetValue, newTerm.get())) - termToAdjust->value = Expression (reverseTerm).evaluate (scope); + termToAdjust->value = Expression (reverseTerm.get()).evaluate (scope); else return Expression (targetValue); } diff --git a/modules/juce_core/memory/juce_ReferenceCountedObject.h b/modules/juce_core/memory/juce_ReferenceCountedObject.h index 952acd9185..1f64b36192 100644 --- a/modules/juce_core/memory/juce_ReferenceCountedObject.h +++ b/modules/juce_core/memory/juce_ReferenceCountedObject.h @@ -442,6 +442,12 @@ private: if (o != nullptr && o->decReferenceCountWithoutDeleting()) ContainerDeletePolicy::destroy (o); } + + #if JUCE_STRICT_REFCOUNTEDPOINTER + // Unimplemented. This declaration prevents an unintended cast by making + // operator bool() ambiguous. + operator ReferencedType*() const noexcept; + #endif }; diff --git a/modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp b/modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp index 02656f68f2..bf301dbd7b 100644 --- a/modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp +++ b/modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp @@ -43,7 +43,7 @@ struct CustomMenuBarItemHolder : public Component if (newComponent != custom) { if (custom != nullptr) - removeChildComponent (custom); + removeChildComponent (custom.get()); custom = newComponent; addAndMakeVisible (*custom); diff --git a/modules/juce_gui_extra/native/juce_android_PushNotifications.cpp b/modules/juce_gui_extra/native/juce_android_PushNotifications.cpp index fbcc31ab1e..f5d40b82e4 100644 --- a/modules/juce_gui_extra/native/juce_android_PushNotifications.cpp +++ b/modules/juce_gui_extra/native/juce_android_PushNotifications.cpp @@ -1332,7 +1332,7 @@ struct PushNotifications::Pimpl } } - return var (dynamicObject); + return var (dynamicObject.get()); } return {}; diff --git a/modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp b/modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp index 0f6288c519..f140f23512 100644 --- a/modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp +++ b/modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp @@ -229,7 +229,7 @@ namespace PushNotificationsDelegateDetails propsVarObject->setProperty (propertyName, properties.getValueAt (i)); } - return var (propsVarObject); + return var (propsVarObject.get()); } //==============================================================================