# HG changeset patch # User Etan Reisner # Date 1248219949 0 # Node ID 429fce11f244aaf3f9ad72282685e6356dd70e65 # Parent 3fc434ac0c57e8b47d3eb9b0a80ea14df68d5992# Parent 22dd196b9a0c551ff1644c9f510469322d7f9d77 merge of '5a2bb37da0d5add24e122a13a827437ecae61ad3' and 'c50b70f39d25c72517b6b9125278c4446137057a' diff -r 3fc434ac0c57 -r 429fce11f244 libpurple/blist.c --- a/libpurple/blist.c Tue Jul 21 17:10:29 2009 +0000 +++ b/libpurple/blist.c Tue Jul 21 23:45:49 2009 +0000 @@ -1299,8 +1299,8 @@ PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); PurpleChat *chat; - g_return_val_if_fail(account != NULL, FALSE); - g_return_val_if_fail(components != NULL, FALSE); + g_return_val_if_fail(account != NULL, NULL); + g_return_val_if_fail(components != NULL, NULL); chat = g_new0(PurpleChat, 1); chat->account = account; diff -r 3fc434ac0c57 -r 429fce11f244 libpurple/win32/targets.mak --- a/libpurple/win32/targets.mak Tue Jul 21 17:10:29 2009 +0000 +++ b/libpurple/win32/targets.mak Tue Jul 21 23:45:49 2009 +0000 @@ -36,7 +36,7 @@ $(PIDGIN_INSTALL_DIR): mkdir -p $(PIDGIN_INSTALL_DIR) -$(PIDGIN_INSTALL_PERLMOD_DIR): +$(PIDGIN_INSTALL_PERL_DIR): mkdir -p $(PIDGIN_INSTALL_PERL_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR): diff -r 3fc434ac0c57 -r 429fce11f244 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Tue Jul 21 17:10:29 2009 +0000 +++ b/pidgin/gtkblist.c Tue Jul 21 23:45:49 2009 +0000 @@ -6980,12 +6980,9 @@ static void add_chat_cb(GtkWidget *w, PidginAddChatData *data) { - GHashTable *components; GList *tmp; PurpleChat *chat; - PurpleGroup *group; - const char *group_name; - const char *value; + GHashTable *components; components = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); @@ -7001,7 +6998,8 @@ } else { - value = gtk_entry_get_text(tmp->data); + const char *value = gtk_entry_get_text(tmp->data); + if (*value != '\0') g_hash_table_replace(components, g_strdup(g_object_get_data(tmp->data, "identifier")), @@ -7010,28 +7008,31 @@ } chat = purple_chat_new(data->chat_data.rq_data.account, - gtk_entry_get_text(GTK_ENTRY(data->alias_entry)), - components); - - group_name = pidgin_text_combo_box_entry_get_text(data->group_combo); - - group = NULL; - if ((group_name != NULL) && (*group_name != '\0') && ((group = purple_find_group(group_name)) == NULL)) - { - group = purple_group_new(group_name); - purple_blist_add_group(group, NULL); - } - - if (chat != NULL) - { + gtk_entry_get_text(GTK_ENTRY(data->alias_entry)), + components); + + if (chat != NULL) { + PurpleGroup *group; + const char *group_name; + + group_name = pidgin_text_combo_box_entry_get_text(data->group_combo); + + group = NULL; + if ((group_name != NULL) && (*group_name != '\0') && + ((group = purple_find_group(group_name)) == NULL)) + { + group = purple_group_new(group_name); + purple_blist_add_group(group, NULL); + } + purple_blist_add_chat(chat, group, NULL); - } - - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->autojoin))) - purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-autojoin", TRUE); - - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->persistent))) - purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-persistent", TRUE); + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->autojoin))) + purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-autojoin", TRUE); + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->persistent))) + purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-persistent", TRUE); + } gtk_widget_destroy(data->chat_data.rq_data.window); g_free(data->chat_data.default_chat_name); diff -r 3fc434ac0c57 -r 429fce11f244 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Tue Jul 21 17:10:29 2009 +0000 +++ b/pidgin/gtkconv.c Tue Jul 21 23:45:49 2009 +0000 @@ -959,6 +959,12 @@ } static void +menu_join_chat_cb(gpointer data, guint action, GtkWidget *widget) +{ + pidgin_blist_joinchat_show(); +} + +static void savelog_writefile_cb(void *user_data, const char *filename) { PurpleConversation *conv = (PurpleConversation *)user_data; @@ -3133,6 +3139,8 @@ { N_("/Conversation/New Instant _Message..."), "M", menu_new_conv_cb, 0, "", PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW }, + { N_("/Conversation/Join a _Chat..."), "C", menu_join_chat_cb, + 0, "", PIDGIN_STOCK_CHAT }, { "/Conversation/sep0", NULL, NULL, 0, "", NULL },