Exemplo n.º 1
0
void fcitx_im_widget_finalize(GObject* object)
{
    FcitxImWidget* self = FCITX_IM_WIDGET(object);
    if (self->array) {
        g_ptr_array_set_free_func(self->array, fcitx_im_item_free);
        g_ptr_array_free(self->array, FALSE);
        self->array = NULL;
    }
    g_object_unref(self->improxy);
    g_free(self->focus);

    G_OBJECT_CLASS (fcitx_im_widget_parent_class)->finalize (object);
}
Exemplo n.º 2
0
static GObject *
fcitx_im_widget_constructor   (GType                  gtype,
                               guint                  n_properties,
                               GObjectConstructParam *properties)
{
    GObject *obj;
    FcitxImWidget *self;
    GtkWidget *widget;

    obj = G_OBJECT_CLASS (fcitx_im_widget_parent_class)->constructor (gtype, n_properties, properties);

    self = FCITX_IM_WIDGET (obj);

    widget = GTK_WIDGET(gtk_builder_get_object (self->builder,
                                                "im_widget"));

    gtk_widget_reparent (widget, GTK_WIDGET(self));

    _fcitx_im_widget_connect(self);

  return obj;
}
Exemplo n.º 3
0
void fcitx_im_widget_dispose(GObject* object)
{
    FcitxImWidget* self = FCITX_IM_WIDGET(object);
    if (self->array) {
        g_ptr_array_set_free_func(self->array, (GDestroyNotify) fcitx_im_item_free);
        g_ptr_array_free(self->array, FALSE);
        self->array = NULL;
    }

    if (self->improxy) {
        g_signal_handlers_disconnect_by_func(self->improxy, G_CALLBACK(_fcitx_im_widget_imlist_changed_cb), self);
        g_object_unref(self->improxy);
        self->improxy = NULL;
    }

    if (self->focus) {
        g_free(self->focus);
        self->focus = NULL;
    }

    G_OBJECT_CLASS (fcitx_im_widget_parent_class)->dispose (object);
}