You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a DocumentWindow with its main Component. Create a NSViewComponent derived class with mouseMove event overridden, and add this class to the main Component. When you pass the pointer over the NSViewComponent derived object area, the mouseMove callback is never called (but, i.e. the mouseClick works). This happens from 8.0.4. I had to downgrade my app to 8.0.3 to restore the functionality of my window.
After some digging, it seems that the culprit is in the redirectMouseMove() method contained in juce_NSViewComponentPeer_mac.mm:
(...)
if (isWindowAtPoint ([ev window], screenPos))
{
if (contains (getMousePos (ev, view).roundToInt(), false))
sendMouseEvent (ev);
}
(...)
the sendMouseEvent() is never called. Looking into contains() if found this code:
(...)
NSView* v = [view hitTest: pointInSuperview];
return trueIfInAChildWindow ? (v != nil)
: (v == view);
the [view hitTest] returned a pointer to the NSView hosted by my NSViewComponent derived class, but since trueIfInAChildWindow is set to false (last argument of contains()), and
since v is not the view of the calling peer, the method returns false.
What is the expected behaviour?
When I move the mouse pointer over a NSViewComponent, the overridden mouseMove() should be called like in any other Component.
Operating systems
macOS
What versions of the operating systems?
Sequoia 15.1.1
Architectures
Arm64/aarch64
Stacktrace
No response
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the develop branch
I have not tested against the develop branch
Code of Conduct
I agree to follow the Code of Conduct
The text was updated successfully, but these errors were encountered:
Detailed steps on how to reproduce the bug
Create a DocumentWindow with its main Component. Create a NSViewComponent derived class with mouseMove event overridden, and add this class to the main Component. When you pass the pointer over the NSViewComponent derived object area, the mouseMove callback is never called (but, i.e. the mouseClick works). This happens from 8.0.4. I had to downgrade my app to 8.0.3 to restore the functionality of my window.
After some digging, it seems that the culprit is in the redirectMouseMove() method contained in juce_NSViewComponentPeer_mac.mm:
the sendMouseEvent() is never called. Looking into contains() if found this code:
the [view hitTest] returned a pointer to the NSView hosted by my NSViewComponent derived class, but since trueIfInAChildWindow is set to false (last argument of contains()), and
since v is not the view of the calling peer, the method returns false.
What is the expected behaviour?
When I move the mouse pointer over a NSViewComponent, the overridden mouseMove() should be called like in any other Component.
Operating systems
macOS
What versions of the operating systems?
Sequoia 15.1.1
Architectures
Arm64/aarch64
Stacktrace
No response
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the
develop
branchI have not tested against the
develop
branchCode of Conduct
The text was updated successfully, but these errors were encountered: