Hi Martin!

I've been looking for this for AGES! I'm very happy that you found it! I think I have a fix for this problem. Expect it to be applied to the CVS very soon! (like, tomorow).

Thanks for opening my eyes!

Sebastien


advertsux wrote:

Hi all,
I'm going to be short (follow steps)

1) press mouse button on nuiButton:
nuiButton::MouseClick{... Grab(); ...}

2) move mouse outside nuiButton area:
nuiButton::MouseMove {... if (GetHover()) {...}else{SetState(nuiDisabled)} ... }

3) mouse will never ungrab (it is practicly disabled):
nuiTopLevel::CallMouseUnClick { mpGrab?mpGrab->DispatchMouseUnClick(...) ...} nuiContainer::DispatchMouseUnClick{ if (GetState()==nuiDisabled()) return; }

4) comment out SetState(nuiDisabled) in nuiButton::MouseMove

5) make points 1) and 2) and release mouse outside button area - mouse remains grabbed: nuiTopLevel::CallMouseUnClick { mpGrab?mpGrab->DispatchMouseUnClick(...) ...}
nuiContainer::DispatchMouseUnClick{ if (IsInside(...)) {...} return; }

Button disabling is nuiButton problem and my solution is comment out disabling as in 4) - don't know why this disabling is here and if it can be safely commented. Ungrabbing is global problem and my solution here is ungrab mouse on every UnClick(). I don't know where is good place to make Ungrab() but I think it make sense.

Regards,

Martin



_______________________________________________
http://mail.nongnu.org/mailman/listinfo/ngl-devel



Reply via email to