summaryrefslogtreecommitdiffstats
path: root/hacks/glx/rubikblocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'hacks/glx/rubikblocks.c')
-rw-r--r--hacks/glx/rubikblocks.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/hacks/glx/rubikblocks.c b/hacks/glx/rubikblocks.c
index fadeb0d..6082f09 100644
--- a/hacks/glx/rubikblocks.c
+++ b/hacks/glx/rubikblocks.c
@@ -22,7 +22,6 @@
"*wireframe: False \n" \
"*suppressRotationAnimation: True\n" \
-# define free_rubikblocks 0
# define release_rubikblocks 0
#include "xlockmore.h"
#include "rotator.h"
@@ -592,7 +591,7 @@ draw_rubikblocks(ModeInfo * mi)
MI_IS_DRAWN(mi) = True;
if (!cp->glx_context) return;
mi->polygon_count = 0;
- glXMakeCurrent(display, window, *(cp->glx_context));
+ glXMakeCurrent(display, window, *cp->glx_context);
if (!draw_main(mi, cp))
{
MI_ABORT(mi);
@@ -609,7 +608,7 @@ change_rubikblocks(ModeInfo * mi)
{
rubikblocks_conf *cp = &rubikblocks[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 */
@@ -628,6 +627,17 @@ rubikblocks_handle_event (ModeInfo *mi, XEvent *event)
}
+ENTRYPOINT void
+free_rubikblocks (ModeInfo *mi)
+{
+ rubikblocks_conf *cp = &rubikblocks[MI_SCREEN(mi)];
+ if (!cp->glx_context) return;
+ glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *cp->glx_context);
+ if (cp->trackball) gltrackball_free (cp->trackball);
+ glDeleteLists (cp->list_base, 27);
+}
+
+
XSCREENSAVER_MODULE ("RubikBlocks", rubikblocks)
#endif