X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1679124ae303fb78561ee2b0c56b5831fd0fafe..3bdc265d9d49ac78cb5000fbf3d694ed93d0e665:/wxPython/src/msw/wx.py?ds=sidebyside diff --git a/wxPython/src/msw/wx.py b/wxPython/src/msw/wx.py index b651c3792a..7a135d91c7 100644 --- a/wxPython/src/msw/wx.py +++ b/wxPython/src/msw/wx.py @@ -64,7 +64,6 @@ class wxPyAppPtr(wxEvtHandlerPtr): return val def GetTopWindow(self, *_args, **_kwargs): val = apply(wxc.wxPyApp_GetTopWindow,(self,) + _args, _kwargs) - if val: val = wxWindowPtr(val) return val def GetVendorName(self, *_args, **_kwargs): val = apply(wxc.wxPyApp_GetVendorName,(self,) + _args, _kwargs) @@ -1544,11 +1543,14 @@ wxPyDefaultSize = wxDefaultSize def wxPyTypeCast(obj, typeStr): if obj is None: return None + theClass = globals()[typeStr+"Ptr"] + typeStr = __wxPyPtrTypeMap.get(typeStr, typeStr) if hasattr(obj, "this"): + if obj.__class__ is theClass: # if already the right type then just return it + return obj newPtr = ptrcast(obj.this, typeStr+"_p") else: newPtr = ptrcast(obj, typeStr+"_p") - theClass = globals()[typeStr+"Ptr"] theObj = theClass(newPtr) if hasattr(obj, "this"): theObj.thisown = obj.thisown @@ -1683,4 +1685,6 @@ class __wxPyCleanup: self.cleanup() __cleanMeUp = __wxPyCleanup() + +#---------------------------------------------------------------------------- #----------------------------------------------------------------------------