X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/339983ff62d8d8e2cd4137dd61c46553d459cedc..c4761f668a8ea043a690385fc34c15126afbc6df:/wxPython/wx/lib/masked/maskededit.py diff --git a/wxPython/wx/lib/masked/maskededit.py b/wxPython/wx/lib/masked/maskededit.py index 4bafe63712..a3801d6eb9 100644 --- a/wxPython/wx/lib/masked/maskededit.py +++ b/wxPython/wx/lib/masked/maskededit.py @@ -1919,8 +1919,7 @@ class MaskedEditMixin: width = self.GetSize().width height = self.GetBestSize().height ## dbg('setting client size to:', (width, height)) - self.SetSize((width, height)) - self.SetSizeHints((width, height)) + self.SetBestFittingSize((width, height)) # Set value/type-specific formatting self._applyFormatting() @@ -2002,7 +2001,7 @@ class MaskedEditMixin: # the outside size that does include the borders. What you are # calculating (in _CalcSize) is the client size, but the sizers # deal with the full size and so that is the minimum size that - # we need to set with SetSizeHints. The root of the problem is + # we need to set with SetBestFittingSize. The root of the problem is # that in _calcSize the current client size height is returned, # instead of a height based on the current font. So I suggest using # _calcSize to just get the width, and then use GetBestSize to @@ -2010,8 +2009,7 @@ class MaskedEditMixin: self.SetClientSize(self._CalcSize()) width = self.GetSize().width height = self.GetBestSize().height - self.SetSize((width, height)) - self.SetSizeHints((width, height)) + self.SetBestFittingSize((width, height)) # Set value/type-specific formatting @@ -4956,6 +4954,8 @@ class MaskedEditMixin: we need to pull the following trick: """ ## dbg('MaskedEditMixin::_OnFocus') + if self.IsBeingDeleted() or self.GetParent().IsBeingDeleted(): + return wx.CallAfter(self._fixSelection) event.Skip() self.Refresh()