]> Pileus Git - grits/blobdiff - src/grits-opengl.c
Use -shared for plugins
[grits] / src / grits-opengl.c
index f4523d5ea3f3b3fb984f74eec6757793e343ae1a..d8eda2752c7299cd33ba052c30869bedd6f2c118 100644 (file)
@@ -201,6 +201,7 @@ static gboolean on_expose(GritsOpenGL *opengl, GdkEventExpose *event, gpointer _
                glClear(GL_DEPTH_BUFFER_BIT);
                glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
                roam_sphere_draw(opengl->sphere);
+               g_tree_foreach(opengl->objects, _draw_level, opengl);
        }
        g_mutex_unlock(opengl->objects_lock);
 #endif
@@ -413,16 +414,16 @@ static GritsObject *grits_opengl_remove(GritsViewer *_opengl, gpointer _link)
 {
        g_assert(GRITS_IS_OPENGL(_opengl));
        GritsOpenGL *opengl = GRITS_OPENGL(_opengl);
-       g_mutex_lock(opengl->objects_lock);
        GList *link = _link;
+       g_mutex_lock(opengl->objects_lock);
        GritsObject *object = link->data;
        /* Just unlink and free it, link->prev is assured */
        link->prev->next = link->next;
        if (link->next)
                link->next->prev = link->prev;
+       g_mutex_unlock(opengl->objects_lock);
        g_free(link);
        g_object_unref(object);
-       g_mutex_unlock(opengl->objects_lock);
        return object;
 }