Bug #656
GDK_LEAVE_NOTIFY dosen't refresh the state of ctrls (GTK Backend)
Status: | Approved | Start date: | 01/20/2014 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | Miroslav Fidler | % Done: | 0% | |
Category: | CtrlCore | Spent time: | - | |
Target version: | - |
Description
It seems that ctrls don't recive mouse event when pointer leaves the window area. This bug can be observed while using menubars when Standard theme is enable. I think we should handle mouse events when pointer leaves window area.
(CtrlCore/GtkEvent.cpp - line 136):
case GDK_LEAVE_NOTIFY: EventMouseValid = false; case GDK_MOTION_NOTIFY: { GdkEventMotion *e = (GdkEventMotion *)event; DoMouseEvent(e->state, Point((int)e->x_root, (int)e->y_root)); break; }
instead of:
case GDK_LEAVE_NOTIFY: EventMouseValid = false; return false; // <- MouseLeave() never be executed! case GDK_MOTION_NOTIFY: { GdkEventMotion *e = (GdkEventMotion *)event; DoMouseEvent(e->state, Point((int)e->x_root, (int)e->y_root)); break; }
History
#1 Updated by Miroslav Fidler over 10 years ago
- Status changed from Patch ready to In Progress
- Assignee changed from Miroslav Fidler to Zbigniew Rebacz
Well, mouse-leave is normally checked using periodic timer (this is to support platforms lacking proper inputs).
However, a week or two back I was fixing/refactoring related issue there (e.g. EventMouseValid no longer exists). Can you please check if it works now (without applying this patch)?
#2 Updated by Zbigniew Rebacz over 10 years ago
- Status changed from In Progress to Patch ready
- Assignee changed from Zbigniew Rebacz to Miroslav Fidler
Can you please check if it works now (without applying this patch)?
No it dosen't.
I think that we should remove "return false" instruction. Finally, the code should look like this:
case GDK_LEAVE_NOTIFY: case GDK_MOTION_NOTIFY: { GdkEventMotion *e = (GdkEventMotion *)event; DoMouseEvent(e->state, Point((int)e->x_root, (int)e->y_root)); break; }
#3 Updated by Miroslav Fidler over 10 years ago
- Status changed from Patch ready to Approved