Updates to memcheck

Corrected and beautified memory (output)
  Fixed a few memory leaks
  Fixed resizing in in wxRadioBox
  Added many wxFAIL and wxASSERT
  Corrected other wxFAIL (removed from ..::Ok())
  Added wxBrush::Set..() functions
  Added CopyOnWrite support in GDI objects (Unshare)
  Disabled all occurences of WXDEBUG_NEW
  made clean, recompiled with mem_chcking on


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1998-09-11 09:05:26 +00:00
parent 384b4373c7
commit e55ad60e19
46 changed files with 1087 additions and 379 deletions

View File

@@ -23,7 +23,8 @@ class wxBrushRefData: public wxObjectRefData
public:
wxBrushRefData(void);
wxBrushRefData( const wxBrushRefData& data );
int m_style;
wxBitmap m_stipple;
wxColour m_colour;
@@ -34,6 +35,13 @@ wxBrushRefData::wxBrushRefData(void)
m_style = 0;
}
wxBrushRefData::wxBrushRefData( const wxBrushRefData& data )
{
m_style = data.m_style;
m_stipple = data.m_stipple;
m_colour = data.m_colour;
}
//-----------------------------------------------------------------------------
#define M_BRUSHDATA ((wxBrushRefData *)m_refData)
@@ -116,17 +124,78 @@ bool wxBrush::Ok(void) const
int wxBrush::GetStyle(void) const
{
if (m_refData == NULL)
{
wxFAIL_MSG( "invalid brush" );
return 0;
}
return M_BRUSHDATA->m_style;
}
wxColour &wxBrush::GetColour(void) const
{
if (m_refData == NULL)
{
wxFAIL_MSG( "invalid brush" );
return wxNullColour;
}
return M_BRUSHDATA->m_colour;
}
wxBitmap *wxBrush::GetStipple(void) const
{
if (m_refData == NULL)
{
wxFAIL_MSG( "invalid brush" );
return &wxNullBitmap;
}
return &M_BRUSHDATA->m_stipple;
}
void wxBrush::SetColour( const wxColour& col )
{
Unshare();
M_BRUSHDATA->m_colour = col;
}
void wxBrush::SetColour( const wxString& col )
{
Unshare();
M_BRUSHDATA->m_colour = col;
}
void wxBrush::SetColour( unsigned char r, unsigned char g, unsigned char b )
{
Unshare();
M_BRUSHDATA->m_colour.Set( r, g, b );
}
void wxBrush::SetStyle( int style )
{
Unshare();
M_BRUSHDATA->m_style = style;
}
void wxBrush::SetStipple( const wxBitmap& stipple )
{
Unshare();
M_BRUSHDATA->m_stipple = stipple;
}
void wxBrush::Unshare(void)
{
if (!m_refData)
{
m_refData = new wxBrushRefData();
}
else
{
wxBrushRefData* ref = new wxBrushRefData( *(wxBrushRefData*)m_refData );
UnRef();
m_refData = ref;
}
}