diff options
Diffstat (limited to 'net-im/gaim/files/gaim-0.81cvs-chatbutton-crashfix.patch')
-rw-r--r-- | net-im/gaim/files/gaim-0.81cvs-chatbutton-crashfix.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/net-im/gaim/files/gaim-0.81cvs-chatbutton-crashfix.patch b/net-im/gaim/files/gaim-0.81cvs-chatbutton-crashfix.patch new file mode 100644 index 000000000000..d09f734e7d11 --- /dev/null +++ b/net-im/gaim/files/gaim-0.81cvs-chatbutton-crashfix.patch @@ -0,0 +1,58 @@ +Index: src/gtkblist.c +=================================================================== +RCS file: /cvsroot/gaim/gaim/src/gtkblist.c,v +retrieving revision 1.136 +diff -u -p -u -r1.136 gtkblist.c +--- src/gtkblist.c 18 Jul 2004 18:21:26 -0000 1.136 ++++ src/gtkblist.c 21 Jul 2004 16:37:13 -0000 +@@ -2937,6 +2937,8 @@ sign_on_off_cb(GaimConnection *gc, GaimB + + widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Privacy")); + gtk_widget_set_sensitive(widget, gaim_gtk_privacy_is_showable()); ++ ++ gaim_gtk_blist_update_toolbar(); + } + + +@@ -3209,6 +3211,7 @@ static void gaim_gtk_blist_show(GaimBudd + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(gtk_blist_button_im_cb), + gtkblist->treeview); + gtk_tooltips_set_tip(GTK_TOOLTIPS(gtkblist->tooltips), button, _("Send a message to the selected buddy"), NULL); ++ g_object_set_data(G_OBJECT(button), "button_name", "im"); + gtk_widget_show(button); + + button = gaim_pixbuf_button_from_stock(_("Get _Info"), GAIM_STOCK_INFO, GAIM_BUTTON_VERTICAL); +@@ -3218,6 +3221,7 @@ static void gaim_gtk_blist_show(GaimBudd + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(gtk_blist_button_info_cb), + gtkblist->treeview); + gtk_tooltips_set_tip(GTK_TOOLTIPS(gtkblist->tooltips), button, _("Get information on the selected buddy"), NULL); ++ g_object_set_data(G_OBJECT(button), "button_name", "info"); + gtk_widget_show(button); + + button = gaim_pixbuf_button_from_stock(_("_Chat"), GAIM_STOCK_CHAT, GAIM_BUTTON_VERTICAL); +@@ -3226,6 +3230,8 @@ static void gaim_gtk_blist_show(GaimBudd + gtk_size_group_add_widget(sg, button); + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(gtk_blist_button_chat_cb), gtkblist->treeview); + gtk_tooltips_set_tip(GTK_TOOLTIPS(gtkblist->tooltips), button, _("Join a chat room"), NULL); ++ gtk_widget_set_sensitive(button, gaim_gtk_blist_joinchat_is_showable()); ++ g_object_set_data(G_OBJECT(button), "button_name", "chat"); + gtk_widget_show(button); + + button = gaim_pixbuf_button_from_stock(_("_Away"), GAIM_STOCK_ICON_AWAY, GAIM_BUTTON_VERTICAL); +@@ -3234,6 +3240,7 @@ static void gaim_gtk_blist_show(GaimBudd + gtk_size_group_add_widget(sg, button); + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(gtk_blist_button_away_cb), NULL); + gtk_tooltips_set_tip(GTK_TOOLTIPS(gtkblist->tooltips), button, _("Set an away message"), NULL); ++ g_object_set_data(G_OBJECT(button), "button_name", "away"); + gtk_widget_show(button); + + /* this will show the right image/label widgets for us */ +@@ -3425,6 +3432,8 @@ gaim_gtk_blist_update_toolbar_icons (Gtk + gtk_widget_show(widget); + } + else if (GTK_IS_CONTAINER(widget)) { ++ if (GTK_IS_BUTTON(widget) && !strcmp(g_object_get_data(G_OBJECT(widget), "button_name"), "chat")) ++ gtk_widget_set_sensitive(widget, gaim_gtk_blist_joinchat_is_showable()); + gtk_container_foreach(GTK_CONTAINER(widget), + gaim_gtk_blist_update_toolbar_icons, NULL); + } |