Keep track of how many visuals we set up for GLcore, to avoid an invalid free.

The proper fix would involve actually setting up the ARGB visual for GLcore,
but I just want the server to not crash at exit.
This commit is contained in:
Eric Anholt 2007-01-04 12:24:48 -08:00
parent aab2ca2042
commit 7d2ec92170

View File

@ -78,6 +78,7 @@ typedef struct __GLXMESAdrawable __GLXMESAdrawable;
struct __GLXMESAscreen {
__GLXscreen base;
int index;
int num_vis;
XMesaVisual *xm_vis;
};
@ -280,7 +281,7 @@ __glXMesaScreenDestroy(__GLXscreen *screen)
__GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
int i;
for (i = 0; i < screen->numVisuals; i++) {
for (i = 0; i < mesaScreen->num_vis; i++) {
if (mesaScreen->xm_vis[i])
XMesaDestroyVisual(mesaScreen->xm_vis[i]);
}
@ -389,6 +390,7 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
xfree(used);
screen->num_vis = pScreen->numVisuals;
screen->xm_vis = pXMesaVisual;
}