DirectGUI interfering with mouse wheel input

There seems to be a problem with your solution.

I can indeed set suppressMouse to False in my GUI objects, but still suppress the camera controls in my task.

However, if I click on one button, keep the mouse button clicked and move to another (right next to it, no gaps), the base.mouseWatcherNode.isOverRegion() suddenly returns False.
I don’t know if this is a bug, or an expected behavior, but it makes the solution unusable to me.
Same behavior with base.mouseWatcherNode.getOverRegion().

Heres an example:

from panda3d.core import *
import direct.directbase.DirectStart
from direct.gui.DirectGui import *

def mytask(task):
	print base.mouseWatcherNode.isOverRegion()
	return task.cont
taskMgr.add(mytask, 'mytask')

button = DirectButton(text = 'AAAA', suppressMouse = False)
button2 = DirectButton(text = 'BBBB', suppressMouse = False)
button2.setX(0.5)

scene = loader.loadModel('environment')
scene.reparentTo(render)

run()

Click on button “AAAA”, keep the mouse button clicked and move to button “BBBB”. They are on top of each other, but even if there was a gap, you still get False when you are on button “BBBB”.

Also, even if there wasn’t this issue, there would still be the problem of enabling camera controls when mouse leaves the button, even though the mouse button is still held down. That’s not a standard behavior.