summaryrefslogtreecommitdiffstats
path: root/hacks/glx/circuit.c
diff options
context:
space:
mode:
Diffstat (limited to 'hacks/glx/circuit.c')
-rw-r--r--hacks/glx/circuit.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/hacks/glx/circuit.c b/hacks/glx/circuit.c
index 744e4b6..b8b845e 100644
--- a/hacks/glx/circuit.c
+++ b/hacks/glx/circuit.c
@@ -2072,7 +2072,7 @@ ENTRYPOINT void draw_circuit(ModeInfo *mi)
if (!ci->glx_context)
return;
- glXMakeCurrent(disp, w, *(ci->glx_context));
+ glXMakeCurrent(disp, w, *ci->glx_context);
display(mi);
@@ -2084,8 +2084,12 @@ ENTRYPOINT void draw_circuit(ModeInfo *mi)
ENTRYPOINT void free_circuit(ModeInfo *mi)
{
Circuit *ci = &circuit[MI_SCREEN(mi)];
- if (ci->font)
- free_texture_font (ci->font);
+ int i;
+ if (!ci->glx_context) return;
+ glXMakeCurrent (MI_DISPLAY(mi), MI_WINDOW(mi), *ci->glx_context);
+ if (ci->font) free_texture_font (ci->font);
+ for (i = 0 ; i < 12 ; i++)
+ if (glIsList(ci->band_list[i])) glDeleteLists(ci->band_list[i], 1);
FreeAllGL(mi);
}