]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/bmpbuttn.cpp
create hatch bitmaps on demand, and dispose of them at termination
[wxWidgets.git] / src / gtk / bmpbuttn.cpp
index 8a36503dbc16e405ae58f6e60c9256d64867ab17..2954d03cf7a89046446712744e2e9c257fe2f300 100644 (file)
@@ -40,7 +40,7 @@ static void gtk_bmpbutton_clicked_callback( GtkWidget *WXUNUSED(widget), wxBitma
 
     wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
     event.SetEventObject(button);
-    button->GetEventHandler()->ProcessEvent(event);
+    button->HandleWindowEvent(event);
 }
 }
 
@@ -121,8 +121,6 @@ bool wxBitmapButton::Create( wxWindow *parent,
                              const wxValidator& validator,
                              const wxString &name )
 {
-    m_needParent = true;
-
     if (!PreCreation( parent, pos, size ) ||
         !CreateBase( parent, id, pos, size, style, validator, name ))
     {
@@ -196,19 +194,12 @@ void wxBitmapButton::OnSetBitmap()
     if (!the_one.Ok()) the_one = m_bmpNormal;
     if (!the_one.Ok()) return;
 
-    GdkBitmap *mask = (GdkBitmap *) NULL;
-    if (the_one.GetMask()) mask = the_one.GetMask()->GetBitmap();
-
     GtkWidget *child = GTK_BIN(m_widget)->child;
     if (child == NULL)
     {
         // initial bitmap
-        GtkWidget *pixmap;
-
-        if (the_one.HasPixbuf())
-            pixmap = gtk_image_new_from_pixbuf(the_one.GetPixbuf());
-        else
-            pixmap = gtk_image_new_from_pixmap(the_one.GetPixmap(), mask);
+        GtkWidget *pixmap = 
+            gtk_image_new_from_pixbuf(the_one.GetPixbuf());
 
         gtk_widget_show(pixmap);
         gtk_container_add(GTK_CONTAINER(m_widget), pixmap);
@@ -216,10 +207,7 @@ void wxBitmapButton::OnSetBitmap()
     else
     {   // subsequent bitmaps
         GtkImage *pixmap = GTK_IMAGE(child);
-        if (the_one.HasPixbuf())
-            gtk_image_set_from_pixbuf(pixmap, the_one.GetPixbuf());
-        else
-            gtk_image_set_from_pixmap(pixmap, the_one.GetPixmap(), mask);
+        gtk_image_set_from_pixbuf(pixmap, the_one.GetPixbuf());
     }
 }