]> Pileus Git - grits/blobdiff - src/grits-viewer.c
Use only shared libs on win32
[grits] / src / grits-viewer.c
index 3a7827e51be982f9b9e4b484e0c506ec19c2893a..bfc704b35baeeeacf63c604aaa585404c8e326e2 100644 (file)
@@ -526,7 +526,9 @@ gpointer grits_viewer_add(GritsViewer *viewer, GritsObject *object,
        GritsViewerClass *klass = GRITS_VIEWER_GET_CLASS(viewer);
        if (!klass->add)
                g_warning("GritsViewer: add - Unimplemented");
-       return klass->add(viewer, object, level, sort);
+       object->ref    = klass->add(viewer, object, level, sort);
+       object->viewer = viewer;
+       return object;
 }
 
 /**
@@ -539,12 +541,16 @@ gpointer grits_viewer_add(GritsViewer *viewer, GritsObject *object,
  *
  * Returns: the #GritsObject referenced by the handle
  */
-GritsObject *grits_viewer_remove(GritsViewer *viewer, gpointer ref)
+GritsObject *grits_viewer_remove(GritsViewer *viewer, gpointer _object)
 {
+       GritsObject *object = _object;
        GritsViewerClass *klass = GRITS_VIEWER_GET_CLASS(viewer);
        if (!klass->remove)
                g_warning("GritsViewer: remove - Unimplemented");
-       return klass->remove(viewer, ref);
+       klass->remove(viewer, object->ref);
+       object->ref    = NULL;
+       object->viewer = NULL;
+       return object;
 }
 
 /****************
@@ -586,6 +592,7 @@ static void grits_viewer_finalize(GObject *gobject)
 {
        g_debug("GritsViewer: finalize");
        G_OBJECT_CLASS(grits_viewer_parent_class)->finalize(gobject);
+       g_debug("GritsViewer: finalize - done");
 }
 static void grits_viewer_class_init(GritsViewerClass *klass)
 {