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/juggler3d.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'hacks/glx/juggler3d.c') diff --git a/hacks/glx/juggler3d.c b/hacks/glx/juggler3d.c index 0315029..1b7d7c6 100644 --- a/hacks/glx/juggler3d.c +++ b/hacks/glx/juggler3d.c @@ -640,6 +640,13 @@ ENTRYPOINT void free_juggle(ModeInfo *mi) { jugglestruct *sp = &juggles[MI_SCREEN(mi)]; + if (!sp->glx_context) return; + glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *sp->glx_context); + + if (sp->trackball) gltrackball_free (sp->trackball); + if (sp->rot) free_rotator (sp->rot); + if (sp->font_data) free_texture_font (sp->font_data); + if (sp->head != NULL) { while (sp->head->next != sp->head) { trajectory_destroy(sp->head->next); @@ -668,7 +675,6 @@ add_throw(ModeInfo *mi, char type, int h, Notation n, const char* name) ADD_ELEMENT(Trajectory, t, sp->head->prev); if(t == NULL){ /* Out of Memory */ - free_juggle(mi); return False; } t->object = NULL; @@ -909,7 +915,6 @@ part(ModeInfo *mi) t->action = CATCH; ADD_ELEMENT(Trajectory, nt, p); if(nt == NULL){ - free_juggle(mi); return False; } nt->object = NULL; @@ -2570,7 +2575,6 @@ refill_juggle(ModeInfo * mi) positions(sp); if (!projectile(sp)) { - free_juggle(mi); return; } @@ -2729,14 +2733,12 @@ init_juggle (ModeInfo * mi) /* create circular trajectory list */ ADD_ELEMENT(Trajectory, sp->head, sp->head); if(sp->head == NULL){ - free_juggle(mi); return; } /* create circular object list */ ADD_ELEMENT(Object, sp->objects, sp->objects); if(sp->objects == NULL){ - free_juggle(mi); return; } @@ -2828,7 +2830,7 @@ draw_juggle (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); glShadeModel(GL_SMOOTH); -- cgit v1.2.3-55-g7522