wayland/xdg-toplevel-drag: Add destroy signal to data source
It will be used by xdg-toplevel-drag protocol implementation. Signed-off-by: Nick Diego Yamane <nickdiego@igalia.com> Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4107>
This commit is contained in:
parent
3047b2ce26
commit
848612b08f
@ -60,6 +60,14 @@ enum
|
|||||||
|
|
||||||
static GParamSpec *props[N_PROPS] = { 0 };
|
static GParamSpec *props[N_PROPS] = { 0 };
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
DESTROY,
|
||||||
|
LAST_SIGNAL
|
||||||
|
};
|
||||||
|
|
||||||
|
static guint signals[LAST_SIGNAL] = { 0 };
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (MetaWaylandDataSource, meta_wayland_data_source,
|
G_DEFINE_TYPE_WITH_PRIVATE (MetaWaylandDataSource, meta_wayland_data_source,
|
||||||
G_TYPE_OBJECT);
|
G_TYPE_OBJECT);
|
||||||
|
|
||||||
@ -231,6 +239,13 @@ meta_wayland_data_source_class_init (MetaWaylandDataSourceClass *klass)
|
|||||||
G_PARAM_STATIC_STRINGS);
|
G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, N_PROPS, props);
|
g_object_class_install_properties (object_class, N_PROPS, props);
|
||||||
|
|
||||||
|
signals[DESTROY] =
|
||||||
|
g_signal_new ("destroy",
|
||||||
|
G_TYPE_FROM_CLASS (object_class),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
0, NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -298,6 +313,8 @@ destroy_data_source (struct wl_resource *resource)
|
|||||||
{
|
{
|
||||||
MetaWaylandDataSource *source = wl_resource_get_user_data (resource);
|
MetaWaylandDataSource *source = wl_resource_get_user_data (resource);
|
||||||
|
|
||||||
|
g_signal_emit (source, signals[DESTROY], 0);
|
||||||
|
|
||||||
meta_wayland_data_source_set_resource (source, NULL);
|
meta_wayland_data_source_set_resource (source, NULL);
|
||||||
g_object_unref (source);
|
g_object_unref (source);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user