[Spice-devel] [spice-gtk 2/2] Implement GObject::constructed rather than ::constructor
Marc-André Lureau
marcandre.lureau at redhat.com
Thu Jan 4 10:38:52 UTC 2018
Hi
----- Original Message -----
> A few classes are implementing GObject::constructor, which is more
> cumbersome to use than ::constructed. Other classes use ::constructed
> rather than ::constructor. This commit removes the last uses of
> ::constructor.
>
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
Potentially risky, but it looks like it shouldn't introduce regression.
ack
> ---
> src/spice-gtk-session.c | 20 ++++----------------
> src/spice-widget.c | 20 ++++----------------
> src/usb-device-widget.c | 19 ++++---------------
> 3 files changed, 12 insertions(+), 47 deletions(-)
>
> diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
> index 312cf599..31f60dc4 100644
> --- a/src/spice-gtk-session.c
> +++ b/src/spice-gtk-session.c
> @@ -236,25 +236,15 @@ static void spice_gtk_session_init(SpiceGtkSession
> *self)
> G_CALLBACK(keymap_modifiers_changed),
> self, 0);
> }
>
> -static GObject *
> -spice_gtk_session_constructor(GType gtype,
> - guint n_properties,
> - GObjectConstructParam *properties)
> +static void
> +spice_gtk_session_constructed(GObject *gobject)
> {
> - GObject *obj;
> SpiceGtkSession *self;
> SpiceGtkSessionPrivate *s;
> GList *list;
> GList *it;
>
> - {
> - /* Always chain up to the parent constructor */
> - GObjectClass *parent_class;
> - parent_class = G_OBJECT_CLASS(spice_gtk_session_parent_class);
> - obj = parent_class->constructor(gtype, n_properties, properties);
> - }
> -
> - self = SPICE_GTK_SESSION(obj);
> + self = SPICE_GTK_SESSION(gobject);
> s = self->priv;
> if (!s->session)
> g_error("SpiceGtKSession constructed without a session");
> @@ -268,8 +258,6 @@ spice_gtk_session_constructor(GType
> gtype,
> channel_new(s->session, it->data, (gpointer*)self);
> }
> g_list_free(list);
> -
> - return obj;
> }
>
> static void spice_gtk_session_dispose(GObject *gobject)
> @@ -405,7 +393,7 @@ static void
> spice_gtk_session_class_init(SpiceGtkSessionClass *klass)
> {
> GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
>
> - gobject_class->constructor = spice_gtk_session_constructor;
> + gobject_class->constructed = spice_gtk_session_constructed;
> gobject_class->dispose = spice_gtk_session_dispose;
> gobject_class->finalize = spice_gtk_session_finalize;
> gobject_class->get_property = spice_gtk_session_get_property;
> diff --git a/src/spice-widget.c b/src/spice-widget.c
> index 5365222f..316043a9 100644
> --- a/src/spice-widget.c
> +++ b/src/spice-widget.c
> @@ -686,25 +686,15 @@ G_GNUC_END_IGNORE_DEPRECATIONS
> d->activeseq = g_new0(gboolean, d->grabseq->nkeysyms);
> }
>
> -static GObject *
> -spice_display_constructor(GType gtype,
> - guint n_properties,
> - GObjectConstructParam *properties)
> +static void
> +spice_display_constructed(GObject *gobject)
> {
> - GObject *obj;
> SpiceDisplay *display;
> SpiceDisplayPrivate *d;
> GList *list;
> GList *it;
>
> - {
> - /* Always chain up to the parent constructor */
> - GObjectClass *parent_class;
> - parent_class = G_OBJECT_CLASS(spice_display_parent_class);
> - obj = parent_class->constructor(gtype, n_properties, properties);
> - }
> -
> - display = SPICE_DISPLAY(obj);
> + display = SPICE_DISPLAY(gobject);
> d = display->priv;
>
> if (!d->session)
> @@ -730,8 +720,6 @@ spice_display_constructor(GType gtype,
> spice_g_signal_connect_object(d->session,
> "notify::inhibit-keyboard-grab",
> G_CALLBACK(session_inhibit_keyboard_grab_changed),
> display, 0);
> -
> - return obj;
> }
>
> /**
> @@ -2191,7 +2179,7 @@ static void spice_display_class_init(SpiceDisplayClass
> *klass)
> gtkwidget_class->realize = realize;
> gtkwidget_class->unrealize = unrealize;
>
> - gobject_class->constructor = spice_display_constructor;
> + gobject_class->constructed = spice_display_constructed;
> gobject_class->dispose = spice_display_dispose;
> gobject_class->finalize = spice_display_finalize;
> gobject_class->get_property = spice_display_get_property;
> diff --git a/src/usb-device-widget.c b/src/usb-device-widget.c
> index 747887cb..a3c09101 100644
> --- a/src/usb-device-widget.c
> +++ b/src/usb-device-widget.c
> @@ -180,10 +180,8 @@
> spice_usb_device_widget_show_info_bar(SpiceUsbDeviceWidget *self,
> gtk_widget_show_all(priv->info_bar);
> }
>
> -static GObject *spice_usb_device_widget_constructor(
> - GType gtype, guint n_properties, GObjectConstructParam *properties)
> +static void spice_usb_device_widget_constructed(GObject *gobject)
> {
> - GObject *obj;
> SpiceUsbDeviceWidget *self;
> SpiceUsbDeviceWidgetPrivate *priv;
> GPtrArray *devices = NULL;
> @@ -191,14 +189,7 @@ static GObject *spice_usb_device_widget_constructor(
> gchar *str;
> int i;
>
> - {
> - /* Always chain up to the parent constructor */
> - GObjectClass *parent_class;
> - parent_class = G_OBJECT_CLASS(spice_usb_device_widget_parent_class);
> - obj = parent_class->constructor(gtype, n_properties, properties);
> - }
> -
> - self = SPICE_USB_DEVICE_WIDGET(obj);
> + self = SPICE_USB_DEVICE_WIDGET(gobject);
> priv = self->priv;
> if (!priv->session)
> g_error("SpiceUsbDeviceWidget constructed without a session");
> @@ -216,7 +207,7 @@ static GObject *spice_usb_device_widget_constructor(
> GTK_MESSAGE_WARNING,
> "dialog-warning");
> g_clear_error(&err);
> - return obj;
> + return;
> }
>
> g_signal_connect(priv->manager, "device-added",
> @@ -237,8 +228,6 @@ static GObject *spice_usb_device_widget_constructor(
>
> end:
> spice_usb_device_widget_update_status(self);
> -
> - return obj;
> }
>
> static void spice_usb_device_widget_finalize(GObject *object)
> @@ -269,7 +258,7 @@ static void spice_usb_device_widget_class_init(
>
> g_type_class_add_private (klass, sizeof (SpiceUsbDeviceWidgetPrivate));
>
> - gobject_class->constructor = spice_usb_device_widget_constructor;
> + gobject_class->constructed = spice_usb_device_widget_constructed;
> gobject_class->finalize = spice_usb_device_widget_finalize;
> gobject_class->get_property = spice_usb_device_widget_get_property;
> gobject_class->set_property = spice_usb_device_widget_set_property;
> --
> 2.14.3
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
>
More information about the Spice-devel
mailing list