From f1f4afa861b9f89866d812449fe981ae21aea60d Mon Sep 17 00:00:00 2001 From: lecoanet Date: Wed, 3 Mar 2004 16:36:50 +0000 Subject: Changes for perl/Tk 804. Fix a problem with glXMakeCurrent when the widget window is gone, the root window is used instead. This fixes a problem when freeing textures for an already destroyed widget. --- generic/Types.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'generic/Types.h') diff --git a/generic/Types.h b/generic/Types.h index 948ea80..68efcd9 100644 --- a/generic/Types.h +++ b/generic/Types.h @@ -60,6 +60,9 @@ # include # include # include +# ifndef PTK_800 +# define Arg Tcl_Obj * +# endif #else # include # include @@ -112,7 +115,7 @@ typedef void *ZnPtr; # define TCL_INTEGER_SPACE 24 #endif -#ifdef PTK +#ifdef PTK_800 /* * Macros for Tk8.4/perl/Tk utf compatibility */ @@ -198,7 +201,9 @@ EXTERN TkRegion ZnPolygonRegion(XPoint *points, int n, # ifdef GL # define ZnGLContext GLXContext # define ZnGLMakeCurrent(wi) \ - glXMakeCurrent(wi->dpy, Tk_WindowId(wi->win), wi->gl_context); + glXMakeCurrent(wi->dpy, \ + wi->win ? Tk_WindowId(wi->win) : RootWindowOfScreen(wi->screen), \ + wi->gl_context) # define ZnGLRelease(wi) # define ZnGLDestroyContext(wi) \ glXDestroyContext(wi->dpy, wi->gl_context); -- cgit v1.1