APplied patch [ 731719 ] Owner draw font leak/overuse
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -104,7 +104,7 @@ wxMenuItem::wxMenuItem(wxMenu *parentMenu,
|
|||||||
: wxMenuItemBase(parentMenu, id, text, help,
|
: wxMenuItemBase(parentMenu, id, text, help,
|
||||||
isCheckable ? wxITEM_CHECK : wxITEM_NORMAL, subMenu)
|
isCheckable ? wxITEM_CHECK : wxITEM_NORMAL, subMenu)
|
||||||
#if wxUSE_OWNER_DRAWN
|
#if wxUSE_OWNER_DRAWN
|
||||||
, wxOwnerDrawn(text, isCheckable)
|
, wxOwnerDrawn(text, isCheckable, TRUE)
|
||||||
#endif // owner drawn
|
#endif // owner drawn
|
||||||
{
|
{
|
||||||
Init();
|
Init();
|
||||||
|
@@ -46,7 +46,7 @@
|
|||||||
// ctor
|
// ctor
|
||||||
// ----
|
// ----
|
||||||
wxOwnerDrawn::wxOwnerDrawn(const wxString& str,
|
wxOwnerDrawn::wxOwnerDrawn(const wxString& str,
|
||||||
bool bCheckable, bool WXUNUSED(bMenuItem))
|
bool bCheckable, bool bMenuItem)
|
||||||
: m_strName(str)
|
: m_strName(str)
|
||||||
{
|
{
|
||||||
#if defined(__WXMSW__) && defined(__WIN32__) && defined(SM_CXMENUCHECK)
|
#if defined(__WXMSW__) && defined(__WIN32__) && defined(SM_CXMENUCHECK)
|
||||||
@@ -64,9 +64,23 @@ wxOwnerDrawn::wxOwnerDrawn(const wxString& str,
|
|||||||
ms_nLastMarginWidth = nm.iMenuWidth;
|
ms_nLastMarginWidth = nm.iMenuWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bMenuItem)
|
||||||
|
{
|
||||||
|
static wxFont menu_font;
|
||||||
|
if (!menu_font.Ok())
|
||||||
|
{
|
||||||
|
// create menu font
|
||||||
wxNativeFontInfo info;
|
wxNativeFontInfo info;
|
||||||
memcpy(&info.lf, &nm.lfMenuFont, sizeof(LOGFONT));
|
memcpy(&info.lf, &nm.lfMenuFont, sizeof(LOGFONT));
|
||||||
m_font.Create(info);
|
menu_font.Create(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_font = menu_font;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_font = *wxNORMAL_FONT;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
// windows clean install default
|
// windows clean install default
|
||||||
m_nMinHeight = 18;
|
m_nMinHeight = 18;
|
||||||
|
Reference in New Issue
Block a user