]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/masked/maskededit.py
SetSizeHints fix
[wxWidgets.git] / wxPython / wx / lib / masked / maskededit.py
index 4bafe637120778a19b93991ef0b6fe9bd71713e1..a3801d6eb9da960f706966c6abc978d48b09b43a 100644 (file)
@@ -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()