- GdkWindow *real_window = find_real_window_for_grabbed_mouse_event (window, msg);
-
- if (real_window != current_window)
- {
- if (p_grab_owner_events)
- {
- synthesize_crossing_events (real_window, GDK_CROSSING_NORMAL, msg);
- }
- else if (current_window == p_grab_window)
- {
- synthesize_leave_event (p_grab_window, msg, GDK_CROSSING_NORMAL, GDK_NOTIFY_ANCESTOR);
- assign_object (¤t_window, _gdk_root);
- }
- else if (real_window == p_grab_window)
- {
- synthesize_enter_event (p_grab_window, msg, GDK_CROSSING_NORMAL, GDK_NOTIFY_ANCESTOR);
- assign_object (¤t_window, p_grab_window);
- }
- }
- }
- else
- {
- if (window != current_window)
- {
- synthesize_crossing_events (window, GDK_CROSSING_NORMAL, msg);
- }
- }
-
- if (!propagate (&window, msg,
- p_grab_window, p_grab_owner_events, p_grab_mask,
- doesnt_want_button_motion, TRUE))
- {
- g_print ("!propagate\n");