wxChoice is deleted, delete client data for an item when that item is
deleted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19084
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
extern MenuHandle NewUniqueMenu() ;
wxChoice::~wxChoice()
{
- // DeleteMenu( m_macPopUpMenuId ) ;
+ if ( HasClientObjectData() )
+ {
+ size_t i, max = GetCount();
+
+ for ( i = 0; i < max; ++i )
+ delete GetClientObject(i);
+ }
+
+ // DeleteMenu( m_macPopUpMenuId ) ;
// DisposeMenu( m_macPopUpMenuHandle ) ;
}
bool wxChoice::Create(wxWindow *parent, wxWindowID id,
}
return wxSize(lbWidth, lbHeight);
-}
\ No newline at end of file
+}
void wxComboBox::Delete(int n)
{
+ if ( HasClientObjectData() )
+ {
+ SetClientObject(n, NULL);
+ }
m_choice->Delete( n );
}
extern MenuHandle NewUniqueMenu() ;
wxChoice::~wxChoice()
{
- // DeleteMenu( m_macPopUpMenuId ) ;
+ if ( HasClientObjectData() )
+ {
+ size_t i, max = GetCount();
+
+ for ( i = 0; i < max; ++i )
+ delete GetClientObject(i);
+ }
+
+ // DeleteMenu( m_macPopUpMenuId ) ;
// DisposeMenu( m_macPopUpMenuHandle ) ;
}
bool wxChoice::Create(wxWindow *parent, wxWindowID id,
}
return wxSize(lbWidth, lbHeight);
-}
\ No newline at end of file
+}
void wxComboBox::Delete(int n)
{
+ if ( HasClientObjectData() )
+ {
+ SetClientObject(n, NULL);
+ }
m_choice->Delete( n );
}