diff --git a/src/core/MidiAction.cpp b/src/core/MidiAction.cpp index d90a223aff..01d2a2f53c 100644 --- a/src/core/MidiAction.cpp +++ b/src/core/MidiAction.cpp @@ -1228,12 +1228,12 @@ int MidiActionManager::getParameterNumber( const QString& sActionType ) const { bool MidiActionManager::handleActions( std::vector> actions ) { - bool bResult = true; + bool bResult = false; for ( const auto& action : actions ) { if ( action != nullptr ) { - if ( ! handleAction( action ) ) { - bResult = false; + if ( handleAction( action ) ) { + bResult = true; } } } diff --git a/src/core/MidiAction.h b/src/core/MidiAction.h index e87eb77fef..88319a4f19 100644 --- a/src/core/MidiAction.h +++ b/src/core/MidiAction.h @@ -182,15 +182,19 @@ class MidiActionManager : public H2Core::Object * Handles multiple actions at once and calls handleAction() * on them. * - * \return true - in case all actions were successful, false - otherwise. + * \return true - if at least one Action was handled + * successfully. Calling functions should treat the event + * resulting in @a actions as consumed. */ - bool handleActions( std::vector> ); + bool handleActions( std::vector> actions ); /** * The handleAction method is the heart of the * MidiActionManager class. It executes the operations that * are needed to carry the desired action. + * + * @return true - if @a action was handled successfully. */ - bool handleAction( std::shared_ptr ); + bool handleAction( std::shared_ptr action ); /** * If #__instance equals 0, a new MidiActionManager * singleton will be created and stored in it.