mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
wayland: Shuffle wl_data_source.cancelled version checks on DnD
We are meant to send a .cancelled event after the drop is performed in certain situations, but only for version>3 clients. Since this is all version 3 business, only set the drop_performed flag for v3 clients. This drops the need to perform version checks at the time of cancelling (which is present for other usecases in v1). Fixes emission of wl_data_source.cancelled for v1 clients. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1177 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1203
This commit is contained in:
parent
4bdf9a1e70
commit
d4c3870286
@ -1392,7 +1392,6 @@ meta_wayland_source_cancel (MetaWaylandDataSource *source)
|
|||||||
if (!priv->resource)
|
if (!priv->resource)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (wl_resource_get_version(priv->resource) >= WL_DATA_SOURCE_DND_FINISHED_SINCE_VERSION)
|
|
||||||
wl_data_source_send_cancelled (priv->resource);
|
wl_data_source_send_cancelled (priv->resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1414,11 +1413,12 @@ meta_wayland_source_drop_performed (MetaWaylandDataSource *source)
|
|||||||
MetaWaylandDataSourcePrivate *priv =
|
MetaWaylandDataSourcePrivate *priv =
|
||||||
meta_wayland_data_source_get_instance_private (source);
|
meta_wayland_data_source_get_instance_private (source);
|
||||||
|
|
||||||
priv->drop_performed = TRUE;
|
|
||||||
|
|
||||||
if (wl_resource_get_version (priv->resource) >=
|
if (wl_resource_get_version (priv->resource) >=
|
||||||
WL_DATA_SOURCE_DND_DROP_PERFORMED_SINCE_VERSION)
|
WL_DATA_SOURCE_DND_DROP_PERFORMED_SINCE_VERSION)
|
||||||
|
{
|
||||||
|
priv->drop_performed = TRUE;
|
||||||
wl_data_source_send_dnd_drop_performed (priv->resource);
|
wl_data_source_send_dnd_drop_performed (priv->resource);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user