self.SetClientSize(self._CalcSize())
             width = self.GetSize().width
             height = self.GetBestSize().height
-            self.SetSize((width, height))
-            self.SetSizeHints((width, height))
+            self.SetBestFittingSize((width, height))
 
 
         if value:
             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))
 
 
     def _GetSelection(self):