diff options
Diffstat (limited to 'hacks/glx/stairs.c')
-rw-r--r-- | hacks/glx/stairs.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/hacks/glx/stairs.c b/hacks/glx/stairs.c index 7b6fbe2..faf9a37 100644 --- a/hacks/glx/stairs.c +++ b/hacks/glx/stairs.c @@ -472,7 +472,7 @@ draw_stairs (ModeInfo * mi) if (!sp->glx_context) return; - glXMakeCurrent(display, window, *(sp->glx_context)); + glXMakeCurrent(display, window, *sp->glx_context); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -570,7 +570,7 @@ change_stairs (ModeInfo * mi) if (!sp->glx_context) return; - glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(sp->glx_context)); + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *sp->glx_context); pinit(); } #endif /* !STANDALONE */ @@ -579,9 +579,10 @@ ENTRYPOINT void free_stairs (ModeInfo * mi) { stairsstruct *sp = &stairs[MI_SCREEN(mi)]; - if (glIsList(sp->objects)) { - glDeleteLists(sp->objects, 1); - } + if (!sp->glx_context) return; + glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *sp->glx_context); + if (glIsList(sp->objects)) glDeleteLists(sp->objects, 1); + if (sp->trackball) gltrackball_free (sp->trackball); } XSCREENSAVER_MODULE ("Stairs", stairs) |