+ m_popupWinState = Animating;
+
+ wxRect popupWinRect( popupX, popupY, szp.x, szp.y );
+
+ m_popup = popup;
+ if ( (m_iFlags & wxCC_IFLAG_DISABLE_POPUP_ANIM) ||
+ AnimateShow( popupWinRect, showFlags ) )
+ {
+ DoShowPopup( popupWinRect, showFlags );
+ }
+}
+
+bool wxComboCtrlBase::AnimateShow( const wxRect& WXUNUSED(rect), int WXUNUSED(flags) )
+{
+ return true;
+}
+
+void wxComboCtrlBase::DoShowPopup( const wxRect& rect, int WXUNUSED(flags) )
+{
+ wxWindow* winPopup = m_winPopup;
+
+ if ( IsPopupWindowState(Animating) )
+ {
+ // Make sure the popup window is shown in the right position.
+ // Should not matter even if animation already did this.
+
+ // Some platforms (GTK) may like SetSize and Move to be separate
+ // (though the bug was probably fixed).
+ winPopup->SetSize( rect );