Re: access violation when calling glGenFramebuffers

"Mike C. Fletcher" <[email protected]> Mon, 15 Apr 2013 21:30:36 -0400
Newsgroups gmane.comp.python.opengl.user
Message-ID <[email protected]>
On 13-04-14 04:37 PM, David Vierra wrote:
> On 4/14/2013 10:15 AM, Patrick Dietrich wrote:
>> Am 13.04.2013 03:50, schrieb David Vierra:
>>> In OpenGL/platform/baseplatform.py, constructFunction calls
>>> self.getExtensionProcedure and gets a small negative number as a result.
>>> I looked at getExtensionProcedure and traced it back to the
>>> wglGetProcAddress that is implicitly created in
>>> OpenGL/platform/win32.py. This wglGetProcAddress is a _FuncPtr whose
>>> restype attribute is ctypes.c_long.
>>>
>>> If I add another line to OpenGL/platform/win32.py after the
>>> `getExtensionProcedure = ` line, that says:
>>>
>>> OpenGL.wglGetProcAddress.restype = ctypes.c_void_p
>>>
>> I did the same thing and it fixed the problem with glGenFramebuffers,
>> too! Thanks a lot David!
>> Is this a fix which can be added to the official distribution or will it
>> cause problems on other systems?
> It did not cause problems with my 32-bit Python, at least. I strongly
> doubt it would cause any problems on other (non-Windows) systems since
> the change is only made in win32.py. The fix changes the result type of
> one function pointer, but this hints strongly that the underlying
> problem is that the default result type for ctypes funcptrs, on 64-bit
> Python for Windows, is only 32 bits long.
It also didn't cause problems on my 64-bit Windows 7, and it seems 
correct, the return type *should* be a void pointer.  I gather it was 
working for the other drivers because the next 4 bytes were always NULL 
with the other drivers.

bzr head has the fix.

HTH,
Mike

-- 
________________________________________________
   Mike C. Fletcher
   Designer, VR Plumber, Coder
   http://www.vrplumber.com
   http://blog.vrplumber.com


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
PyOpenGL Homepage
http://pyopengl.sourceforge.net