[Spice-devel] [PATCH] Remove GSLice usage

Fabiano FidĂȘncio fidencio at redhat.com
Mon Jan 18 02:23:16 PST 2016


On Mon, Jan 18, 2016 at 11:10 AM, Christophe Fergeau
<cfergeau at redhat.com> wrote:
> On Mon, Jan 18, 2016 at 04:15:36AM -0500, Marc-André Lureau wrote:
>> Hi
>>
>> ----- Original Message -----
>> > It's being slowly deprecated im glib
>
> s/im/in/
>
>> > https://bugzilla.gnome.org/show_bug.cgi?id=754687
>> > ---
>> >  src/channel-display.c     | 6 +++---
>> >  src/channel-smartcard.c   | 4 ++--
>> >  src/spice-channel-cache.h | 8 ++++----
>> >  src/spice-channel.c       | 8 ++++----
>> >  src/spice-grabsequence.c  | 8 ++++----
>> >  src/spice-util.c          | 4 ++--
>> >  src/wocky-http-proxy.c    | 4 ++--
>> >  7 files changed, 21 insertions(+), 21 deletions(-)
>> >
>> > diff --git a/src/channel-display.c b/src/channel-display.c
>> > index dc73235..6a474b1 100644
>> > --- a/src/channel-display.c
>> > +++ b/src/channel-display.c
>> > @@ -635,7 +635,7 @@ static void destroy_surface(gpointer data)
>> >      display_surface *surface = data;
>> >
>> >      destroy_canvas(surface);
>> > -    g_slice_free(display_surface, surface);
>> > +    g_free(surface);
>> >  }
>> >
>> >  static void spice_display_channel_init(SpiceDisplayChannel *channel)
>> > @@ -869,7 +869,7 @@ static void display_handle_mode(SpiceChannel *channel,
>> > SpiceMsgIn *in)
>> >
>> >      g_warn_if_fail(c->mark == FALSE);
>> >
>> > -    surface = g_slice_new0(display_surface);
>> > +    surface = g_new0(display_surface, 1);
>> >      surface->format  = mode->bits == 32 ?
>> >          SPICE_SURFACE_FMT_32_xRGB : SPICE_SURFACE_FMT_16_555;
>> >      surface->width   = mode->x_res;
>> > @@ -1674,7 +1674,7 @@ static void display_handle_surface_create(SpiceChannel
>> > *channel, SpiceMsgIn *in)
>> >  {
>> >      SpiceDisplayChannelPrivate *c = SPICE_DISPLAY_CHANNEL(channel)->priv;
>> >      SpiceMsgSurfaceCreate *create = spice_msg_in_parsed(in);
>> > -    display_surface *surface = g_slice_new0(display_surface);
>> > +    display_surface *surface = g_new0(display_surface, 1);
>> >
>> >      surface->surface_id = create->surface_id;
>> >      surface->format = create->format;
>> > diff --git a/src/channel-smartcard.c b/src/channel-smartcard.c
>> > index b5535e6..e2e1aad 100644
>> > --- a/src/channel-smartcard.c
>> > +++ b/src/channel-smartcard.c
>> > @@ -241,7 +241,7 @@ smartcard_message_free(SpiceSmartcardChannelMessage
>> > *message)
>> >  {
>> >      if (message->message)
>> >          spice_msg_out_unref(message->message);
>> > -    g_slice_free(SpiceSmartcardChannelMessage, message);
>> > +    g_free(message);
>> >  }
>> >
>> >  #if USE_SMARTCARD
>> > @@ -301,7 +301,7 @@ smartcard_message_new(VSCMsgType msg_type, SpiceMsgOut
>> > *msg_out)
>> >  {
>> >      SpiceSmartcardChannelMessage *message;
>> >
>> > -    message = g_slice_new0(SpiceSmartcardChannelMessage);
>> > +    message = g_new0(SpiceSmartcardChannelMessage, 1);
>> >      message->message = msg_out;
>> >      message->message_type = msg_type;
>> >
>> > diff --git a/src/spice-channel-cache.h b/src/spice-channel-cache.h
>> > index e609a67..75cc2cd 100644
>> > --- a/src/spice-channel-cache.h
>> > +++ b/src/spice-channel-cache.h
>> > @@ -37,7 +37,7 @@ typedef struct display_cache {
>> >
>> >  static inline display_cache_item* cache_item_new(guint64 id, gboolean lossy)
>> >  {
>> > -    display_cache_item *self = g_slice_new(display_cache_item);
>> > +    display_cache_item *self = g_new(display_cache_item, 1);
>> >      self->id = id;
>> >      self->lossy = lossy;
>> >      self->ref_count = 1;
>> > @@ -46,12 +46,12 @@ static inline display_cache_item* cache_item_new(guint64
>> > id, gboolean lossy)
>> >
>> >  static inline void cache_item_free(display_cache_item *self)
>> >  {
>> > -    g_slice_free(display_cache_item, self);
>> > +    g_free(self);
>> >  }
>> >
>> >  static inline display_cache* cache_new(GDestroyNotify value_destroy)
>> >  {
>> > -    display_cache * self = g_slice_new(display_cache);
>> > +    display_cache * self = g_new(display_cache, 1);
>> >      self->table = g_hash_table_new_full(g_int64_hash, g_int64_equal,
>> >                                         (GDestroyNotify) cache_item_free,
>> >                                         value_destroy);
>> > @@ -131,7 +131,7 @@ static inline void cache_clear(display_cache *cache)
>> >  static inline void cache_free(display_cache *cache)
>> >  {
>> >      g_hash_table_unref(cache->table);
>> > -    g_slice_free(display_cache, cache);
>> > +    g_free(cache);
>> >  }
>> >
>> >  G_END_DECLS
>> > diff --git a/src/spice-channel.c b/src/spice-channel.c
>> > index 41c94d0..ff85715 100644
>> > --- a/src/spice-channel.c
>> > +++ b/src/spice-channel.c
>> > @@ -471,7 +471,7 @@ SpiceMsgIn *spice_msg_in_new(SpiceChannel *channel)
>> >
>> >      g_return_val_if_fail(channel != NULL, NULL);
>> >
>> > -    in = g_slice_new0(SpiceMsgIn);
>> > +    in = g_new0(SpiceMsgIn, 1);
>> >      in->refcount = 1;
>> >      in->channel  = channel;
>> >
>> > @@ -519,7 +519,7 @@ void spice_msg_in_unref(SpiceMsgIn *in)
>> >      } else {
>> >          g_free(in->data);
>> >      }
>> > -    g_slice_free(SpiceMsgIn, in);
>> > +    g_free(in);
>> >  }
>> >
>> >  G_GNUC_INTERNAL
>> > @@ -624,7 +624,7 @@ SpiceMsgOut *spice_msg_out_new(SpiceChannel *channel, int
>> > type)
>> >
>> >      g_return_val_if_fail(c != NULL, NULL);
>> >
>> > -    out = g_slice_new0(SpiceMsgOut);
>> > +    out = g_new0(SpiceMsgOut, 1);
>> >      out->refcount = 1;
>> >      out->channel  = channel;
>> >      out->ro_check = msg_check_read_only(c->channel_type, type);
>> > @@ -660,7 +660,7 @@ void spice_msg_out_unref(SpiceMsgOut *out)
>> >      if (out->refcount > 0)
>> >          return;
>> >      spice_marshaller_destroy(out->marshaller);
>> > -    g_slice_free(SpiceMsgOut, out);
>> > +    g_free(out);
>> >  }
>> >
>> >  /* system context */
>> > diff --git a/src/spice-grabsequence.c b/src/spice-grabsequence.c
>> > index 26bf96f..3d87329 100644
>> > --- a/src/spice-grabsequence.c
>> > +++ b/src/spice-grabsequence.c
>> > @@ -56,7 +56,7 @@ SpiceGrabSequence *spice_grab_sequence_new(guint nkeysyms,
>> > guint *keysyms)
>> >  {
>> >     SpiceGrabSequence *sequence;
>> >
>> > -   sequence = g_slice_new0(SpiceGrabSequence);
>> > +   sequence = g_new0(SpiceGrabSequence, 1);
>> >     sequence->nkeysyms = nkeysyms;
>> >     sequence->keysyms = g_new0(guint, nkeysyms);
>> >     memcpy(sequence->keysyms, keysyms, sizeof(guint)*nkeysyms);
>> > @@ -79,7 +79,7 @@ SpiceGrabSequence
>> > *spice_grab_sequence_new_from_string(const gchar *str)
>> >     int i;
>> >     SpiceGrabSequence *sequence;
>> >
>> > -   sequence = g_slice_new0(SpiceGrabSequence);
>> > +   sequence = g_new0(SpiceGrabSequence, 1);
>> >
>> >     keysymstr = g_strsplit(str, "+", 5);
>> >
>> > @@ -114,7 +114,7 @@ SpiceGrabSequence
>> > *spice_grab_sequence_copy(SpiceGrabSequence *srcSequence)
>> >  {
>> >     SpiceGrabSequence *sequence;
>> >
>> > -   sequence = g_slice_dup(SpiceGrabSequence, srcSequence);
>> > +   sequence = g_new0(SpiceGrabSequence, 1);
>>
>> it's a dup, missing some copy of nkeysyms at least
>>
>> >     sequence->keysyms = g_new0(guint, srcSequence->nkeysyms);
>> >     memcpy(sequence->keysyms, srcSequence->keysyms,
>> >            sizeof(guint) * sequence->nkeysyms);
>> > @@ -132,7 +132,7 @@ SpiceGrabSequence
>> > *spice_grab_sequence_copy(SpiceGrabSequence *srcSequence)
>> >  void spice_grab_sequence_free(SpiceGrabSequence *sequence)
>> >  {
>> >     g_free(sequence->keysyms);
>> > -   g_slice_free(SpiceGrabSequence, sequence);
>> > +   g_free(sequence);
>> >  }
>> >
>> >
>> > diff --git a/src/spice-util.c b/src/spice-util.c
>> > index 84ed94a..fd97ee7 100644
>> > --- a/src/spice-util.c
>> > +++ b/src/spice-util.c
>> > @@ -153,7 +153,7 @@ static WeakHandlerCtx *
>> >  whc_new (GObject *instance,
>> >           GObject *observer)
>> >  {
>> > -    WeakHandlerCtx *ctx = g_slice_new0 (WeakHandlerCtx);
>> > +    WeakHandlerCtx *ctx = g_new0 (WeakHandlerCtx, 1);
>> >
>> >      ctx->instance = instance;
>> >      ctx->observer = observer;
>> > @@ -164,7 +164,7 @@ whc_new (GObject *instance,
>> >  static void
>> >  whc_free (WeakHandlerCtx *ctx)
>> >  {
>> > -    g_slice_free (WeakHandlerCtx, ctx);
>> > +    g_free (ctx);
>> >  }
>> >
>> >  static void observer_destroyed_cb (gpointer, GObject *);
>> > diff --git a/src/wocky-http-proxy.c b/src/wocky-http-proxy.c
>> > index ce23b0e..d84cd72 100644
>> > --- a/src/wocky-http-proxy.c
>> > +++ b/src/wocky-http-proxy.c
>> > @@ -285,7 +285,7 @@ free_connect_data (ConnectAsyncData *data)
>> >    if (data->cancellable != NULL)
>> >      g_object_unref (data->cancellable);
>> >
>> > -  g_slice_free (ConnectAsyncData, data);
>> > +  g_free (data);
>> >  }
>> >
>> >  static void
>> > @@ -364,7 +364,7 @@ wocky_http_proxy_connect_async (GProxy *proxy,
>> >                                        callback, user_data,
>> >                                        wocky_http_proxy_connect_async);
>> >
>> > -  data = g_slice_new0 (ConnectAsyncData);
>> > +  data = g_new0 (ConnectAsyncData, 1);
>> >    if (cancellable != NULL)
>> >      data->cancellable = g_object_ref (cancellable);
>> >    data->simple = simple;
>> > --
>> > 2.5.0
>>
>> other than that, looks ok
>>
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel

Fixed the commit log and squashed the followed patch locally:

ffidenci at cat ~/src/upstream/spice-gtk $ git diff src/spice-grabsequence.c
diff --git a/src/spice-grabsequence.c b/src/spice-grabsequence.c
index 3d87329..4144b30 100644
--- a/src/spice-grabsequence.c
+++ b/src/spice-grabsequence.c
@@ -115,6 +115,8 @@ SpiceGrabSequence
*spice_grab_sequence_copy(SpiceGrabSequence *srcSequence)
        SpiceGrabSequence *sequence;

        sequence = g_new0(SpiceGrabSequence, 1);
+       sequence->nkeysyms = srcSequence->nkeysyms;
+
        sequence->keysyms = g_new0(guint, srcSequence->nkeysyms);
        memcpy(sequence->keysyms, srcSequence->keysyms,
               sizeof(guint) * sequence->nkeysyms);

I will push with the other patches as soon as they get approved, thanks!


More information about the Spice-devel mailing list