What are you referring to by "4.4 (or 4.5)"? XFree86 4.4.0 isn't out yet, so I'm assuming you do not mean XFree86.
Well, I did not follow at all XFree's development cycle lately. I was told that the next major XFree tree would have this fixed. So it must be 4.4.0 :-)
server glx vendor string: SGI server glx version string: 1.2
Well, so you are using GLX 1.2 and not 1.4 as Raphael told :-) At least, Wine checks only the runtime version, NOT the built-in versions.
So, what is the fix to this problem? It would be trivial to have process_attach (in $(TOPDIR)/dlls/opengl32/wgl.c) to call wine_dlsym() for "glXGetProcAddressARB" without checking whether it is listed as an extension or not and to then check whether an error occured.
Yeah, the fix is simply to remove the extension check (which was the code before I had a fit of spec correctiveness :-) ).
BTW, I think I have just found a potential (though unlikely) problem with the code in wglGetProcAddress. It checks whether p_glXGetProcAddressARB (the return value of wine_dlsym) != NULL. However, according to dlsym(3), the value of a symbol may be NULL.
Well, if a symbol value is 'NULL', I won't be able to call it anyway, no ? So it's exactly the same for me as a symbol that is not defined :-)
Lionel