On Saturday 19 October 2002 2:47 pm, Andy Ross wrote: > [Er, oops. The last one had the patch but not the text. Apologies!] > > OK, looking more carefully, I think I see how this is supposed to > work. Because not all OpenGL implementations export the > PointParameter functions, Curt is using function pointers and the > GetProcAddress stuff. > > This is fine; the only bug is that the names of the function pointers > are identical to the names of the functions. This is attractive, > because you can use the same syntax for both. > > But it doesn't work across all implementations. In some, the > definition of the functions are as "regular" functions, not pointers. > So while the invocation syntax is the same, the assignment syntax is > not. You can't redeclare a regular function as a function pointer -- > they're not compatible types. > > The following patch just renames the symbol used to avoid the > collision. It seems to work for me. > > Andy > > > diff -u -w -r1.31 main.cxx > --- main.cxx 17 Oct 2002 04:34:32 -0000 1.31 > +++ main.cxx 19 Oct 2002 18:38:22 -0000 > @@ -141,16 +141,16 @@ > typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC)(GLenum pname, > const GLfloat > *params); > > - PFNGLPOINTPARAMETERFEXTPROC glPointParameterfEXT = 0; > - PFNGLPOINTPARAMETERFVEXTPROC glPointParameterfvEXT = 0; > + PFNGLPOINTPARAMETERFEXTPROC gl_PointParameterfEXT = 0; > + PFNGLPOINTPARAMETERFVEXTPROC g_lPointParameterfvEXT = 0;
Is this last line correct? The rest of the patch uses gl_PointParameterfvEXT FWIW I couldn't get the patch to apply and I noticed while applying changes _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
