summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Aurich <darkrain42@pidgin.im>2011-01-10 05:20:06 +0000
committerPaul Aurich <darkrain42@pidgin.im>2011-01-10 05:20:06 +0000
commit06605d6f18f64deb4e240e2642e5c2bed2b4e997 (patch)
tree9853f777a23960f3ec16cbf1b8839e70325eb879
parent227535bdd3336489fcc8003629e5632fd1befabb (diff)
parentdf0926891859f15c9eb76c093fa1d957ae16693a (diff)
downloadpidgin-06605d6f18f64deb4e240e2642e5c2bed2b4e997.tar.gz
merge of '38a6726f7fe1631e2c3f1f9517915e4886728dfe'
and 'c4038b151558b0cbbc824a9534b23ebdcf47f248'
-rw-r--r--COPYRIGHT1
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac2
-rw-r--r--libpurple/protocols/msn/error.c42
-rw-r--r--libpurple/protocols/novell/novell.c15
-rw-r--r--libpurple/protocols/zephyr/zephyr.c26
6 files changed, 43 insertions, 47 deletions
diff --git a/COPYRIGHT b/COPYRIGHT
index 6708a04b38..d37725dcdc 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -81,6 +81,7 @@ Guillaume Brunerie
Norbert Buchmuller
Johannes Buchner
Sean Burke
+Gabriel Burt
Thomas Butter
Trevor Caira
Andrea Canciani
diff --git a/ChangeLog b/ChangeLog
index 94bdca7aa5..7bf5e5d9f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,10 @@ version 2.7.10 (??/??/????):
(#12638)
* Added AddTrust External Root CA. (#11554)
+ Groupwise:
+ * Don't show two windows when using "Get Info" on a buddy. (Gabriel Burt;
+ Novell, Inc.) (#13108)
+
IRC:
* Don't send ISON messages longer than 512 bytes. (Jeffrey Honig) (#9692)
diff --git a/configure.ac b/configure.ac
index b5d499f4f0..078e3bd907 100644
--- a/configure.ac
+++ b/configure.ac
@@ -329,7 +329,7 @@ AM_CONDITIONAL(INSTALL_I18N, test "x$enable_i18n" = "xyes")
dnl #######################################################################
dnl # Check for GLib 2.12 (required)
dnl #######################################################################
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.12.0 gio-2.0 gobject-2.0 gmodule-2.0 gthread-2.0], , [
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.12.0 gobject-2.0 gmodule-2.0 gthread-2.0], , [
AC_MSG_RESULT(no)
AC_MSG_ERROR([
diff --git a/libpurple/protocols/msn/error.c b/libpurple/protocols/msn/error.c
index b89dc1eee2..68690ef384 100644
--- a/libpurple/protocols/msn/error.c
+++ b/libpurple/protocols/msn/error.c
@@ -31,7 +31,7 @@
typedef struct
{
- PurpleConnection *gc;
+ MsnSession *session;
char *who;
char *group;
gboolean add;
@@ -293,9 +293,9 @@ msn_complete_sync_issue(MsnAddRemData *data)
group = purple_find_group(data->group);
if (group != NULL)
- buddy = purple_find_buddy_in_group(purple_connection_get_account(data->gc), data->who, group);
+ buddy = purple_find_buddy_in_group(data->session->account, data->who, group);
else
- buddy = purple_find_buddy(purple_connection_get_account(data->gc), data->who);
+ buddy = purple_find_buddy(data->session->account, data->who);
if (buddy != NULL)
purple_blist_remove_buddy(buddy);
@@ -309,14 +309,9 @@ msn_add_cb(MsnAddRemData *data)
/* this *should* be necessary !! */
msn_complete_sync_issue(data);
#endif
+ MsnUserList *userlist = data->session->userlist;
- if (g_list_find(purple_connections_get_all(), data->gc) != NULL)
- {
- MsnSession *session = data->gc->proto_data;
- MsnUserList *userlist = session->userlist;
-
- msn_userlist_add_buddy(userlist, data->who, data->group);
- }
+ msn_userlist_add_buddy(userlist, data->who, data->group);
g_free(data->group);
g_free(data->who);
@@ -326,18 +321,14 @@ msn_add_cb(MsnAddRemData *data)
static void
msn_rem_cb(MsnAddRemData *data)
{
+ MsnUserList *userlist = data->session->userlist;
msn_complete_sync_issue(data);
- if (g_list_find(purple_connections_get_all(), data->gc) != NULL)
- {
- MsnSession *session = data->gc->proto_data;
- MsnUserList *userlist = session->userlist;
-
- if (data->group == NULL) {
- msn_userlist_rem_buddy_from_list(userlist, data->who, MSN_LIST_FL);
- } else {
- g_free(data->group);
- }
+
+ if (data->group == NULL) {
+ msn_userlist_rem_buddy_from_list(userlist, data->who, MSN_LIST_FL);
+ } else {
+ g_free(data->group);
}
g_free(data->who);
@@ -356,10 +347,10 @@ msn_error_sync_issue(MsnSession *session, const char *passport,
account = session->account;
gc = purple_account_get_connection(account);
- data = g_new0(MsnAddRemData, 1);
- data->who = g_strdup(passport);
- data->group = g_strdup(group_name);
- data->gc = gc;
+ data = g_new0(MsnAddRemData, 1);
+ data->who = g_strdup(passport);
+ data->group = g_strdup(group_name);
+ data->session = session;
msg = g_strdup_printf(_("Buddy list synchronization issue in %s (%s)"),
purple_account_get_username(account),
@@ -382,7 +373,7 @@ msn_error_sync_issue(MsnSession *session, const char *passport,
}
purple_request_action(gc, NULL, msg, reason, PURPLE_DEFAULT_ACTION_NONE,
- purple_connection_get_account(gc), data->who, NULL,
+ account, data->who, NULL,
data, 2,
_("Yes"), G_CALLBACK(msn_add_cb),
_("No"), G_CALLBACK(msn_rem_cb));
@@ -390,3 +381,4 @@ msn_error_sync_issue(MsnSession *session, const char *passport,
g_free(reason);
g_free(msg);
}
+
diff --git a/libpurple/protocols/novell/novell.c b/libpurple/protocols/novell/novell.c
index a6de04bec8..9cd4329a66 100644
--- a/libpurple/protocols/novell/novell.c
+++ b/libpurple/protocols/novell/novell.c
@@ -74,7 +74,7 @@ static void
_sync_privacy_lists(NMUser *user);
static void
-_show_info(PurpleConnection * gc, NMUserRecord * user_record);
+_show_info(PurpleConnection * gc, NMUserRecord * user_record, char * name);
const char *
_get_conference_name(int id);
@@ -705,7 +705,7 @@ _get_details_resp_show_info(NMUser * user, NMERR_T ret_code,
user_record = (NMUserRecord *) resp_data;
if (user_record) {
_show_info(purple_account_get_connection(user->client_data),
- user_record);
+ user_record, g_strdup(name));
}
} else {
gc = purple_account_get_connection(user->client_data);
@@ -1505,7 +1505,7 @@ _map_property_tag(const char *tag)
/* Display a dialog box showing the properties for the given user record */
static void
-_show_info(PurpleConnection * gc, NMUserRecord * user_record)
+_show_info(PurpleConnection * gc, NMUserRecord * user_record, char * name)
{
PurpleNotifyUserInfo *user_info = purple_notify_user_info_new();
int count, i;
@@ -1544,9 +1544,10 @@ _show_info(PurpleConnection * gc, NMUserRecord * user_record)
}
}
- purple_notify_userinfo(gc, nm_user_record_get_userid(user_record),
- user_info, NULL, NULL);
+ purple_notify_userinfo(gc, name, user_info, NULL, NULL);
purple_notify_user_info_destroy(user_info);
+
+ g_free(name);
}
/* Send a join conference, the first item in the parms list is the
@@ -2912,11 +2913,9 @@ novell_get_info(PurpleConnection * gc, const char *name)
user_record = nm_find_user_record(user, name);
if (user_record) {
-
- _show_info(gc, user_record);
+ _show_info(gc, user_record, g_strdup(name));
} else {
-
rc = nm_send_get_details(user, name,
_get_details_resp_show_info, g_strdup(name));
diff --git a/libpurple/protocols/zephyr/zephyr.c b/libpurple/protocols/zephyr/zephyr.c
index 5dc47f736c..700062bb00 100644
--- a/libpurple/protocols/zephyr/zephyr.c
+++ b/libpurple/protocols/zephyr/zephyr.c
@@ -870,12 +870,12 @@ static void handle_message(PurpleConnection *gc,ZNotice_t notice)
zephyr_triple *zt1, *zt2;
gchar *send_inst_utf8;
zephyr_account *zephyr = gc->proto_data;
- zt1 = new_triple(gc->proto_data,notice.z_class, notice.z_class_inst, notice.z_recipient);
- zt2 = find_sub_by_triple(gc->proto_data,zt1);
+ zt1 = new_triple(zephyr,notice.z_class, notice.z_class_inst, notice.z_recipient);
+ zt2 = find_sub_by_triple(zephyr,zt1);
if (!zt2) {
/* This is a server supplied subscription */
zephyr->subscrips = g_slist_append(zephyr->subscrips, new_triple(zephyr,zt1->class,zt1->instance,zt1->recipient));
- zt2 = find_sub_by_triple(gc->proto_data,zt1);
+ zt2 = find_sub_by_triple(zephyr,zt1);
}
if (!zt2->open) {
@@ -1499,6 +1499,7 @@ static void process_zsubs(zephyr_account *zephyr)
static void process_anyone(PurpleConnection *gc)
{
+ zephyr_account *zephyr = purple_connection_get_protocol_data(gc);
FILE *fd;
gchar buff[BUFSIZ], *filename;
PurpleGroup *g;
@@ -1515,7 +1516,7 @@ static void process_anyone(PurpleConnection *gc)
strip_comments(buff);
if (buff[0]) {
if (!(b = purple_find_buddy(gc->account, buff))) {
- char *stripped_user = zephyr_strip_local_realm(gc->proto_data,buff);
+ char *stripped_user = zephyr_strip_local_realm(zephyr,buff);
purple_debug_info("zephyr","stripped_user %s\n",stripped_user);
if (!(b = purple_find_buddy(gc->account,stripped_user))){
b = purple_buddy_new(gc->account, stripped_user, NULL);
@@ -1924,13 +1925,12 @@ static void write_zsubs(zephyr_account *zephyr)
fclose(fd);
}
-static void write_anyone(PurpleConnection *gc)
+static void write_anyone(zephyr_account *zephyr)
{
GSList *buddies;
char *fname;
FILE *fd;
PurpleAccount *account;
- zephyr_account* zephyr = gc->proto_data;
fname = g_strdup_printf("%s/.anyone", purple_home_dir());
fd = g_fopen(fname, "w");
if (!fd) {
@@ -1938,7 +1938,7 @@ static void write_anyone(PurpleConnection *gc)
return;
}
- account = purple_connection_get_account(gc);
+ account = zephyr->account;
for (buddies = purple_find_buddies(account, NULL); buddies;
buddies = g_slist_delete_link(buddies, buddies)) {
PurpleBuddy *b = buddies->data;
@@ -1966,10 +1966,10 @@ static void zephyr_close(PurpleConnection * gc)
g_list_free(zephyr->pending_zloc_names);
if (purple_account_get_bool(gc->account, "write_anyone", FALSE))
- write_anyone(gc);
+ write_anyone(zephyr);
if (purple_account_get_bool(gc->account, "write_zsubs", FALSE))
- write_zsubs(gc->proto_data);
+ write_zsubs(zephyr);
s = zephyr->subscrips;
while (s) {
@@ -2032,7 +2032,7 @@ static int zephyr_chat_send(PurpleConnection * gc, int id, const char *im, Purpl
char *recipient;
zephyr_account *zephyr = gc->proto_data;
- zt = find_sub_by_id(gc->proto_data,id);
+ zt = find_sub_by_id(zephyr,id);
if (!zt)
/* this should never happen. */
return -EINVAL;
@@ -2432,8 +2432,8 @@ static void zephyr_join_chat(PurpleConnection * gc, GHashTable * data)
if (!g_ascii_strcasecmp(recip, "%me%"))
recip = zephyr->username;
- zt1 = new_triple(gc->proto_data,classname, instname, recip);
- zt2 = find_sub_by_triple(gc->proto_data,zt1);
+ zt1 = new_triple(zephyr,classname, instname, recip);
+ zt2 = find_sub_by_triple(zephyr,zt1);
if (zt2) {
free_triple(zt1);
if (!zt2->open) {
@@ -2563,7 +2563,7 @@ static void zephyr_chat_set_topic(PurpleConnection * gc, int id, const char *top
zephyr_account* zephyr = gc->proto_data;
char *sender = (char *)zephyr->username;
- zt = find_sub_by_id(gc->proto_data,id);
+ zt = find_sub_by_id(zephyr,id);
/* find_sub_by_id can return NULL */
if (!zt)
return;