[PyOpenGL-Devel] [ pyopengl-Bugs-1953886 ] glutCreateMenu ctypes Argument Error
Brought to you by:
mcfletch
|
From: SourceForge.net <no...@so...> - 2008-04-29 05:00:10
|
Bugs item #1953886, was opened at 2008-04-29 05:00 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=1953886&group_id=5988 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Peter Barth (peterbarth) Assigned to: Nobody/Anonymous (nobody) Summary: glutCreateMenu ctypes Argument Error Initial Comment: With PyOpenGL-3.0.0-0.3.a6 on fedora 7 using glutCreateMenu gives a ctypes Argument Error. Similar problems on MacOs, not on Windows. Traceback (most recent call last): ... "/usr/lib/python2.5/site-packages/OpenGL/GLUT/special.py", line 165, in glutCreateMenu result = simple.glutCreateMenu( cCallback ) ctypes.ArgumentError: argument 1: <type 'exceptions.TypeError'>: expected CFunctionType instance instead of CFunctionType culprit seems to be in --- OpenGL/GLUT/special.py, 159 the definition of the callbackType callbackType = FUNCTION_TYPE( ctypes.c_int, ctypes.c_int ) used in glutCreateMenu, which conflicts with --- OpenGL/raw/GLUT/__init__.py, 118 argTypes=[FUNCTION_TYPE(None, c_int)], the conflicting lines appear to be in 3.0.0b1 as well. Fixing it with a module imported before any other PyOpenGL module --- # fixme import ctypes from OpenGL.raw import GLUT as simple MENUFUNC = ctypes.CFUNCTYPE(None, ctypes.c_int) def fixed_glutCreateMenu(menu_func): """replacement for broken glutCreateMenu""" menu = simple.glutCreateMenu(MENUFUNC(menu_func)) return menu # now replace existing version in OpenGL.GLUT import OpenGL.GLUT OpenGL.GLUT.glutCreateMenu = fixed_glutCreateMenu --- seems to work. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=1953886&group_id=5988 |