[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#495483: Another instance of the DoSwapInterval segfault



Hi,

After further browsing the code, it seems that the problem was in fact
that the function swapInterval called by DoSwapInterval was not
initialised. The faulty function is __glXMesaScreenProbe in
glglxcore.c which initialises all __GLXscreen fields but the
swapInterval field. It seems to me that __glXMesaScreenProbe should at
minima set swapInterval to NULL.

Indeed, after recompilation with the patch below, the gnome
screensaver does not crash any longer. I would guess this will address
also the following bug reports:

https://bugs.launchpad.net/bugs/115609
http://bugs.debian.org/500887

Regards,

Hugo Herbelin


*** GL/glx/glxglcore.c.orig     2009-01-07 13:42:17.000000000 +0100
--- GL/glx/glxglcore.c  2009-01-07 13:43:25.000000000 +0100
***************
*** 390,395 ****
--- 390,396 ----
      screen->base.destroy        = __glXMesaScreenDestroy;
      screen->base.createContext  = __glXMesaScreenCreateContext;
      screen->base.createDrawable = __glXMesaScreenCreateDrawable;
+     screen->base.swapInterval   = NULL;
      screen->base.pScreen       = pScreen;
  
      /*



Reply to: