[AD] mesa related bug

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


After upgrading my mesa packages, I noticed that my A4.9 programs (examples included) stopped working, yielding this message when run:

failed to create drawable
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  55 (X_CreateGC)
  Resource id in failed request:  0x4000002
  Serial number of failed request:  31
  Current serial number in output stream:  33

The code that causes the 'failed to create drawable' message is located in src/x/xglx_config.c, in _al_xglx_config_create_context:

if (glx->fbc) {
   /* Create a GLX context from FBC. */
   if (disp->flags & ALLEGRO_OPENGL_3_0) {
      int fc = disp->flags & ALLEGRO_OPENGL_FORWARD_COMPATIBLE;
      glx->context = create_context_new(glx->glx_version,
         system->gfxdisplay, *glx->fbc, existing_ctx, fc, 3, 0);
      disp->extra_settings.settings[ALLEGRO_COMPATIBLE_DISPLAY] = !fc;
   }
   else {
      glx->context = glXCreateNewContext(system->gfxdisplay, *glx->fbc,
         GLX_RGBA_TYPE, existing_ctx, True);
   }

   /* Create a GLX subwindow inside our window. */
   glx->glxwindow = glXCreateWindow(system->gfxdisplay, *glx->fbc,
      glx->window, 0); <---- This line prints the error
}
else {
   /* Create a GLX context from visual info. */
   glx->context = glXCreateContext(system->gfxdisplay, glx->xvinfo,
      existing_ctx, True);
   glx->glxwindow = glx->window;
}

Interestingly, if I force the 'else' block (creating the GLX context from visual info) to execute, everything works fine. Any ideas about what might be happening here? From what I can tell by the mesa changelogs, the only stuff that changed recently was some NULL pointer checks in glXGetFBConfigs functions.

My stats: Ubuntu 9.04
Mesa version: 7.4-0ubuntu3.2
My allegro.log is attached

-SiegeLord


      

Attachment: allegro.log.zip
Description: Zip archive



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/