static void gnome_icon_text_item_destroy (GtkObject *object) { GnomeIconTextItem *iti = GNOME_ICON_TEXT_ITEM (object); GnomeIconTextItemPrivate *priv = iti->_priv; if (iti->text && iti->is_text_allocated) { g_free (iti->text); iti->text = NULL; } if (priv) { if (priv->layout) { g_object_unref (priv->layout); priv->layout = NULL; } if (priv->entry_top) { gtk_widget_destroy (priv->entry_top); priv->entry_top = NULL; } if (priv->cursor_gc) { g_object_unref (priv->cursor_gc); priv->cursor_gc = NULL; } g_free (priv); iti->_priv = NULL; } GNOME_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object)); }
/* Destroy handler for the image view */ static void image_view_dispose (GObject *object) { ImageView *view; ImageViewPrivate *priv; view = IMAGE_VIEW (object); priv = view->priv; g_signal_handlers_disconnect_matched ( priv->hadj, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, view); g_signal_handlers_disconnect_matched ( priv->vadj, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, view); /* Clean up */ if (view->priv->pixbuf) g_object_unref (G_OBJECT (view->priv->pixbuf)); view->priv->pixbuf = NULL; remove_dirty_region (view); GNOME_CALL_PARENT (G_OBJECT_CLASS, dispose, (object)); }
static void gnome_icon_text_item_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags) { GnomeIconTextItem *iti; GnomeIconTextItemPrivate *priv; iti = GNOME_ICON_TEXT_ITEM (item); priv = iti->_priv; GNOME_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, update, (item, affine, clip_path, flags)); /* If necessary, queue a redraw of the old bounding box */ if ((flags & GNOME_CANVAS_UPDATE_VISIBILITY) || (flags & GNOME_CANVAS_UPDATE_AFFINE) || priv->need_pos_update || priv->need_font_update || priv->need_text_update) gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2); /* Compute new bounds */ if (priv->need_pos_update || priv->need_font_update || priv->need_text_update) recompute_bounding_box (iti); /* Queue redraw */ gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2); priv->need_pos_update = FALSE; priv->need_font_update = FALSE; priv->need_text_update = FALSE; priv->need_state_update = FALSE; }
static void gnome_druid_destroy (GtkObject *object) { GnomeDruid *druid; /* remember, destroy can be run multiple times! */ g_return_if_fail (object != NULL); g_return_if_fail (GNOME_IS_DRUID (object)); druid = GNOME_DRUID (object); if(druid->_priv->bbox) { gtk_widget_destroy (druid->_priv->bbox); druid->_priv->bbox = NULL; druid->back = NULL; druid->next = NULL; druid->cancel = NULL; druid->finish = NULL; druid->help = NULL; } /* Remove all children, we set current to NULL so * that the remove code doesn't try to do anything funny */ druid->_priv->current = NULL; while (druid->_priv->children != NULL) { GnomeDruidPage *child = druid->_priv->children->data; gtk_container_remove (GTK_CONTAINER (druid), GTK_WIDGET(child)); } GNOME_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object)); }
static void gnome_icon_text_item_realize (GnomeCanvasItem *item) { GnomeIconTextItem *iti = GNOME_ICON_TEXT_ITEM (item); if (iti->_priv->entry) { realize_cursor_gc (iti); } GNOME_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, realize, (item)); }
static void gnome_icon_text_item_unrealize (GnomeCanvasItem *item) { GnomeIconTextItem *iti = GNOME_ICON_TEXT_ITEM (item); if (iti->_priv->cursor_gc) { g_object_unref (iti->_priv->cursor_gc); iti->_priv->cursor_gc = NULL; } GNOME_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, unrealize, (item)); }
static void gnome_druid_finalize (GObject *object) { GnomeDruid *druid; g_return_if_fail (object != NULL); g_return_if_fail (GNOME_IS_DRUID (object)); druid = GNOME_DRUID (object); g_free(druid->_priv); druid->_priv = NULL; GNOME_CALL_PARENT (G_OBJECT_CLASS, finalize, (object)); }
/* Finalize handler for the image view */ static void image_view_finalize (GObject *object) { ImageView *view; ImageViewPrivate *priv; view = IMAGE_VIEW (object); priv = view->priv; g_object_unref (priv->hadj); g_object_unref (priv->vadj); g_free (priv); GNOME_CALL_PARENT (G_OBJECT_CLASS, finalize, (object)); }