static void gb_view_stack_finalize (GObject *object) { GbViewStack *self = (GbViewStack *)object; g_clear_pointer (&self->focus_history, g_list_free); ide_clear_weak_pointer (&self->context); ide_clear_weak_pointer (&self->title_binding); ide_clear_weak_pointer (&self->active_view); g_clear_object (&self->back_forward_list); G_OBJECT_CLASS (gb_view_stack_parent_class)->finalize (object); }
static void gb_slider_finalize (GObject *object) { GbSlider *self = (GbSlider *)object; GbSliderPrivate *priv = gb_slider_get_instance_private (self); g_clear_object (&priv->h_adj); g_clear_object (&priv->v_adj); g_clear_pointer (&priv->children, g_ptr_array_unref); ide_clear_weak_pointer (&priv->h_anim); ide_clear_weak_pointer (&priv->v_anim); G_OBJECT_CLASS (gb_slider_parent_class)->finalize (object); }
static void ide_file_settings_finalize (GObject *object) { IdeFileSettings *self = (IdeFileSettings *)object; IdeFileSettingsPrivate *priv = ide_file_settings_get_instance_private (self); g_clear_pointer (&priv->encoding, g_free); ide_clear_weak_pointer (&priv->file); G_OBJECT_CLASS (ide_file_settings_parent_class)->finalize (object); }
static void ide_workbench_finalize (GObject *object) { IdeWorkbench *self = (IdeWorkbench *)object; ide_clear_weak_pointer (&self->perspective); g_clear_object (&self->context); g_clear_object (&self->cancellable); G_OBJECT_CLASS (ide_workbench_parent_class)->finalize (object); }
static void ide_ctags_completion_item_finalize (GObject *object) { IdeCtagsCompletionItem *self = (IdeCtagsCompletionItem *)object; ide_clear_weak_pointer (&self->context); G_OBJECT_CLASS (ide_ctags_completion_item_parent_class)->finalize (object); EGG_COUNTER_DEC (instances); }
static void ide_highlight_engine__unbind_buffer_cb (IdeHighlightEngine *self, EggSignalGroup *group) { GtkTextBuffer *text_buffer; GtkTextTagTable *tag_table; GtkTextIter begin; GtkTextIter end; GSList *iter; IDE_ENTRY; g_assert (IDE_IS_HIGHLIGHT_ENGINE (self)); g_assert (EGG_IS_SIGNAL_GROUP (group)); text_buffer = GTK_TEXT_BUFFER (self->buffer); if (self->work_timeout) { g_source_remove (self->work_timeout); self->work_timeout = 0; } g_object_set_qdata (G_OBJECT (text_buffer), gEngineQuark, NULL); tag_table = gtk_text_buffer_get_tag_table (text_buffer); gtk_text_buffer_delete_mark (text_buffer, self->invalid_begin); gtk_text_buffer_delete_mark (text_buffer, self->invalid_end); self->invalid_begin = NULL; self->invalid_end = NULL; gtk_text_buffer_get_bounds (text_buffer, &begin, &end); for (iter = self->private_tags; iter; iter = iter->next) { gtk_text_buffer_remove_tag (text_buffer, iter->data, &begin, &end); gtk_text_tag_table_remove (tag_table, iter->data); } g_clear_pointer (&self->private_tags, g_slist_free); for (iter = self->public_tags; iter; iter = iter->next) { gtk_text_buffer_remove_tag (text_buffer, iter->data, &begin, &end); gtk_text_tag_table_remove (tag_table, iter->data); } g_clear_pointer (&self->public_tags, g_slist_free); ide_clear_weak_pointer (&self->buffer); IDE_EXIT; }
static void provider_entry_destroy (gpointer data) { ProviderEntry *entry = data; IDE_ENTRY; IDE_TRACE_MSG ("releasing %p", data); ide_clear_weak_pointer (&entry->group); g_clear_object (&entry->provider); g_free (entry); IDE_EXIT; }
static void gb_search_box_unmap (GtkWidget *widget) { GbSearchBox *self = (GbSearchBox *)widget; g_return_if_fail (GB_IS_SEARCH_BOX (self)); if (self->workbench) { ide_clear_signal_handler (self->workbench, &self->set_focus_handler); ide_clear_weak_pointer (&self->workbench); } GTK_WIDGET_CLASS (gb_search_box_parent_class)->unmap (widget); }
static void ide_xml_highlighter_dispose (GObject *object) { IdeXmlHighlighter *self = (IdeXmlHighlighter *)object; if (self->highlight_timeout != 0) { g_source_remove (self->highlight_timeout); self->highlight_timeout = 0; } ide_clear_weak_pointer (&self->engine); g_clear_object (&self->signal_group); G_OBJECT_CLASS (ide_xml_highlighter_parent_class)->dispose (object); }
static void ide_xml_highlighter_unbind_buffer_cb (IdeXmlHighlighter *self, EggSignalGroup *group) { g_assert (IDE_IS_XML_HIGHLIGHTER (self)); g_assert (EGG_IS_SIGNAL_GROUP (group)); g_assert (self->buffer != NULL); if (self->highlight_timeout != 0) { g_source_remove (self->highlight_timeout); self->highlight_timeout = 0; } gtk_text_buffer_delete_mark (self->buffer, self->iter_mark); self->iter_mark = NULL; ide_clear_weak_pointer (&self->buffer); }
static void ide_git_buffer_change_monitor_dispose (GObject *object) { IdeGitBufferChangeMonitor *self = (IdeGitBufferChangeMonitor *)object; if (self->changed_timeout) { g_source_remove (self->changed_timeout); self->changed_timeout = 0; } ide_clear_weak_pointer (&self->buffer); g_clear_object (&self->signal_group); g_clear_object (&self->vcs_signal_group); g_clear_object (&self->cached_blob); g_clear_object (&self->repository); G_OBJECT_CLASS (ide_git_buffer_change_monitor_parent_class)->dispose (object); }
static void ide_editor_spell_widget_finalize (GObject *object) { IdeEditorSpellWidget *self = (IdeEditorSpellWidget *)object; GspellTextView *spell_text_view; const GspellLanguage *spell_language; GtkTextBuffer *buffer; if (self->check_word_timeout_id > 0) g_source_remove (self->check_word_timeout_id); /* Set back the view spellchecking previous state */ if (self->view != NULL) { spell_text_view = gspell_text_view_get_from_gtk_text_view (GTK_TEXT_VIEW (self->view)); if (self->view_spellchecker_set) { gspell_text_view_set_inline_spell_checking (spell_text_view, TRUE); spell_language = gspell_checker_get_language (self->checker); if (gspell_language_compare (self->spellchecker_language, spell_language) != 0) gspell_checker_set_language (self->checker, self->spellchecker_language); } else { gspell_text_view_set_inline_spell_checking (spell_text_view, FALSE); gspell_text_view_set_enable_language_menu (spell_text_view, FALSE); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->view)); ide_buffer_set_spell_checking (IDE_BUFFER (buffer), FALSE); } } g_clear_object (&self->navigator); ide_clear_weak_pointer (&self->view); G_OBJECT_CLASS (ide_editor_spell_widget_parent_class)->finalize (object); }
void gb_slider_set_position (GbSlider *self, GbSliderPosition position) { GbSliderPrivate *priv = gb_slider_get_instance_private (self); g_return_if_fail (GB_IS_SLIDER (self)); g_return_if_fail (position >= GB_SLIDER_NONE); g_return_if_fail (position <= GB_SLIDER_LEFT); if (priv->position != position) { GdkFrameClock *frame_clock; EggAnimation *anim; gdouble v_value; gdouble h_value; priv->position = position; if (priv->h_anim) egg_animation_stop (priv->h_anim); ide_clear_weak_pointer (&priv->h_anim); if (priv->v_anim) egg_animation_stop (priv->v_anim); ide_clear_weak_pointer (&priv->v_anim); switch (position) { case GB_SLIDER_NONE: h_value = 0.0; v_value = 0.0; break; case GB_SLIDER_TOP: h_value = 0.0; v_value = 1.0; break; case GB_SLIDER_RIGHT: h_value = -1.0; v_value = 0.0; break; case GB_SLIDER_BOTTOM: h_value = 0.0; v_value = -1.0; break; case GB_SLIDER_LEFT: h_value = 1.0; v_value = 0.0; break; default: g_assert_not_reached (); break; } frame_clock = gtk_widget_get_frame_clock (GTK_WIDGET (self)); anim = egg_object_animate (priv->h_adj, ANIMATION_MODE, ANIMATION_DURATION, frame_clock, "value", h_value, NULL); ide_set_weak_pointer (&priv->h_anim, anim); anim = egg_object_animate (priv->v_adj, ANIMATION_MODE, ANIMATION_DURATION, frame_clock, "value", v_value, NULL); ide_set_weak_pointer (&priv->v_anim, anim); g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_POSITION]); gtk_widget_queue_resize (GTK_WIDGET (self)); } }
void gb_view_stack_set_active_view (GbViewStack *self, GtkWidget *active_view) { g_return_if_fail (GB_IS_VIEW_STACK (self)); g_return_if_fail (!active_view || GB_IS_VIEW (active_view)); if (self->destroyed) return; if (self->active_view != active_view) { if (self->active_view) { if (self->title_binding) g_binding_unbind (self->title_binding); ide_clear_weak_pointer (&self->title_binding); if (self->modified_binding) g_binding_unbind (self->modified_binding); ide_clear_weak_pointer (&self->modified_binding); gtk_label_set_label (self->title_label, NULL); ide_clear_weak_pointer (&self->active_view); gtk_widget_hide (GTK_WIDGET (self->controls_stack)); } if (active_view) { GtkWidget *controls; GBinding *binding; GActionGroup *group; ide_set_weak_pointer (&self->active_view, active_view); if (active_view != gtk_stack_get_visible_child (self->stack)) gtk_stack_set_visible_child (self->stack, active_view); self->focus_history = g_list_remove (self->focus_history, active_view); self->focus_history = g_list_prepend (self->focus_history, active_view); binding = g_object_bind_property (active_view, "title", self->title_label, "label", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); ide_set_weak_pointer (&self->title_binding, binding); binding = g_object_bind_property (active_view, "modified", self->modified_label, "visible", G_BINDING_SYNC_CREATE); ide_set_weak_pointer (&self->modified_binding, binding); controls = gb_view_get_controls (GB_VIEW (active_view)); if (controls) { gtk_stack_set_visible_child (self->controls_stack, controls); gtk_widget_show (GTK_WIDGET (self->controls_stack)); } group = gtk_widget_get_action_group (active_view, "view"); if (group) gtk_widget_insert_action_group (GTK_WIDGET (self), "view", group); gb_view_stack_move_top_list_row (self, GB_VIEW (active_view)); } g_object_notify_by_pspec (G_OBJECT (self), gParamSpecs [PROP_ACTIVE_VIEW]); } }