summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-04-25 09:49:02 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-04-25 09:49:02 -0400
commitf8a37b197ffb18daf5be7ae74ec4d8b9058f55c5 (patch)
treed84c0f23e8ea460e84c277d69df4735f11af5a24 /libs
parentfd7ac62ca5a44f68b6701f21d9296cb19f0ebdc6 (diff)
tweak enter/leave code, remove debug output
Diffstat (limited to 'libs')
-rw-r--r--libs/canvas/canvas.cc43
1 files changed, 18 insertions, 25 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc
index d799b6d7fc..5987a136db 100644
--- a/libs/canvas/canvas.cc
+++ b/libs/canvas/canvas.cc
@@ -351,14 +351,26 @@ GtkCanvas::enter_leave_items (Duple const & point, int state)
vector<Item const *> items;
_root.add_items_at_point (point, items);
+ GdkEventCrossing enter_event;
+ enter_event.type = GDK_ENTER_NOTIFY;
+ enter_event.window = get_window()->gobj();
+ enter_event.send_event = 0;
+ enter_event.subwindow = 0;
+ enter_event.mode = GDK_CROSSING_NORMAL;
+ enter_event.detail = GDK_NOTIFY_NONLINEAR;
+ enter_event.focus = FALSE;
+ enter_event.state = state;
+ enter_event.x = point.x;
+ enter_event.y = point.y;
+
+ GdkEventCrossing leave_event = enter_event;
+ leave_event.type = GDK_LEAVE_NOTIFY;
+ leave_event.detail = GDK_NOTIFY_ANCESTOR;
+ leave_event.subwindow = 0;
+
if (items.empty()) {
if (_current_item) {
/* leave event */
- GdkEventCrossing leave_event;
- leave_event.type = GDK_LEAVE_NOTIFY;
- leave_event.x = point.x;
- leave_event.y = point.y;
- cerr << "Leaving (without entering)" << _current_item->name << endl;
_current_item->Event (reinterpret_cast<GdkEvent*> (&leave_event));
_current_item = 0;
}
@@ -370,18 +382,6 @@ GtkCanvas::enter_leave_items (Duple const & point, int state)
* we have entered it
*/
- GdkEventCrossing enter_event;
- enter_event.type = GDK_ENTER_NOTIFY;
- enter_event.window = get_window()->gobj();
- enter_event.send_event = 0;
- enter_event.subwindow = 0;
- enter_event.mode = GDK_CROSSING_NORMAL;
- enter_event.detail = GDK_NOTIFY_NONLINEAR;
- enter_event.focus = FALSE;
- enter_event.state = state;
- enter_event.x = point.x;
- enter_event.y = point.y;
-
for (vector<Item const*>::const_reverse_iterator i = items.rbegin(); i != items.rend(); ++i) {
Item const * new_item = *i;
@@ -396,20 +396,13 @@ GtkCanvas::enter_leave_items (Duple const & point, int state)
if (_current_item) {
/* leave event */
- GdkEventCrossing leave_event = enter_event;
- leave_event.type = GDK_LEAVE_NOTIFY;
- leave_event.detail = GDK_NOTIFY_ANCESTOR;
- leave_event.subwindow = 0;
- cerr << "Leaving " << _current_item->name << endl;
_current_item->Event (reinterpret_cast<GdkEvent*> (&leave_event));
}
if (new_item && _current_item != new_item) {
/* enter event */
- cerr << "Entering (" << new_item->name << ") " << new_item->whatami() << endl;
- new_item->Event (reinterpret_cast<GdkEvent*> (&enter_event));
-
_current_item = new_item;
+ _current_item->Event (reinterpret_cast<GdkEvent*> (&enter_event));
break;
}