summaryrefslogtreecommitdiffstats
path: root/hacks/glx/cubicgrid.c
diff options
context:
space:
mode:
Diffstat (limited to 'hacks/glx/cubicgrid.c')
-rw-r--r--hacks/glx/cubicgrid.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/hacks/glx/cubicgrid.c b/hacks/glx/cubicgrid.c
index 34b6c34..d7ef6f2 100644
--- a/hacks/glx/cubicgrid.c
+++ b/hacks/glx/cubicgrid.c
@@ -24,7 +24,6 @@
"*wireframe: False \n" \
"*suppressRotationAnimation: True\n" \
-# define free_cubicgrid 0
# define release_cubicgrid 0
#include "xlockmore.h"
@@ -242,7 +241,7 @@ ENTRYPOINT void draw_cubicgrid(ModeInfo * mi)
cp = &cubicgrid[MI_SCREEN(mi)];
MI_IS_DRAWN(mi) = True;
if (!cp->glx_context) return;
- glXMakeCurrent(display, window, *(cp->glx_context));
+ glXMakeCurrent(display, window, *cp->glx_context);
if (!draw_main(mi)) {
MI_ABORT(mi);
return;
@@ -258,11 +257,20 @@ ENTRYPOINT void change_cubicgrid(ModeInfo * mi)
{
cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)];
if (!cp->glx_context) return;
- glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(cp->glx_context));
+ glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *cp->glx_context);
init_gl(mi);
}
#endif /* !STANDALONE */
+ENTRYPOINT void free_cubicgrid(ModeInfo * mi)
+{
+ cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)];
+ if (!cp->glx_context) return;
+ glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *cp->glx_context);
+ gltrackball_free (cp->trackball);
+ free_rotator (cp->rot);
+ if (glIsList(cp->list)) glDeleteLists(cp->list, 1);
+}
XSCREENSAVER_MODULE ("CubicGrid", cubicgrid)