X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fec19ea9ff590f401ad17b1e2109b1e95d2f5e91..cc77c86d1e71bae248f59f83904971d83e78c1a5:/src/motif/bitmap.cpp diff --git a/src/motif/bitmap.cpp b/src/motif/bitmap.cpp index ec2dd2d847..fe00dc46fa 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) +wxBitmap::wxBitmap(const wxString& filename, int type) { LoadFile(filename, (int)type); - - if ( wxTheBitmapList ) - wxTheBitmapList->AddBitmap(this); } // Create from XPM data @@ -184,6 +167,12 @@ bool wxBitmap::CreateFromXpm(const char **bits) return Create(bits, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0); } +bool wxBitmap::CopyFromIcon(const wxIcon& icon) +{ + *this = icon; + return TRUE; +} + bool wxBitmap::Create(int w, int h, int d) { UnRef(); @@ -240,7 +229,7 @@ bool wxBitmap::Create(void *data, long type, int width, int height, int depth) wxBitmapHandler *handler = FindHandler(type); if ( handler == NULL ) { - wxLogWarning("no data bitmap handler for type %d defined.", type); + wxLogWarning("no data bitmap handler for type %ld defined.", type); return FALSE; } @@ -840,6 +829,8 @@ void wxBitmap::InitStandardHandlers() WXPixmap wxBitmap::GetLabelPixmap (WXWidget w) { + if (!M_BITMAPDATA) + return (WXPixmap)NULL; if (M_BITMAPDATA->m_image == (WXPixmap) 0) return M_BITMAPDATA->m_pixmap; @@ -916,7 +907,9 @@ WXPixmap wxBitmap::GetArmPixmap (WXWidget w) WXPixmap wxBitmap::GetInsensPixmap (WXWidget w) { Display *dpy = (Display*) M_BITMAPDATA->m_display; - + + if (!M_BITMAPDATA) + return (WXPixmap)NULL; if (M_BITMAPDATA->m_insensPixmap) return M_BITMAPDATA->m_insensPixmap; @@ -1256,8 +1249,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();