[Spice-devel] [spice-gtk 2/2] Implement GObject::constructed rather than ::constructor
Christophe Fergeau
cfergeau at redhat.com
Thu Jan 4 09:52:34 UTC 2018
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>
---
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
More information about the Spice-devel
mailing list