static void cc_wacom_panel_dispose (GObject *object) { CcWacomPanelPrivate *priv = CC_WACOM_PANEL (object)->priv; if (priv->builder) { g_object_unref (priv->builder); priv->builder = NULL; } if (priv->manager) { g_signal_handler_disconnect (priv->manager, priv->device_added_id); g_signal_handler_disconnect (priv->manager, priv->device_removed_id); priv->manager = NULL; } if (priv->devices) { g_hash_table_destroy (priv->devices); priv->devices = NULL; } if (priv->pages) { g_hash_table_destroy (priv->pages); priv->pages = NULL; } G_OBJECT_CLASS (cc_wacom_panel_parent_class)->dispose (object); }
static void cc_wacom_panel_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { CcWacomPanel *self; self = CC_WACOM_PANEL (object); switch (property_id) { case PROP_PARAMETERS: { GVariant *parameters; parameters = g_value_get_variant (value); if (parameters == NULL || g_variant_n_children (parameters) <= 1) return; run_operation_from_params (self, parameters); break; } default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }
static void got_wacom_proxy_cb (GObject *source_object, GAsyncResult *res, gpointer data) { GError *error = NULL; CcWacomPanel *self; CcWacomPanelPrivate *priv; self = CC_WACOM_PANEL (data); priv = self->priv; priv->proxy = g_dbus_proxy_new_for_bus_finish (res, &error); g_clear_object (&priv->cancellable); if (priv->proxy == NULL) { g_printerr ("Error creating proxy: %s\n", error->message); g_error_free (error); return; } }