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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user