# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1351680505 0 # Node ID 6b90c7e9e520d1f3e03b1ad742034de6bd6dd3bb # Parent dc343df88ad85f250afefed3321c576fdd080de4 Attempt at fixing GTK 2.x issue with dw_window_set_bitmap() when bitmap button is created from data. Also removed dead code on 3.x. diff -r dc343df88ad8 -r 6b90c7e9e520 gtk/dw.c --- a/gtk/dw.c Tue Oct 30 14:40:48 2012 +0000 +++ b/gtk/dw.c Wed Oct 31 10:48:25 2012 +0000 @@ -4602,38 +4602,28 @@ */ HWND dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename) { - GtkWidget *bitmap; - GtkWidget *box; + GtkWidget *tmp; GtkWidget *button; int _locked_by_me = FALSE; DW_MUTEX_LOCK; - - /* Create box for image and label */ - box = gtk_hbox_new (FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (box), 2); - /* Create a new button */ - button = gtk_button_new(); + tmp = gtk_button_new(); /* Now on to the image stuff */ bitmap = dw_bitmap_new(id); if ( bitmap ) { dw_window_set_bitmap( bitmap, 0, filename ); - /* Pack the image into the box */ - gtk_box_pack_start( GTK_BOX(box), bitmap, TRUE, FALSE, 3 ); - gtk_widget_show( bitmap ); - gtk_object_set_data(GTK_OBJECT(button), "_dw_bitmap", bitmap); + gtk_container_add (GTK_CONTAINER(tmp), bitmap); + gtk_object_set_data(GTK_OBJECT(tmp), "_dw_bitmap", bitmap); } /* Pack and show all our widgets */ - gtk_widget_show( box ); - gtk_container_add( GTK_CONTAINER(button), box ); - gtk_widget_show( button ); - _create_tooltip(button, text); - gtk_object_set_data( GTK_OBJECT(button), "_dw_id", GINT_TO_POINTER(id) ); - DW_MUTEX_UNLOCK; - return button; + gtk_widget_show(tmp); + _create_tooltip(tmp, text); + gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + DW_MUTEX_UNLOCK; + return tmp; } /* diff -r dc343df88ad8 -r 6b90c7e9e520 gtk3/dw.c --- a/gtk3/dw.c Tue Oct 30 14:40:48 2012 +0000 +++ b/gtk3/dw.c Wed Oct 31 10:48:25 2012 +0000 @@ -3916,41 +3916,29 @@ */ HWND dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename) { - GtkWidget *bitmap; - GtkWidget *box; + GtkWidget *tmp; GtkWidget *button; int _locked_by_me = FALSE; DW_MUTEX_LOCK; - - /* Create box for image and label */ - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - gtk_container_set_border_width (GTK_CONTAINER (box), 2); - /* Create a new button */ - button = gtk_button_new(); + tmp = gtk_button_new(); /* Now on to the image stuff */ bitmap = dw_bitmap_new(id); if(bitmap) { dw_window_set_bitmap( bitmap, 0, filename ); - /* Pack the image into the box */ - gtk_box_pack_start( GTK_BOX(box), bitmap, TRUE, FALSE, 3 ); - gtk_widget_show( bitmap ); - g_object_set_data(G_OBJECT(button), "_dw_bitmap", bitmap); - } - - /* Pack and show all our widgets */ - gtk_widget_show( box ); - gtk_container_add( GTK_CONTAINER(button), box ); - gtk_widget_show( button ); + gtk_container_add (GTK_CONTAINER(tmp), bitmap); + g_object_set_data(G_OBJECT(tmp), "_dw_bitmap", bitmap); + } + if(text) { - gtk_widget_set_tooltip_text(button, text); - } - g_object_set_data(G_OBJECT(button), "_dw_id", GINT_TO_POINTER(id)); - DW_MUTEX_UNLOCK; - return button; + gtk_widget_set_tooltip_text(tmp, text); + } + g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + DW_MUTEX_UNLOCK; + return tmp; } /*