| @@ -818,14 +818,13 @@ void MidiKeyboardComponent::timerCallback() | |||||
| if (shouldCheckMousePos) | if (shouldCheckMousePos) | ||||
| { | { | ||||
| Desktop& desktop = Desktop::getInstance(); | |||||
| const OwnedArray<MouseInputSource>& mouseSources = Desktop::getInstance().getMouseSources(); | |||||
| for (int i = desktop.getNumMouseSources(); --i >= 0;) | |||||
| for (MouseInputSource** i = mouseSources.begin(), ** const e = mouseSources.end(); i != e; ++i) | |||||
| { | { | ||||
| MouseInputSource* source = desktop.getMouseSource (i); | |||||
| jassert (source != nullptr); | |||||
| updateNoteUnderMouse (getLocalPoint (nullptr, source->getScreenPosition()), | |||||
| source->isDragging(), source->getIndex()); | |||||
| const MouseInputSource& source = **i; | |||||
| updateNoteUnderMouse (getLocalPoint (nullptr, source.getScreenPosition()), | |||||
| source.isDragging(), source.getIndex()); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -221,13 +221,13 @@ public: | |||||
| Desktop& desktop = Desktop::getInstance(); | Desktop& desktop = Desktop::getInstance(); | ||||
| int numMiceDown = 0; | int numMiceDown = 0; | ||||
| for (int i = desktop.getNumMouseSources(); --i >= 0;) | |||||
| { | |||||
| MouseInputSource& source = *desktop.getMouseSource(i); | |||||
| const OwnedArray<MouseInputSource>& mouseSources = desktop.getMouseSources(); | |||||
| if (source.isDragging()) | |||||
| for (MouseInputSource** i = mouseSources.begin(), ** const e = mouseSources.end(); i != e; ++i) | |||||
| { | |||||
| if ((*i)->isDragging()) | |||||
| { | { | ||||
| source.triggerFakeMove(); | |||||
| (*i)->triggerFakeMove(); | |||||
| ++numMiceDown; | ++numMiceDown; | ||||
| } | } | ||||
| } | } | ||||
| @@ -242,6 +242,9 @@ public: | |||||
| */ | */ | ||||
| MouseInputSource* getMouseSource (int index) const noexcept { return mouseSources [index]; } | MouseInputSource* getMouseSource (int index) const noexcept { return mouseSources [index]; } | ||||
| /** Provides access to the array of mouse sources, for iteration. */ | |||||
| const OwnedArray<MouseInputSource>& getMouseSources() const { return mouseSources; } | |||||
| /** Returns the main mouse input device that the system is using. | /** Returns the main mouse input device that the system is using. | ||||
| @see getNumMouseSources() | @see getNumMouseSources() | ||||
| */ | */ | ||||
| @@ -1033,8 +1033,10 @@ public: | |||||
| { | { | ||||
| mouseWasHidden = false; | mouseWasHidden = false; | ||||
| for (int i = Desktop::getInstance().getNumMouseSources(); --i >= 0;) | |||||
| Desktop::getInstance().getMouseSource(i)->enableUnboundedMouseMovement (false); | |||||
| const OwnedArray<MouseInputSource>& mouseSources = Desktop::getInstance().getMouseSources(); | |||||
| for (MouseInputSource** i = mouseSources.begin(), ** const e = mouseSources.end(); i != e; ++i) | |||||
| (*i)->enableUnboundedMouseMovement (false); | |||||
| const double pos = sliderBeingDragged == 2 ? getMaxValue() | const double pos = sliderBeingDragged == 2 ? getMaxValue() | ||||
| : (sliderBeingDragged == 1 ? getMinValue() | : (sliderBeingDragged == 1 ? getMinValue() | ||||
| @@ -367,14 +367,14 @@ private: | |||||
| static bool isMouseDraggingInChildCompOf (Component* const comp) | static bool isMouseDraggingInChildCompOf (Component* const comp) | ||||
| { | { | ||||
| Desktop& desktop = Desktop::getInstance(); | |||||
| const OwnedArray<MouseInputSource>& mouseSources = Desktop::getInstance().getMouseSources(); | |||||
| for (int i = desktop.getNumMouseSources(); --i >= 0;) | |||||
| for (MouseInputSource** i = mouseSources.begin(), ** const e = mouseSources.end(); i != e; ++i) | |||||
| { | { | ||||
| MouseInputSource* const source = desktop.getMouseSource(i); | |||||
| MouseInputSource& source = **i; | |||||
| if (source->isDragging()) | |||||
| if (Component* const underMouse = source->getComponentUnderMouse()) | |||||
| if (source.isDragging()) | |||||
| if (Component* const underMouse = source.getComponentUnderMouse()) | |||||
| if (comp == underMouse || comp->isParentOf (underMouse)) | if (comp == underMouse || comp->isParentOf (underMouse)) | ||||
| return true; | return true; | ||||
| } | } | ||||