From 7ecb8b06ade47981aa828a3f7fb4278f822456d3 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 20 Nov 2001 18:40:03 +0000 Subject: [PATCH] don't use wxTheXXXList in wxXXX ctor/dtor, only objects explicitly created with FindOrCreateXXX() are managed by the lists git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/gdicmn.cpp | 28 +++++++++++++--------- src/gtk/bitmap.cpp | 19 +++------------ src/gtk/brush.cpp | 37 ++++++++++++----------------- src/gtk/font.cpp | 10 +++----- src/gtk/pen.cpp | 28 ++++++++++------------ src/gtk1/bitmap.cpp | 19 +++------------ src/gtk1/brush.cpp | 37 ++++++++++++----------------- src/gtk1/font.cpp | 10 +++----- src/gtk1/pen.cpp | 28 ++++++++++------------ src/motif/app.cpp | 12 +--------- src/motif/bitmap.cpp | 19 --------------- src/motif/brush.cpp | 38 +++++++++++------------------- src/motif/font.cpp | 7 ++---- src/motif/pen.cpp | 54 ++++++++++++++++++------------------------- src/msw/bitmap.cpp | 6 ----- src/msw/brush.cpp | 8 ------- src/msw/font.cpp | 4 ---- src/msw/pen.cpp | 8 ------- 18 files changed, 122 insertions(+), 250 deletions(-) diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp index 0145deabfc..d33e03f739 100644 --- a/src/common/gdicmn.cpp +++ b/src/common/gdicmn.cpp @@ -418,7 +418,8 @@ wxString wxColourDatabase::FindName (const wxColour& colour) const return name; } -void wxInitializeStockLists () { +void wxInitializeStockLists() +{ wxTheBrushList = new wxBrushList; wxThePenList = new wxPenList; wxTheFontList = new wxFontList; @@ -530,14 +531,19 @@ void wxDeleteStockObjects () wxDELETE(wxCROSS_CURSOR); } -void wxDeleteStockLists() { +void wxDeleteStockLists() +{ wxDELETE(wxTheBrushList); wxDELETE(wxThePenList); wxDELETE(wxTheFontList); wxDELETE(wxTheBitmapList); } -wxBitmapList::wxBitmapList () +// ============================================================================ +// wxTheXXXList stuff (semi-obsolete) +// ============================================================================ + +wxBitmapList::wxBitmapList() { } @@ -602,10 +608,9 @@ wxPen *wxPenList::FindOrCreatePen (const wxColour& colour, int width, int style) return NULL; } - // Yes, we can return a pointer to this in a later FindOrCreatePen call, - // because we created it within FindOrCreatePen. Safeguards against - // returning a pointer to an automatic variable and hanging on to it - // (dangling pointer). + AddPen(pen); + + // we'll delete it ourselves later pen->SetVisible(TRUE); return pen; @@ -653,12 +658,11 @@ wxBrush *wxBrushList::FindOrCreateBrush (const wxColour& colour, int style) return NULL; } + AddBrush(brush); + + // we'll delete it ourselves later brush->SetVisible(TRUE); - // Yes, we can return a pointer to this in a later FindOrCreateBrush call, - // because we created it within FindOrCreateBrush. Safeguards against - // returning a pointer to an automatic variable and hanging on to it - // (dangling pointer). return brush; } @@ -759,6 +763,8 @@ wxFont *wxFontList::FindOrCreateFont(int pointSize, font = new wxFont(pointSize, family, style, weight, underline, facename, encoding); + AddFont(font); + // and mark it as being cacheable font->SetVisible(TRUE); } diff --git a/src/gtk/bitmap.cpp b/src/gtk/bitmap.cpp index e104eb7e82..1f62c2a11b 100644 --- a/src/gtk/bitmap.cpp +++ b/src/gtk/bitmap.cpp @@ -255,14 +255,11 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmap,wxGDIObject) wxBitmap::wxBitmap() { - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( int width, int height, int depth ) { Create( width, height, depth ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } bool wxBitmap::Create( int width, int height, int depth ) @@ -322,8 +319,6 @@ bool wxBitmap::CreateFromXpm( const char **bits ) M_BMPDATA->m_bpp = visual->depth; // ? - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); - return TRUE; } @@ -334,8 +329,6 @@ bool wxBitmap::CreateFromImage( const wxImage& image, int depth ) m_refData = new wxBitmapRefData(); - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); - // ------ // convertion to mono bitmap: // ------ @@ -774,15 +767,11 @@ wxImage wxBitmap::ConvertToImage() const wxBitmap::wxBitmap( const wxBitmap& bmp ) { Ref( bmp ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( const wxString &filename, int type ) { LoadFile( filename, type ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth)) @@ -797,19 +786,17 @@ wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth M_BMPDATA->m_bpp = 1; wxCHECK_RET( M_BMPDATA->m_bitmap, wxT("couldn't create bitmap") ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::~wxBitmap() { - if (wxTheBitmapList) wxTheBitmapList->DeleteObject(this); } wxBitmap& wxBitmap::operator = ( const wxBitmap& bmp ) { - if (*this == bmp) return (*this); - Ref( bmp ); + if ( m_refData != bmp.m_refData ) + Ref( bmp ); + return *this; } diff --git a/src/gtk/brush.cpp b/src/gtk/brush.cpp index 70a2790e4a..68d4d985f9 100644 --- a/src/gtk/brush.cpp +++ b/src/gtk/brush.cpp @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: brush.cpp +// Name: src/gtk/brush.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -50,7 +50,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxBrush,wxGDIObject) wxBrush::wxBrush() { - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); } wxBrush::wxBrush( const wxColour &colour, int style ) @@ -58,41 +57,35 @@ wxBrush::wxBrush( const wxColour &colour, int style ) m_refData = new wxBrushRefData(); M_BRUSHDATA->m_style = style; M_BRUSHDATA->m_colour = colour; - - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); } wxBrush::wxBrush( const wxBitmap &stippleBitmap ) { m_refData = new wxBrushRefData(); M_BRUSHDATA->m_colour = *wxBLACK; - + M_BRUSHDATA->m_stipple = stippleBitmap; if (M_BRUSHDATA->m_stipple.GetMask()) - M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; - else - M_BRUSHDATA->m_style = wxSTIPPLE; - - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); + M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; + else + M_BRUSHDATA->m_style = wxSTIPPLE; } wxBrush::wxBrush( const wxBrush &brush ) { Ref( brush ); - - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); } wxBrush::~wxBrush() { - if (wxTheBrushList) wxTheBrushList->RemoveBrush( this ); } wxBrush& wxBrush::operator = ( const wxBrush& brush ) { - if (*this == brush) return (*this); - Ref( brush ); + if ( m_refData != brush.m_refData ) + Ref( brush ); + return *this; } @@ -168,12 +161,12 @@ void wxBrush::SetStipple( const wxBitmap& stipple ) M_BRUSHDATA->m_stipple = stipple; if (M_BRUSHDATA->m_stipple.GetMask()) { - M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; - } - else - { - M_BRUSHDATA->m_style = wxSTIPPLE; - } + M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; + } + else + { + M_BRUSHDATA->m_style = wxSTIPPLE; + } } void wxBrush::Unshare() diff --git a/src/gtk/font.cpp b/src/gtk/font.cpp index c8a4c8da16..74864d1882 100644 --- a/src/gtk/font.cpp +++ b/src/gtk/font.cpp @@ -162,18 +162,18 @@ bool wxNativeFontInfo::FromString(const wxString& s) xFontName = tokenizer.GetNextToken(); if(!xFontName) return FALSE; - + return TRUE; } wxString wxNativeFontInfo::ToString() const { wxString s; - + s.Printf(_T("%d;%s"), 0, // version xFontName.c_str()); - + return s; } @@ -185,8 +185,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject) void wxFont::Init() { - if (wxTheFontList) - wxTheFontList->Append( this ); } wxFont::wxFont(const wxNativeFontInfo& info) @@ -334,8 +332,6 @@ void wxFont::Unshare() wxFont::~wxFont() { - if (wxTheFontList) - wxTheFontList->DeleteObject( this ); } // ---------------------------------------------------------------------------- diff --git a/src/gtk/pen.cpp b/src/gtk/pen.cpp index 8ac1097aa8..c398c71b58 100644 --- a/src/gtk/pen.cpp +++ b/src/gtk/pen.cpp @@ -56,7 +56,7 @@ wxPenRefData::wxPenRefData( const wxPenRefData& data ) m_countDashes = data.m_countDashes; /* if (data.m_dash) TODO - m_dash = new + m_dash = new */ m_dash = data.m_dash; } @@ -69,7 +69,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxPen,wxGDIObject) wxPen::wxPen() { - if (wxThePenList) wxThePenList->AddPen( this ); } wxPen::wxPen( const wxColour &colour, int width, int style ) @@ -78,25 +77,22 @@ wxPen::wxPen( const wxColour &colour, int width, int style ) M_PENDATA->m_width = width; M_PENDATA->m_style = style; M_PENDATA->m_colour = colour; - - if (wxThePenList) wxThePenList->AddPen( this ); } wxPen::wxPen( const wxPen& pen ) { Ref( pen ); - if (wxThePenList) wxThePenList->AddPen( this ); } wxPen::~wxPen() { - if (wxThePenList) wxThePenList->RemovePen( this ); } wxPen& wxPen::operator = ( const wxPen& pen ) { - if (*this == pen) return (*this); - Ref( pen ); + if ( m_refData != pen.m_refData ) + Ref( pen ); + return *this; } @@ -153,20 +149,20 @@ void wxPen::SetWidth( int width ) M_PENDATA->m_width = width; } -int wxPen::GetDashes( wxDash **ptr ) const +int wxPen::GetDashes( wxDash **ptr ) const { - *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); + *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); return (M_PENDATA ? M_PENDATA->m_countDashes : 0); } -int wxPen::GetDashCount() const -{ - return (M_PENDATA->m_countDashes); +int wxPen::GetDashCount() const +{ + return (M_PENDATA->m_countDashes); } -wxDash* wxPen::GetDash() const -{ - return (wxDash*)M_PENDATA->m_dash; +wxDash* wxPen::GetDash() const +{ + return (wxDash*)M_PENDATA->m_dash; } int wxPen::GetCap() const diff --git a/src/gtk1/bitmap.cpp b/src/gtk1/bitmap.cpp index e104eb7e82..1f62c2a11b 100644 --- a/src/gtk1/bitmap.cpp +++ b/src/gtk1/bitmap.cpp @@ -255,14 +255,11 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmap,wxGDIObject) wxBitmap::wxBitmap() { - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( int width, int height, int depth ) { Create( width, height, depth ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } bool wxBitmap::Create( int width, int height, int depth ) @@ -322,8 +319,6 @@ bool wxBitmap::CreateFromXpm( const char **bits ) M_BMPDATA->m_bpp = visual->depth; // ? - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); - return TRUE; } @@ -334,8 +329,6 @@ bool wxBitmap::CreateFromImage( const wxImage& image, int depth ) m_refData = new wxBitmapRefData(); - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); - // ------ // convertion to mono bitmap: // ------ @@ -774,15 +767,11 @@ wxImage wxBitmap::ConvertToImage() const wxBitmap::wxBitmap( const wxBitmap& bmp ) { Ref( bmp ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( const wxString &filename, int type ) { LoadFile( filename, type ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth)) @@ -797,19 +786,17 @@ wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth M_BMPDATA->m_bpp = 1; wxCHECK_RET( M_BMPDATA->m_bitmap, wxT("couldn't create bitmap") ); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::~wxBitmap() { - if (wxTheBitmapList) wxTheBitmapList->DeleteObject(this); } wxBitmap& wxBitmap::operator = ( const wxBitmap& bmp ) { - if (*this == bmp) return (*this); - Ref( bmp ); + if ( m_refData != bmp.m_refData ) + Ref( bmp ); + return *this; } diff --git a/src/gtk1/brush.cpp b/src/gtk1/brush.cpp index 70a2790e4a..68d4d985f9 100644 --- a/src/gtk1/brush.cpp +++ b/src/gtk1/brush.cpp @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: brush.cpp +// Name: src/gtk/brush.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -50,7 +50,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxBrush,wxGDIObject) wxBrush::wxBrush() { - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); } wxBrush::wxBrush( const wxColour &colour, int style ) @@ -58,41 +57,35 @@ wxBrush::wxBrush( const wxColour &colour, int style ) m_refData = new wxBrushRefData(); M_BRUSHDATA->m_style = style; M_BRUSHDATA->m_colour = colour; - - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); } wxBrush::wxBrush( const wxBitmap &stippleBitmap ) { m_refData = new wxBrushRefData(); M_BRUSHDATA->m_colour = *wxBLACK; - + M_BRUSHDATA->m_stipple = stippleBitmap; if (M_BRUSHDATA->m_stipple.GetMask()) - M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; - else - M_BRUSHDATA->m_style = wxSTIPPLE; - - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); + M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; + else + M_BRUSHDATA->m_style = wxSTIPPLE; } wxBrush::wxBrush( const wxBrush &brush ) { Ref( brush ); - - if (wxTheBrushList) wxTheBrushList->AddBrush( this ); } wxBrush::~wxBrush() { - if (wxTheBrushList) wxTheBrushList->RemoveBrush( this ); } wxBrush& wxBrush::operator = ( const wxBrush& brush ) { - if (*this == brush) return (*this); - Ref( brush ); + if ( m_refData != brush.m_refData ) + Ref( brush ); + return *this; } @@ -168,12 +161,12 @@ void wxBrush::SetStipple( const wxBitmap& stipple ) M_BRUSHDATA->m_stipple = stipple; if (M_BRUSHDATA->m_stipple.GetMask()) { - M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; - } - else - { - M_BRUSHDATA->m_style = wxSTIPPLE; - } + M_BRUSHDATA->m_style = wxSTIPPLE_MASK_OPAQUE; + } + else + { + M_BRUSHDATA->m_style = wxSTIPPLE; + } } void wxBrush::Unshare() diff --git a/src/gtk1/font.cpp b/src/gtk1/font.cpp index c8a4c8da16..74864d1882 100644 --- a/src/gtk1/font.cpp +++ b/src/gtk1/font.cpp @@ -162,18 +162,18 @@ bool wxNativeFontInfo::FromString(const wxString& s) xFontName = tokenizer.GetNextToken(); if(!xFontName) return FALSE; - + return TRUE; } wxString wxNativeFontInfo::ToString() const { wxString s; - + s.Printf(_T("%d;%s"), 0, // version xFontName.c_str()); - + return s; } @@ -185,8 +185,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject) void wxFont::Init() { - if (wxTheFontList) - wxTheFontList->Append( this ); } wxFont::wxFont(const wxNativeFontInfo& info) @@ -334,8 +332,6 @@ void wxFont::Unshare() wxFont::~wxFont() { - if (wxTheFontList) - wxTheFontList->DeleteObject( this ); } // ---------------------------------------------------------------------------- diff --git a/src/gtk1/pen.cpp b/src/gtk1/pen.cpp index 8ac1097aa8..c398c71b58 100644 --- a/src/gtk1/pen.cpp +++ b/src/gtk1/pen.cpp @@ -56,7 +56,7 @@ wxPenRefData::wxPenRefData( const wxPenRefData& data ) m_countDashes = data.m_countDashes; /* if (data.m_dash) TODO - m_dash = new + m_dash = new */ m_dash = data.m_dash; } @@ -69,7 +69,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxPen,wxGDIObject) wxPen::wxPen() { - if (wxThePenList) wxThePenList->AddPen( this ); } wxPen::wxPen( const wxColour &colour, int width, int style ) @@ -78,25 +77,22 @@ wxPen::wxPen( const wxColour &colour, int width, int style ) M_PENDATA->m_width = width; M_PENDATA->m_style = style; M_PENDATA->m_colour = colour; - - if (wxThePenList) wxThePenList->AddPen( this ); } wxPen::wxPen( const wxPen& pen ) { Ref( pen ); - if (wxThePenList) wxThePenList->AddPen( this ); } wxPen::~wxPen() { - if (wxThePenList) wxThePenList->RemovePen( this ); } wxPen& wxPen::operator = ( const wxPen& pen ) { - if (*this == pen) return (*this); - Ref( pen ); + if ( m_refData != pen.m_refData ) + Ref( pen ); + return *this; } @@ -153,20 +149,20 @@ void wxPen::SetWidth( int width ) M_PENDATA->m_width = width; } -int wxPen::GetDashes( wxDash **ptr ) const +int wxPen::GetDashes( wxDash **ptr ) const { - *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); + *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); return (M_PENDATA ? M_PENDATA->m_countDashes : 0); } -int wxPen::GetDashCount() const -{ - return (M_PENDATA->m_countDashes); +int wxPen::GetDashCount() const +{ + return (M_PENDATA->m_countDashes); } -wxDash* wxPen::GetDash() const -{ - return (wxDash*)M_PENDATA->m_dash; +wxDash* wxPen::GetDash() const +{ + return (wxDash*)M_PENDATA->m_dash; } int wxPen::GetCap() const diff --git a/src/motif/app.cpp b/src/motif/app.cpp index b552654bc4..fbe1d763fc 100644 --- a/src/motif/app.cpp +++ b/src/motif/app.cpp @@ -143,17 +143,7 @@ void wxApp::CleanUp() // Destroy all GDI lists, etc. - delete wxTheBrushList; - wxTheBrushList = NULL; - - delete wxThePenList; - wxThePenList = NULL; - - delete wxTheFontList; - wxTheFontList = NULL; - - delete wxTheBitmapList; - wxTheBitmapList = NULL; + wxDeleteStockLists(); delete wxTheColourDatabase; wxTheColourDatabase = NULL; diff --git a/src/motif/bitmap.cpp b/src/motif/bitmap.cpp index ec2dd2d847..dc6bb3bb82 100644 --- a/src/motif/bitmap.cpp +++ b/src/motif/bitmap.cpp @@ -120,15 +120,10 @@ wxList wxBitmap::sm_handlers; wxBitmap::wxBitmap() { m_refData = NULL; - - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } wxBitmap::~wxBitmap() { - if (wxTheBitmapList) - wxTheBitmapList->DeleteObject(this); } wxBitmap::wxBitmap(const char bits[], int width, int height, int depth) @@ -136,33 +131,21 @@ wxBitmap::wxBitmap(const char bits[], int width, int height, int depth) m_refData = new wxBitmapRefData; (void) Create((void*) bits, wxBITMAP_TYPE_XBM_DATA, width, height, depth); - - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap(int w, int h, int d) { (void)Create(w, h, d); - - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap(void *data, long type, int width, int height, int depth) { (void) Create(data, type, width, height, depth); - - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap(const wxString& filename, long type) { LoadFile(filename, (int)type); - - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } // Create from XPM data @@ -1256,8 +1239,6 @@ bool wxBitmap::CreateFromImage( const wxImage& image, int depth ) wxCHECK_MSG( depth == -1, FALSE, wxT("invalid bitmap depth") ) m_refData = new wxBitmapRefData(); - - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); int width = image.GetWidth(); int height = image.GetHeight(); diff --git a/src/motif/brush.cpp b/src/motif/brush.cpp index a09564e955..685b376427 100644 --- a/src/motif/brush.cpp +++ b/src/motif/brush.cpp @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: brush.cpp +// Name: src/motif/brush.cpp // Purpose: wxBrush // Author: Julian Smart // Modified by: // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -38,40 +38,30 @@ wxBrushRefData::~wxBrushRefData() // Brushes wxBrush::wxBrush() { - if ( wxTheBrushList ) - wxTheBrushList->AddBrush(this); } wxBrush::~wxBrush() { - if ( wxTheBrushList ) - wxTheBrushList->RemoveBrush(this); } wxBrush::wxBrush(const wxColour& col, int Style) { m_refData = new wxBrushRefData; - + M_BRUSHDATA->m_colour = col; M_BRUSHDATA->m_style = Style; - + RealizeResource(); - - if ( wxTheBrushList ) - wxTheBrushList->AddBrush(this); } wxBrush::wxBrush(const wxBitmap& stipple) { m_refData = new wxBrushRefData; - + M_BRUSHDATA->m_style = wxSTIPPLE; M_BRUSHDATA->m_stipple = stipple; - + RealizeResource(); - - if ( wxTheBrushList ) - wxTheBrushList->AddBrush(this); } void wxBrush::Unshare() @@ -92,36 +82,36 @@ void wxBrush::Unshare() void wxBrush::SetColour(const wxColour& col) { Unshare(); - + M_BRUSHDATA->m_colour = col; - + RealizeResource(); } void wxBrush::SetColour(unsigned char r, unsigned char g, unsigned char b) { Unshare(); - + M_BRUSHDATA->m_colour.Set(r, g, b); - + RealizeResource(); } void wxBrush::SetStyle(int Style) { Unshare(); - + M_BRUSHDATA->m_style = Style; - + RealizeResource(); } void wxBrush::SetStipple(const wxBitmap& Stipple) { Unshare(); - + M_BRUSHDATA->m_stipple = Stipple; - + RealizeResource(); } diff --git a/src/motif/font.cpp b/src/motif/font.cpp index c5d72cd94d..a032dd8775 100644 --- a/src/motif/font.cpp +++ b/src/motif/font.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: font.cpp +// Name: src/motif/font.cpp // Purpose: wxFont class // Author: Julian Smart // Modified by: @@ -196,8 +196,6 @@ wxFont::wxFont(const wxNativeFontInfo& info) void wxFont::Init() { - if ( wxTheFontList ) - wxTheFontList->Append(this); } bool wxFont::Create(int pointSize, @@ -219,8 +217,6 @@ bool wxFont::Create(int pointSize, wxFont::~wxFont() { - if ( wxTheFontList ) - wxTheFontList->DeleteObject(this); } // ---------------------------------------------------------------------------- @@ -412,3 +408,4 @@ WXFontList wxFont::GetFontList(double scale, WXDisplay* display) const return (f ? f->m_fontList : (WXFontList) 0); } + diff --git a/src/motif/pen.cpp b/src/motif/pen.cpp index 3163d410e4..4bc2b0bd89 100644 --- a/src/motif/pen.cpp +++ b/src/motif/pen.cpp @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: pen.cpp +// Name: src/motif/pen.cpp // Purpose: wxPen // Author: Julian Smart // Modified by: // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -48,21 +48,17 @@ wxPenRefData::~wxPenRefData() wxPen::wxPen() { - if ( wxThePenList ) - wxThePenList->AddPen(this); } wxPen::~wxPen() { - if (wxThePenList) - wxThePenList->RemovePen(this); } // Should implement Create wxPen::wxPen(const wxColour& col, int Width, int Style) { m_refData = new wxPenRefData; - + M_PENDATA->m_colour = col; M_PENDATA->m_width = Width; M_PENDATA->m_style = Style; @@ -70,17 +66,14 @@ wxPen::wxPen(const wxColour& col, int Width, int Style) M_PENDATA->m_cap = wxCAP_ROUND ; M_PENDATA->m_nbDash = 0 ; M_PENDATA->m_dash = (wxMOTIFDash*)NULL; - + RealizeResource(); - - if (wxThePenList) - wxThePenList->AddPen(this); } wxPen::wxPen(const wxBitmap& stipple, int Width) { m_refData = new wxPenRefData; - + M_PENDATA->m_stipple = stipple; M_PENDATA->m_width = Width; M_PENDATA->m_style = wxSTIPPLE; @@ -88,11 +81,8 @@ wxPen::wxPen(const wxBitmap& stipple, int Width) M_PENDATA->m_cap = wxCAP_ROUND ; M_PENDATA->m_nbDash = 0 ; M_PENDATA->m_dash = (wxMOTIFDash*)NULL; - + RealizeResource(); - - if ( wxThePenList ) - wxThePenList->AddPen(this); } void wxPen::Unshare() @@ -113,74 +103,74 @@ void wxPen::Unshare() void wxPen::SetColour(const wxColour& col) { Unshare(); - + M_PENDATA->m_colour = col; - + RealizeResource(); } void wxPen::SetColour(unsigned char r, unsigned char g, unsigned char b) { Unshare(); - + M_PENDATA->m_colour.Set(r, g, b); - + RealizeResource(); } void wxPen::SetWidth(int Width) { Unshare(); - + M_PENDATA->m_width = Width; - + RealizeResource(); } void wxPen::SetStyle(int Style) { Unshare(); - + M_PENDATA->m_style = Style; - + RealizeResource(); } void wxPen::SetStipple(const wxBitmap& Stipple) { Unshare(); - + M_PENDATA->m_stipple = Stipple; M_PENDATA->m_style = wxSTIPPLE; - + RealizeResource(); } void wxPen::SetDashes(int nb_dashes, const wxDash *Dash) { Unshare(); - + M_PENDATA->m_nbDash = nb_dashes; M_PENDATA->m_dash = (wxMOTIFDash *)Dash; - + RealizeResource(); } void wxPen::SetJoin(int Join) { Unshare(); - + M_PENDATA->m_join = Join; - + RealizeResource(); } void wxPen::SetCap(int Cap) { Unshare(); - + M_PENDATA->m_cap = Cap; - + RealizeResource(); } diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index c4b2b8bed5..717fc89c3e 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -107,8 +107,6 @@ void wxBitmap::Init() { // m_refData = NULL; done in the base class ctor - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } #ifdef __WIN32__ @@ -222,8 +220,6 @@ bool wxBitmap::CopyFromIcon(const wxIcon& icon) wxBitmap::~wxBitmap() { - if (wxTheBitmapList) - wxTheBitmapList->DeleteObject(this); } wxBitmap::wxBitmap(const char bits[], int width, int height, int depth) @@ -616,8 +612,6 @@ bool wxBitmap::CreateFromImage( const wxImage& image, int depth ) GetBitmapData()->SetOk(); #endif // WXWIN_COMPATIBILITY_2 - if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); - return TRUE; #endif } diff --git a/src/msw/brush.cpp b/src/msw/brush.cpp index 83f9652783..66206940e6 100644 --- a/src/msw/brush.cpp +++ b/src/msw/brush.cpp @@ -58,14 +58,10 @@ wxBrushRefData::~wxBrushRefData(void) // Brushes wxBrush::wxBrush(void) { - if ( wxTheBrushList ) - wxTheBrushList->AddBrush(this); } wxBrush::~wxBrush() { - if (wxTheBrushList) - wxTheBrushList->RemoveBrush(this); } wxBrush::wxBrush(const wxColour& col, int Style) @@ -78,8 +74,6 @@ wxBrush::wxBrush(const wxColour& col, int Style) RealizeResource(); - if ( wxTheBrushList ) - wxTheBrushList->AddBrush(this); } wxBrush::wxBrush(const wxBitmap& stipple) @@ -96,8 +90,6 @@ wxBrush::wxBrush(const wxBitmap& stipple) RealizeResource(); - if ( wxTheBrushList ) - wxTheBrushList->AddBrush(this); } bool wxBrush::RealizeResource(void) diff --git a/src/msw/font.cpp b/src/msw/font.cpp index 1800a135c0..2ab0fbb804 100644 --- a/src/msw/font.cpp +++ b/src/msw/font.cpp @@ -370,8 +370,6 @@ wxString wxNativeFontInfo::ToString() const void wxFont::Init() { - if ( wxTheFontList ) - wxTheFontList->Append(this); } bool wxFont::Create(const wxNativeFontInfo& info, WXHFONT hFont) @@ -420,8 +418,6 @@ bool wxFont::Create(int pointSize, wxFont::~wxFont() { - if ( wxTheFontList ) - wxTheFontList->DeleteObject(this); } // ---------------------------------------------------------------------------- diff --git a/src/msw/pen.cpp b/src/msw/pen.cpp index e15f066eda..599d747603 100644 --- a/src/msw/pen.cpp +++ b/src/msw/pen.cpp @@ -67,14 +67,10 @@ wxPenRefData::~wxPenRefData() wxPen::wxPen() { - if (wxThePenList) - wxThePenList->AddPen(this); } wxPen::~wxPen() { - if (wxThePenList) - wxThePenList->RemovePen(this); } // Should implement Create @@ -117,8 +113,6 @@ wxPen::wxPen(const wxColour& col, int Width, int Style) #endif RealizeResource(); - if ( wxThePenList ) - wxThePenList->AddPen(this); } wxPen::wxPen(const wxBitmap& stipple, int Width) @@ -137,8 +131,6 @@ wxPen::wxPen(const wxBitmap& stipple, int Width) RealizeResource(); - if (wxThePenList) - wxThePenList->AddPen(this); } bool wxPen::RealizeResource() -- 2.45.2