summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch58
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);
+ }