gtk: Handle motion hints for ::captured-event
Request automatically more motion events in behalf of the original widget if it listens to motion hints. So the capturing widget doesn't need to handle such implementation details.
This commit is contained in:
committed by
Matthias Clasen
parent
177c20bc6e
commit
1385eff197
@@ -5928,6 +5928,17 @@ _gtk_widget_captured_event (GtkWidget *widget,
|
||||
g_signal_emit (widget, widget_signals[CAPTURED_EVENT], 0, event, &return_val);
|
||||
return_val |= !WIDGET_REALIZED_FOR_EVENT (widget, event);
|
||||
|
||||
/* The widget that was originally to receive the event
|
||||
* handles motion hints, but the capturing widget might
|
||||
* not, so ensure we get further motion events.
|
||||
*/
|
||||
if (return_val &&
|
||||
event->type == GDK_MOTION_NOTIFY &&
|
||||
event->motion.is_hint &&
|
||||
(gdk_window_get_events (event->any.window) &
|
||||
GDK_POINTER_MOTION_HINT_MASK) != 0)
|
||||
gdk_event_request_motions (&event->motion);
|
||||
|
||||
g_object_unref (widget);
|
||||
|
||||
return return_val;
|
||||
|
||||
Reference in New Issue
Block a user