X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a14de8aa913d127467af566392489a0cb8b9745..40e5ebbf98728d627e4d3c9e3a57f28f5bb8fcb9:/wxPython/wxaddons/sized_controls.py diff --git a/wxPython/wxaddons/sized_controls.py b/wxPython/wxaddons/sized_controls.py index 446249efe5..4123752042 100644 --- a/wxPython/wxaddons/sized_controls.py +++ b/wxPython/wxaddons/sized_controls.py @@ -457,10 +457,21 @@ class SizedPanel(wx.PyPanel): self.sizerType = "vertical" def AddChild(self, child): - wx.PyPanel.base_AddChild(self, child) - + if wx.VERSION < (2,8): + wx.PyPanel.base_AddChild(self, child) + else: + wx.PyPanel.AddChild(self, child) + + # Note: The wx.LogNull is used here to suppress a log message + # on wxMSW that happens because when AddChild is called the + # widget's hwnd hasn't been set yet, so the GetWindowRect that + # happens as a result of sizer.Add (in wxSizerItem::SetWindow) + # fails. A better fix would be to defer this code somehow + # until after the child widget is fully constructed. sizer = self.GetSizer() + nolog = wx.LogNull() item = sizer.Add(child) + del nolog item.SetUserData({"HGrow":0, "VGrow":0}) # Note: One problem is that the child class given to AddChild @@ -576,4 +587,4 @@ class SizedFrame(wx.Frame): self.SetAutoLayout(True) def GetContentsPane(self): - return self.mainPanel \ No newline at end of file + return self.mainPanel