I’ve been hunting for a Linux bug for a few days now. This is what I know for sure.
In my plugin, the position reported by MouseEvents is occasionally wrong. The mouse cursor doesn’t jump around on the screen, but anything I’m trying to drag jumps around as if the cursor is jumping or if I have a control that highlights on mouse over it flickers. I’ve traced it all the way back to the Linux windowing code and the x/y values in XPointerMovedEvent are incorrect.
If I look at the position returned by MouseInputSource::getScreenPosition() it does not jump.
During debugging I found this only happened during playback. It turns out its caused by the cursor moving in my juce based host. I have a cursor component that I call setBounds() on rather frequently to move the cursor. If I don’t move the cursor, I can drag fine in my plugin.
What I don’t understand is how this is even possible. The host and plugin are separate binaries each with their own version of juce. Not sure how they could interfere with each other at all, especially when just moving a child component in one.
Any ideas tip for tracking this down would be much appreciated.