mirror of
https://github.com/brl/mutter.git
synced 2025-06-26 15:07:05 +00:00
core: Pass device/sequence on meta_window_begin_grab_op()
This is a public API change. Add device/sequence parameters to this operation, so that window dragging and resizing can stick to one set of pointing events of them all. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2683>
This commit is contained in:

committed by
Marge Bot

parent
18535928e7
commit
d687e5634d
@ -2705,9 +2705,17 @@ handle_begin_move (MetaDisplay *display,
|
||||
{
|
||||
if (window->has_move_func)
|
||||
{
|
||||
MetaContext *context = meta_display_get_context (display);
|
||||
MetaBackend *backend = meta_context_get_backend (context);
|
||||
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
|
||||
ClutterSeat *seat = clutter_backend_get_default_seat (clutter_backend);
|
||||
ClutterInputDevice *device;
|
||||
|
||||
device = clutter_seat_get_pointer (seat);
|
||||
meta_window_begin_grab_op (window,
|
||||
META_GRAB_OP_KEYBOARD_MOVING |
|
||||
META_GRAB_OP_WINDOW_FLAG_UNCONSTRAINED,
|
||||
device, NULL,
|
||||
event->time);
|
||||
}
|
||||
}
|
||||
@ -2721,9 +2729,17 @@ handle_begin_resize (MetaDisplay *display,
|
||||
{
|
||||
if (window->has_resize_func)
|
||||
{
|
||||
MetaContext *context = meta_display_get_context (display);
|
||||
MetaBackend *backend = meta_context_get_backend (context);
|
||||
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
|
||||
ClutterSeat *seat = clutter_backend_get_default_seat (clutter_backend);
|
||||
ClutterInputDevice *device;
|
||||
|
||||
device = clutter_seat_get_pointer (seat);
|
||||
meta_window_begin_grab_op (window,
|
||||
META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN |
|
||||
META_GRAB_OP_WINDOW_FLAG_UNCONSTRAINED,
|
||||
device, NULL,
|
||||
event->time);
|
||||
}
|
||||
}
|
||||
|
@ -6084,13 +6084,24 @@ meta_window_is_ancestor_of_transient (MetaWindow *window,
|
||||
return d.found;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_window_begin_grab_op:
|
||||
* @window:
|
||||
* @op:
|
||||
* @device: (nullable):
|
||||
* @sequence: (nullable):
|
||||
* @timestamp:
|
||||
**/
|
||||
gboolean
|
||||
meta_window_begin_grab_op (MetaWindow *window,
|
||||
MetaGrabOp op,
|
||||
guint32 timestamp)
|
||||
meta_window_begin_grab_op (MetaWindow *window,
|
||||
MetaGrabOp op,
|
||||
ClutterInputDevice *device,
|
||||
ClutterEventSequence *sequence,
|
||||
guint32 timestamp)
|
||||
{
|
||||
return meta_compositor_drag_window (window->display->compositor,
|
||||
window, op,
|
||||
device, sequence,
|
||||
timestamp);
|
||||
}
|
||||
|
||||
@ -7703,6 +7714,8 @@ meta_window_handle_ungrabbed_event (MetaWindow *window,
|
||||
op |= META_GRAB_OP_WINDOW_FLAG_UNCONSTRAINED;
|
||||
meta_window_begin_grab_op (window,
|
||||
op,
|
||||
clutter_event_get_device (event),
|
||||
clutter_event_get_event_sequence (event),
|
||||
event->any.time);
|
||||
}
|
||||
}
|
||||
@ -7722,6 +7735,8 @@ meta_window_handle_ungrabbed_event (MetaWindow *window,
|
||||
meta_window_begin_grab_op (window,
|
||||
META_GRAB_OP_MOVING |
|
||||
META_GRAB_OP_WINDOW_FLAG_UNCONSTRAINED,
|
||||
clutter_event_get_device (event),
|
||||
clutter_event_get_event_sequence (event),
|
||||
event->any.time);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user