Skip to content

Commit

Permalink
Fix uninitialized values returned from glx_attrib_list_from_attrib_list
Browse files Browse the repository at this point in the history
Skipped parameters GDK_GL_USE_GL and GDK_GL_RGBA caused the
corresponding spots in the returned array to not be initialized
  • Loading branch information
mpjeff committed Jul 3, 2012
1 parent 7459ed5 commit 877fbcb
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions gdk/x11/gdkglconfig-x11.c
Expand Up @@ -197,6 +197,7 @@ glx_attrib_list_from_attrib_list (const gint *attrib_list, gsize n_attribs)

int *glx_attrib_list;
gsize attrib_index;
gsize glx_attrib_index;

GDK_GL_NOTE_FUNC_PRIVATE ();

Expand All @@ -205,32 +206,32 @@ glx_attrib_list_from_attrib_list (const gint *attrib_list, gsize n_attribs)
if (!glx_attrib_list)
goto err_g_malloc;

for (attrib_index = 0; (attrib_index < n_attribs) && attrib_list[attrib_index]; ++attrib_index)
for (attrib_index = 0, glx_attrib_index = 0; (attrib_index < n_attribs) && attrib_list[attrib_index]; ++attrib_index)
{
switch (attrib_list[attrib_index])
{
case GDK_GL_USE_GL:
/* legacy from GLX 1.2 and always true; will be removed */
case GDK_GL_RGBA:
/* not supported anymore; skip now, remove later */
/* not supported anymore */
break;

default:
glx_attrib_list[attrib_index] = glx_attrib_of_attrib[attrib_list[attrib_index]];
glx_attrib_list[glx_attrib_index++] = glx_attrib_of_attrib[attrib_list[attrib_index]];
if ( has_param[attrib_list[attrib_index]] )
{
++attrib_index;
if (attrib_index == n_attribs)
goto err_n_attribs;
glx_attrib_list[attrib_index] = attrib_list[attrib_index];
glx_attrib_list[glx_attrib_index++] = attrib_list[attrib_index];
}
break;
}
}

glx_attrib_list[attrib_index++] = GLX_RGBA;
glx_attrib_list[attrib_index++] = GLX_USE_GL;
glx_attrib_list[attrib_index++] = None;
glx_attrib_list[glx_attrib_index++] = GLX_RGBA;
glx_attrib_list[glx_attrib_index++] = GLX_USE_GL;
glx_attrib_list[glx_attrib_index++] = None;

return glx_attrib_list;

Expand Down

0 comments on commit 877fbcb

Please sign in to comment.