- Create a slider with velocity mode on
- Drag slider
- Cursor disappears
- Release mouse
- Cursor doesn’t come back
- Move mouse outside plugin window
- Cursor comes back
I had one user who had the same issue (also with Logic), but I could not reproduce it on my end.
The user just informed me that this issue disappeared now (magically). Did you found out anything more about this?
I’m getting similar issue using Logic 11 and Sonoma 14.5 when using velocity mode (control + drag), when dragging on the control the cursor vanishes and stays hidden until the mouse leaves the plugin window.
I’ve fixed it for now by changing revealCursor (false) to revealCursor (true) in
setPointerState() in juce_MouseInputSourceImpl.h
When i moved my mouse off screen, the mouse became visible again. My workaround was to move the mouse offscreen, then reset it to its previous location, like so:
void MySlider::mouseUp(const juce::MouseEvent& event)
{
// execute mouseUp method of base class
Slider::mouseUp(event);
// get mouse position
auto currentPos = juce::Desktop::getInstance().getMainMouseSource().getScreenPosition();
// move mouse to -1, -1.
juce::Desktop::getInstance().getMainMouseSource().setScreenPosition(juce::Point<float>(-1,-1));
// reset mouse position
juce::Desktop::getInstance().getMainMouseSource().setScreenPosition(currentPos);
}
I now have a customer with the same issue, in Logic 11.1.1, Sequoia 15.1, M1 max
I cant reproduce this myself, and have not heard from any other customer.
Does anyone know more about this?
I was able to reproduce it, the work around posted above work for me.
I’m having the same problem, even with the latest commit on develop.
The workaround of moving the mouse cursor offscreen didn’t work for me.
I have noticed that it also happens with other Components, not just Sliders, as long as they have different mouse cursors and there are dragging operations involved between them.
You see that in the latter part of the videos: the two colored Labels have each a custom mouse cursor assigned.
At a certain point, I enter in the left one, the mouse cursor changes to the hand, then I drag it over the other one. I would expect the mouse cursor to change to the “text caret” as soon as I release the drag, but it does not happen. Instead, it remains the hand until a mouse cursor change is triggered (for example, exiting the black label).
The same happens in the other direction.
When in stand-alone, the behavior is correct: as soon as I lift the mouse button after the drag, the mouse cursor changes to the one assigned to the component under the mouse.
With this, I get a better behavior: when I lift the mouse button, the cursor remains the “wrong” one, but it changes to the expected one as soon as I move the mouse a little.
It would be nice if the JUCE team could have a look at this and give a word whether the above workaround is the best solution for now.
See attached files to reproduce
CursorDisappearInLogic.zip (5.1 KB)
