mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 10:00:45 -05:00
wayland: Use g_slice_new0
And fix a leak.
This commit is contained in:
parent
5298cf0a3a
commit
55c61259d8
@ -82,7 +82,8 @@ destroy_data_offer (struct wl_resource *resource)
|
|||||||
|
|
||||||
if (offer->source)
|
if (offer->source)
|
||||||
wl_list_remove (&offer->source_destroy_listener.link);
|
wl_list_remove (&offer->source_destroy_listener.link);
|
||||||
free (offer);
|
|
||||||
|
g_slice_free (MetaWaylandDataOffer, offer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -99,13 +100,9 @@ static struct wl_resource *
|
|||||||
meta_wayland_data_source_send_offer (MetaWaylandDataSource *source,
|
meta_wayland_data_source_send_offer (MetaWaylandDataSource *source,
|
||||||
struct wl_resource *target)
|
struct wl_resource *target)
|
||||||
{
|
{
|
||||||
MetaWaylandDataOffer *offer;
|
MetaWaylandDataOffer *offer = g_slice_new0 (MetaWaylandDataOffer);
|
||||||
char **p;
|
char **p;
|
||||||
|
|
||||||
offer = malloc (sizeof *offer);
|
|
||||||
if (offer == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
offer->source = source;
|
offer->source = source;
|
||||||
offer->source_destroy_listener.notify = destroy_offer_data_source;
|
offer->source_destroy_listener.notify = destroy_offer_data_source;
|
||||||
|
|
||||||
@ -460,6 +457,8 @@ destroy_data_source (struct wl_resource *resource)
|
|||||||
wl_array_for_each (p, &source->mime_types) free (*p);
|
wl_array_for_each (p, &source->mime_types) free (*p);
|
||||||
|
|
||||||
wl_array_release (&source->mime_types);
|
wl_array_release (&source->mime_types);
|
||||||
|
|
||||||
|
g_slice_free (MetaWaylandDataSource, source);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -487,14 +486,7 @@ static void
|
|||||||
create_data_source (struct wl_client *client,
|
create_data_source (struct wl_client *client,
|
||||||
struct wl_resource *resource, guint32 id)
|
struct wl_resource *resource, guint32 id)
|
||||||
{
|
{
|
||||||
MetaWaylandDataSource *source;
|
MetaWaylandDataSource *source = g_slice_new0 (MetaWaylandDataSource);
|
||||||
|
|
||||||
source = malloc (sizeof *source);
|
|
||||||
if (source == NULL)
|
|
||||||
{
|
|
||||||
wl_resource_post_no_memory (resource);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
source->resource = wl_resource_create (client, &wl_data_source_interface,
|
source->resource = wl_resource_create (client, &wl_data_source_interface,
|
||||||
MIN (META_WL_DATA_SOURCE_VERSION,
|
MIN (META_WL_DATA_SOURCE_VERSION,
|
||||||
|
Loading…
Reference in New Issue
Block a user