-void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
-{
- wxCHECK_RET( m_widget != NULL, _T("invalid button") );
-
- if (!m_bitmap.Ok()) return;
- m_bitmap = bitmap;
-
- SetBitmap();
+ GtkButton *bin = GTK_BUTTON(m_widget);
+ if (bin->child == NULL)
+ {
+ // initial bitmap
+ GtkWidget *pixmap = gtk_pixmap_new(the_one.GetPixmap(), mask);
+ gtk_widget_show(pixmap);
+ gtk_container_add(GTK_CONTAINER(m_widget), pixmap);
+ }
+ else
+ { // subsequent bitmaps
+ GtkPixmap *g_pixmap = GTK_PIXMAP(bin->child);
+ gtk_pixmap_set(g_pixmap, the_one.GetPixmap(), mask);
+ }