Author: ArcRiley
Date: 2007-07-05 17:10:41 -0400 (Thu, 05 Jul 2007)
New Revision: 369
Modified:
trunk/pysoy/src/_core-x11/Window.pxi
trunk/pysoy/src/_core-x11/glx.pxd
Log:
Fixing #261 (added soy.Window destroy function)
Modified: trunk/pysoy/src/_core-x11/Window.pxi
===================================================================
--- trunk/pysoy/src/_core-x11/Window.pxi 2007-07-05 09:00:08 UTC (rev
368)
+++ trunk/pysoy/src/_core-x11/Window.pxi 2007-07-05 21:10:41 UTC (rev
369)
@@ -65,17 +65,24 @@
glx.XSetWMProtocols(_display, self._windowID, &_atom, 1)
glx.XSetStandardProperties(_display, self._windowID, title, title,
0, NULL, 0, NULL)
- glx.XMapRaised(_display, self._windowID)
+ glx.XMapWindow(_display, self._windowID)
+ _sleep(10) # Let X11 finish before returning to Python
_windows.lock()
_windows.append(<void *>self)
_windows.unlock()
def __dealloc__(self) :
+ cdef glx.Display *_display
+ _display = glx.DisplayOfScreen(self._screen._screen)
# Delete the window here
_windows.lock()
_windows.remove(<void *>self)
_windows.unlock()
+ glx.XUnmapWindow(_display, self._windowID)
+ glx.glXDestroyContext(_display, self._glxContext)
+ glx.XDestroyWindow(_display, self._windowID)
+ _sleep(10) # Let X11 finish before returning to Python
cdef void _render(self) :
cdef int i
Modified: trunk/pysoy/src/_core-x11/glx.pxd
===================================================================
--- trunk/pysoy/src/_core-x11/glx.pxd 2007-07-05 09:00:08 UTC (rev 368)
+++ trunk/pysoy/src/_core-x11/glx.pxd 2007-07-05 21:10:41 UTC (rev 369)
@@ -264,42 +264,46 @@
Colormap colormap
Cursor cursor
- cdef int glXQueryVersion( Display*, int *maj, int *min )
+ cdef int glXQueryVersion ( Display*, int *maj, int *min )
- cdef Display *XOpenDisplay( char* )
- cdef int XCloseDisplay( Display* )
- cdef char *DisplayString( Display* )
- cdef int DefaultScreen( Display* )
- cdef int ScreenCount( Display* )
- cdef Screen *ScreenOfDisplay( Display*, int )
- cdef Display *DisplayOfScreen( Screen* )
- cdef Window RootWindowOfScreen( Screen* )
+ cdef Display *XOpenDisplay ( char* )
+ cdef int XCloseDisplay ( Display* )
+ cdef char *DisplayString ( Display* )
+ cdef int DefaultScreen ( Display* )
+ cdef int ScreenCount ( Display* )
+ cdef Screen *ScreenOfDisplay ( Display*, int )
+ cdef Display *DisplayOfScreen ( Screen* )
+ cdef Window RootWindowOfScreen ( Screen* )
cdef Colormap DefaultColormapOfScreen( Screen* )
- cdef int DefaultDepthOfScreen( Screen* )
- cdef GC DefaultGCOfScreen( Screen* )
- cdef Visual *DefaultVisualOfScreen( Screen* )
- cdef int WidthOfScreen( Screen* )
- cdef int HeightOfScreen( Screen* )
- cdef int WidthMMOfScreen( Screen* )
- cdef int HeightMMOfScreen( Screen* )
- cdef int PlanesOfScreen( Screen* )
- cdef XVisualInfo *glXChooseVisual ( Display*, int, int* )
- cdef GLXContext glXCreateContext( Display*, XVisualInfo*,
- GLXContext, Bool )
- cdef Bool glXMakeCurrent( Display*, Window, GLXContext )
- cdef void glXSwapBuffers( Display*, Window )
- cdef Colormap XCreateColormap( Display*, Window, Visual*, int )
- cdef Window XCreateWindow ( Display*, Window, int, int,
- unsigned int, unsigned int,
- unsigned int, int,
- unsigned int, Visual*,
- unsigned long,
- XSetWindowAttributes* )
- cdef Atom XInternAtom( Display*, char*, Bool )
- cdef int XSetWMProtocols( Display*, Window, Atom*, int )
- cdef int XSetStandardProperties( Display*, Window, char*, char*,
- Pixmap, char**, int, XSizeHints* )
- cdef int XMapRaised( Display*, Window )
+ cdef int DefaultDepthOfScreen ( Screen* )
+ cdef GC DefaultGCOfScreen ( Screen* )
+ cdef Visual *DefaultVisualOfScreen ( Screen* )
+ cdef int WidthOfScreen ( Screen* )
+ cdef int HeightOfScreen ( Screen* )
+ cdef int WidthMMOfScreen ( Screen* )
+ cdef int HeightMMOfScreen ( Screen* )
+ cdef int PlanesOfScreen ( Screen* )
+ cdef XVisualInfo *glXChooseVisual ( Display*, int, int* )
+ cdef GLXContext glXCreateContext ( Display*, XVisualInfo*,
+ GLXContext, Bool )
+ cdef void glXDestroyContext ( Display*, GLXContext )
+ cdef Bool glXMakeCurrent ( Display*, Window, GLXContext )
+ cdef void glXSwapBuffers ( Display*, Window )
+ cdef Colormap XCreateColormap ( Display*, Window, Visual*, int )
+ cdef Window XCreateWindow ( Display*, Window, int, int,
+ unsigned int, unsigned int,
+ unsigned int, int,
+ unsigned int, Visual*,
+ unsigned long,
+ XSetWindowAttributes* )
+ cdef int XDestroyWindow ( Display*, Window )
+ cdef Atom XInternAtom ( Display*, char*, Bool )
+ cdef int XSetWMProtocols ( Display*, Window, Atom*, int )
+ cdef int XSetStandardProperties ( Display*, Window, char*, char*,
+ Pixmap, char**, int, XSizeHints* )
+ cdef int XMapWindow ( Display*, Window )
+ cdef int XMapRaised ( Display*, Window )
+ cdef int XUnmapWindow ( Display*, Window )
cdef extern from "X11/extensions/xf86vmode.h" :
_______________________________________________
PySoy-SVN mailing list
[email protected]
http://www.pysoy.org/mailman/listinfo/pysoy-svn