]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/activexwrapper.py
Patch from Will Sadkin:
[wxWidgets.git] / wxPython / wx / lib / activexwrapper.py
index 9ebbf63cdf3803344e0a8cb68ece91c6b9385b61..81cf8e6035257c2bef96422655d7d62c5ee04853 100644 (file)
@@ -63,7 +63,7 @@ def MakeActiveXClass(CoClass, eventClass=None, eventObj=None):
 
     # determine the base classes
     axEventClass = CoClass.default_source
-    baseClasses = [wx.Window, pywin.mfc.activex.Control, CoClass, axEventClass]
+    baseClasses = [pywin.mfc.activex.Control, wx.Window, CoClass, axEventClass]
     if eventClass:
         baseClasses.append(eventClass)
     baseClasses = tuple(baseClasses)
@@ -89,12 +89,13 @@ def MakeActiveXClass(CoClass, eventClass=None, eventObj=None):
 
 
 # These functions will be used as methods in the new class
-def axw__init__(self, parent, ID, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0):
-
+def axw__init__(self, parent, ID=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0):
+    
     # init base classes
     pywin.mfc.activex.Control.__init__(self)
     wx.Window.__init__( self, parent, -1, pos, size, style|wx.NO_FULL_REPAINT_ON_RESIZE)
-
+    self.this.own(False)  # this should be set in wx.Window.__init__ when it calls _setOORInfo, but...
+        
     win32ui.EnableControlContainer()
     self._eventObj = self._eventObj  # move from class to instance
 
@@ -113,7 +114,6 @@ def axw__init__(self, parent, ID, pos=wx.DefaultPosition, size=wx.DefaultSize, s
     # hook some wx events
     self.Bind(wx.EVT_SIZE, self.axw_OnSize)
 
-
 def axw__getattr__(self, attr):
     try:
         return pywin.mfc.activex.Control.__getattr__(self, attr)
@@ -135,7 +135,7 @@ def axw_OEB(self, event):
 
 
 def axw_Cleanup(self):
-    del self._wnd
+    #del self._wnd
     self.close()
     pass