From ae69a754244c4e475c8d2591772ca8e005071d83 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 18 Feb 2019 11:55:41 +0100 Subject: Update to 5.42 --- hacks/glx/topblock.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'hacks/glx/topblock.c') diff --git a/hacks/glx/topblock.c b/hacks/glx/topblock.c index 9161d38..59a463f 100644 --- a/hacks/glx/topblock.c +++ b/hacks/glx/topblock.c @@ -179,13 +179,20 @@ ENTRYPOINT void free_topBlock(ModeInfo *mi) { topBlockSTATE *tb = &tbs[MI_SCREEN(mi)]; - NODE *llCurrent, *llOld; - llCurrent = tb->blockNodeRoot; - while (llCurrent != NULL) { - llOld = llCurrent; - llCurrent = llCurrent->next; - free(llOld); - } + NODE *llCurrent, *llOld; + + if (!tb->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *tb->glx_context); + + llCurrent = tb->blockNodeRoot; + while (llCurrent != NULL) { + llOld = llCurrent; + llCurrent = llCurrent->next; + free(llOld); + } + if (tb->trackball) gltrackball_free (tb->trackball); + if (glIsList(tb->carpet)) glDeleteLists(tb->carpet, 1); + if (glIsList(tb->block)) glDeleteLists(tb->block, 1); } /* setup */ @@ -309,7 +316,7 @@ draw_topBlock (ModeInfo *mi) if (!tb->glx_context) return; - glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(tb->glx_context)); + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *tb->glx_context); mi->polygon_count = 0; generateNewBlock(mi); -- cgit v1.2.3-55-g7522