// VZ: this one shouldn't exist...
m_isBeingDeleted = false;
+
+ // Reserved for future use
+ m_windowReserved = NULL;
}
// common part of window creation process
}
else // ! has children
{
- // For a generic window there is no natural best size - just use
- // either the minimum size if there is one, or the current size.
- // These are returned as-is, unadjusted by the client size difference.
- if ( GetMinSize().IsFullySpecified() )
- return GetMinSize();
- else
- return GetSize();
+ // for a generic window there is no natural best size so, if the
+ // minimal size is not set, use the current size but take care to
+ // remember it as minimal size for the next time because our best size
+ // should be constant: otherwise we could get into a situation when the
+ // window is initially at some size, then expanded to a larger size and
+ // then, when the containing window is shrunk back (because our initial
+ // best size had been used for computing the parent min size), we can't
+ // be shrunk back any more because our best size is now bigger
+ if ( !GetMinSize().IsFullySpecified() )
+ wxConstCast(this, wxWindowBase)->SetMinSize(GetSize());
+
+ // return as-is, unadjusted by the client size difference.
+ return GetMinSize();
}
// Add any difference between size and client size
wxVisualAttributes attrs;
attrs.font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
attrs.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
- attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
+ // On Smartphone/PocketPC, wxSYS_COLOUR_WINDOW is a better reflection of
+ // the usual background colour than wxSYS_COLOUR_BTNFACE.
+ // It's a pity that wxSYS_COLOUR_WINDOW isn't always a suitable background
+ // colour on other platforms.
+
+#if defined(__WXWINCE__) && (defined(__SMARTPHONE__) || defined(__POCKETPC__))
+ attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
+#else
+ attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
+#endif
return attrs;
}