def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def __del__(self,glcanvasc=glcanvasc):
-        if self.thisown == 1 :
-            glcanvasc.delete_wxGLContext(self)
+    def __del__(self, delfunc=glcanvasc.delete_wxGLContext):
+        if self.thisown == 1:
+            try:
+                delfunc(self)
+            except:
+                pass
     def SetCurrent(self, *_args, **_kwargs):
         val = apply(glcanvasc.wxGLContext_SetCurrent,(self,) + _args, _kwargs)
         return val