diff options
-rw-r--r-- | COPYRIGHT | 1 | ||||
-rw-r--r-- | finch/gntui.c | 2 | ||||
-rw-r--r-- | libpurple/plugins/ssl/ssl-nss.c | 32 | ||||
-rw-r--r-- | libpurple/protocols/bonjour/bonjour.c | 4 | ||||
-rw-r--r-- | libpurple/protocols/jabber/auth.c | 35 | ||||
-rw-r--r-- | libpurple/protocols/jabber/chat.c | 26 | ||||
-rw-r--r-- | libpurple/protocols/jabber/si.c | 6 | ||||
-rw-r--r-- | libpurple/protocols/myspace/myspace.c | 17 | ||||
-rw-r--r-- | libpurple/protocols/oscar/oft.c | 13 | ||||
-rw-r--r-- | libpurple/protocols/oscar/peer.c | 19 | ||||
-rw-r--r-- | libpurple/protocols/simple/simple.c | 1 | ||||
-rw-r--r-- | libpurple/protocols/yahoo/yahoo.c | 2 | ||||
-rw-r--r-- | pidgin/gtkconv.c | 37 | ||||
-rw-r--r-- | pidgin/gtkimhtml.c | 2 | ||||
-rw-r--r-- | pidgin/gtkprefs.c | 6 | ||||
-rw-r--r-- | pidgin/gtksound.c | 16 | ||||
-rw-r--r-- | pidgin/win32/nsis/pidgin-installer.nsi | 16 | ||||
-rw-r--r-- | po/af.po | 2 | ||||
-rw-r--r-- | po/am.po | 2 | ||||
-rw-r--r-- | po/ar.po | 2 | ||||
-rw-r--r-- | po/az.po | 2 | ||||
-rw-r--r-- | po/bg.po | 2 | ||||
-rw-r--r-- | po/bn.po | 2 | ||||
-rw-r--r-- | po/bs.po | 2 | ||||
-rw-r--r-- | po/ca.po | 2 | ||||
-rw-r--r-- | po/ca@valencia.po | 2 | ||||
-rw-r--r-- | po/cs.po | 2 | ||||
-rw-r--r-- | po/da.po | 2 | ||||
-rw-r--r-- | po/de.po | 2 | ||||
-rw-r--r-- | po/dz.po | 2 | ||||
-rw-r--r-- | po/el.po | 2 | ||||
-rw-r--r-- | po/en_AU.po | 4 | ||||
-rw-r--r-- | po/en_CA.po | 4 | ||||
-rw-r--r-- | po/en_GB.po | 4 | ||||
-rw-r--r-- | po/eo.po | 2 | ||||
-rw-r--r-- | po/es.po | 2 | ||||
-rw-r--r-- | po/et.po | 2 | ||||
-rw-r--r-- | po/eu.po | 2 | ||||
-rw-r--r-- | po/fa.po | 2 | ||||
-rw-r--r-- | po/fi.po | 2 | ||||
-rw-r--r-- | po/fr.po | 2 | ||||
-rw-r--r-- | po/gl.po | 2 | ||||
-rw-r--r-- | po/gu.po | 2 | ||||
-rw-r--r-- | po/he.po | 2 | ||||
-rw-r--r-- | po/hi.po | 2 | ||||
-rw-r--r-- | po/hu.po | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | po/id.po | 2 | ||||
-rw-r--r-- | po/it.po | 2 | ||||
-rw-r--r-- | po/ja.po | 2 | ||||
-rw-r--r-- | po/ka.po | 2 | ||||
-rw-r--r-- | po/kn.po | 2 | ||||
-rw-r--r-- | po/ko.po | 2 | ||||
-rw-r--r-- | po/ku.po | 2 | ||||
-rw-r--r-- | po/lt.po | 2 | ||||
-rw-r--r-- | po/mk.po | 2 | ||||
-rw-r--r-- | po/my_MM.po | 4 | ||||
-rw-r--r-- | po/nb.po | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | po/ne.po | 2 | ||||
-rw-r--r-- | po/nl.po | 2 | ||||
-rw-r--r-- | po/nn.po | 2 | ||||
-rw-r--r-- | po/pa.po | 2 | ||||
-rw-r--r-- | po/pl.po | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | po/ps.po | 2 | ||||
-rw-r--r-- | po/pt.po | 2 | ||||
-rw-r--r-- | po/pt_BR.po | 2 | ||||
-rw-r--r-- | po/ro.po | 2 | ||||
-rw-r--r-- | po/ru.po | 2 | ||||
-rw-r--r-- | po/sk.po | 2 | ||||
-rw-r--r-- | po/sl.po | 2 | ||||
-rw-r--r-- | po/sq.po | 2 | ||||
-rw-r--r-- | po/sr.po | 2 | ||||
-rw-r--r-- | po/sr@Latn.po | 2 | ||||
-rw-r--r-- | po/sv.po | 2 | ||||
-rw-r--r-- | po/ta.po | 2 | ||||
-rw-r--r-- | po/te.po | 2 | ||||
-rw-r--r-- | po/th.po | 2 | ||||
-rw-r--r-- | po/tr.po | 2 | ||||
-rw-r--r-- | po/uk.po | 2 | ||||
-rw-r--r-- | po/vi.po | 2 | ||||
-rw-r--r-- | po/xh.po | 2 | ||||
-rw-r--r-- | po/zh_CN.po | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | po/zh_HK.po | 2 | ||||
-rw-r--r-- | po/zh_TW.po | 2 |
83 files changed, 244 insertions, 131 deletions
@@ -339,7 +339,6 @@ Dossy Shiobara Michael Shkutkov Ettore Simone John Silvestri -Ankit Singla Craig Slusher Alex Smith Brad Smith diff --git a/finch/gntui.c b/finch/gntui.c index 266815cfda..88732a39f1 100644 --- a/finch/gntui.c +++ b/finch/gntui.c @@ -91,8 +91,6 @@ void gnt_ui_init() gnt_register_action(_("Statuses"), finch_savedstatus_show_all); #ifdef STANDALONE - - finch_plugins_save_loaded(); } void gnt_ui_uninit() diff --git a/libpurple/plugins/ssl/ssl-nss.c b/libpurple/plugins/ssl/ssl-nss.c index 26e79cd60e..f4636c4e34 100644 --- a/libpurple/plugins/ssl/ssl-nss.c +++ b/libpurple/plugins/ssl/ssl-nss.c @@ -107,6 +107,20 @@ set_errno(int code) } } +static gchar *get_error_text() +{ + PRInt32 len = PR_GetErrorTextLength(); + gchar *ret = NULL; + + if (len > 0) { + ret = g_malloc(len + 1); + len = PR_GetErrorText(ret); + ret[len] = '\0'; + } + + return ret; +} + static void ssl_nss_init_nss(void) { @@ -220,11 +234,14 @@ ssl_nss_handshake_cb(gpointer data, int fd, PurpleInputCondition cond) * It seems to work because it'll eventually use the cached value */ if(SSL_ForceHandshake(nss_data->in) != SECSuccess) { + gchar *error_txt; set_errno(PR_GetError()); if (errno == EAGAIN || errno == EWOULDBLOCK) return; - purple_debug_error("nss", "Handshake failed %d\n", PR_GetError()); + error_txt = get_error_text(); + purple_debug_error("nss", "Handshake failed %s (%d)\n", error_txt ? error_txt : "", PR_GetError()); + g_free(error_txt); if (gsc->error_cb != NULL) gsc->error_cb(gsc, PURPLE_SSL_HANDSHAKE_FAILED, gsc->connect_cb_data); @@ -265,8 +282,11 @@ ssl_nss_connect(PurpleSslConnection *gsc) socket_opt.option = PR_SockOpt_Nonblocking; socket_opt.value.non_blocking = PR_TRUE; - if (PR_SetSocketOption(nss_data->fd, &socket_opt) != PR_SUCCESS) - purple_debug_warning("nss", "unable to set socket into non-blocking mode: %d\n", PR_GetError()); + if (PR_SetSocketOption(nss_data->fd, &socket_opt) != PR_SUCCESS) { + gchar *error_txt = get_error_text(); + purple_debug_warning("nss", "unable to set socket into non-blocking mode: %s (%d)\n", error_txt ? error_txt : "", PR_GetError()); + g_free(error_txt); + } nss_data->in = SSL_ImportFD(NULL, nss_data->fd); @@ -365,10 +385,12 @@ static GList * ssl_nss_peer_certs(PurpleSslConnection *gsc) { PurpleSslNssData *nss_data = PURPLE_SSL_NSS_DATA(gsc); - GList *chain = NULL; CERTCertificate *cert; +/* + GList *chain = NULL; void *pinArg; SECStatus status; +*/ /* TODO: this is a blind guess */ cert = SSL_PeerCertificate(nss_data->fd); @@ -487,6 +509,7 @@ x509_destroy_certificate(PurpleCertificate * crt) g_free(crt); } +#if 0 /** Determines whether one certificate has been issued and signed by another * * @param crt Certificate to check the signature of @@ -501,6 +524,7 @@ x509_certificate_signed_by(PurpleCertificate * crt, { return FALSE; } +#endif static GByteArray * x509_sha1sum(PurpleCertificate *crt) diff --git a/libpurple/protocols/bonjour/bonjour.c b/libpurple/protocols/bonjour/bonjour.c index 66b8c362ad..4ad1002798 100644 --- a/libpurple/protocols/bonjour/bonjour.c +++ b/libpurple/protocols/bonjour/bonjour.c @@ -592,8 +592,8 @@ initialize_default_account_values() fullname = info->pw_gecos; else if ((info != NULL) && (info->pw_name != NULL) && (info->pw_name[0] != '\0')) fullname = info->pw_name; - else if (((fullname = getlogin()) != NULL) && (fullname[0] != '\0')) - ; + else if (((fullname = getlogin()) != NULL) && (fullname[0] == '\0')) + fullname = NULL; #else /* The Win32 username lookup functions are synchronous so we do it in a thread */ g_thread_create(_win32_name_lookup_thread, NULL, FALSE, NULL); diff --git a/libpurple/protocols/jabber/auth.c b/libpurple/protocols/jabber/auth.c index 447bbaca35..25ab4ee1d9 100644 --- a/libpurple/protocols/jabber/auth.c +++ b/libpurple/protocols/jabber/auth.c @@ -203,8 +203,15 @@ static gboolean auth_pass_generic(JabberStream *js, PurpleRequestFields *fields) return TRUE; } -static void auth_pass_cb(JabberStream *js, PurpleRequestFields *fields) +static void auth_pass_cb(PurpleConnection *conn, PurpleRequestFields *fields) { + JabberStream *js; + + /* The password prompt dialog doesn't get disposed if the account disconnects */ + if (!PURPLE_CONNECTION_IS_VALID(conn)) + return; + + js = conn->proto_data; if (!auth_pass_generic(js, fields)) return; @@ -217,8 +224,16 @@ static void auth_pass_cb(JabberStream *js, PurpleRequestFields *fields) } static void -auth_old_pass_cb(JabberStream *js, PurpleRequestFields *fields) +auth_old_pass_cb(PurpleConnection *conn, PurpleRequestFields *fields) { + JabberStream *js; + + /* The password prompt dialog doesn't get disposed if the account disconnects */ + if (!PURPLE_CONNECTION_IS_VALID(conn)) + return; + + js = conn->proto_data; + if (!auth_pass_generic(js, fields)) return; @@ -228,9 +243,17 @@ auth_old_pass_cb(JabberStream *js, PurpleRequestFields *fields) static void -auth_no_pass_cb(JabberStream *js, PurpleRequestFields *fields) +auth_no_pass_cb(PurpleConnection *conn, PurpleRequestFields *fields) { - purple_connection_error(js->gc, _("Password is required to sign on.")); + JabberStream *js; + + /* The password prompt dialog doesn't get disposed if the account disconnects */ + if (!PURPLE_CONNECTION_IS_VALID(conn)) + return; + + js = conn->proto_data; + + purple_connection_error(conn, _("Password is required to sign on.")); } static void jabber_auth_start_cyrus(JabberStream *js) @@ -283,7 +306,7 @@ static void jabber_auth_start_cyrus(JabberStream *js) */ if (!purple_account_get_password(js->gc->account)) { - purple_account_request_password(js->gc->account, G_CALLBACK(auth_pass_cb), G_CALLBACK(auth_no_pass_cb), js); + purple_account_request_password(js->gc->account, G_CALLBACK(auth_pass_cb), G_CALLBACK(auth_no_pass_cb), js->gc); return; /* If we've got a password, but aren't sending @@ -597,7 +620,7 @@ void jabber_auth_start_old(JabberStream *js) */ if (!purple_account_get_password(js->gc->account)) { - purple_account_request_password(js->gc->account, G_CALLBACK(auth_old_pass_cb), G_CALLBACK(auth_no_pass_cb), js); + purple_account_request_password(js->gc->account, G_CALLBACK(auth_old_pass_cb), G_CALLBACK(auth_no_pass_cb), js->gc); return; } #endif diff --git a/libpurple/protocols/jabber/chat.c b/libpurple/protocols/jabber/chat.c index 26c18a42bd..737cc3837f 100644 --- a/libpurple/protocols/jabber/chat.c +++ b/libpurple/protocols/jabber/chat.c @@ -833,12 +833,18 @@ void jabber_chat_remove_handle(JabberChat *chat, const char *handle) gboolean jabber_chat_ban_user(JabberChat *chat, const char *who, const char *why) { - JabberIq *iq; - JabberChatMember *jcm = g_hash_table_lookup(chat->members, who); + JabberChatMember *jcm; + const char *jid; char *to; + JabberIq *iq; xmlnode *query, *item, *reason; - if(!jcm || !jcm->jid) + jcm = g_hash_table_lookup(chat->members, who); + if (jcm && jcm->jid) + jid = jcm->jid; + else if (g_utf8_strchr(who, -1, '@') != NULL) + jid = who; + else return FALSE; iq = jabber_iq_new_query(chat->js, JABBER_IQ_SET, @@ -850,7 +856,7 @@ gboolean jabber_chat_ban_user(JabberChat *chat, const char *who, const char *why query = xmlnode_get_child(iq->node, "query"); item = xmlnode_new_child(query, "item"); - xmlnode_set_attrib(item, "jid", jcm->jid); + xmlnode_set_attrib(item, "jid", jid); xmlnode_set_attrib(item, "affiliation", "outcast"); if(why) { reason = xmlnode_new_child(item, "reason"); @@ -864,14 +870,18 @@ gboolean jabber_chat_ban_user(JabberChat *chat, const char *who, const char *why gboolean jabber_chat_affiliate_user(JabberChat *chat, const char *who, const char *affiliation) { + JabberChatMember *jcm; + const char *jid; char *to; JabberIq *iq; xmlnode *query, *item; - JabberChatMember *jcm; jcm = g_hash_table_lookup(chat->members, who); - - if (!jcm || !jcm->jid) + if (jcm && jcm->jid) + jid = jcm->jid; + else if (g_utf8_strchr(who, -1, '@') != NULL) + jid = who; + else return FALSE; iq = jabber_iq_new_query(chat->js, JABBER_IQ_SET, @@ -883,7 +893,7 @@ gboolean jabber_chat_affiliate_user(JabberChat *chat, const char *who, const cha query = xmlnode_get_child(iq->node, "query"); item = xmlnode_new_child(query, "item"); - xmlnode_set_attrib(item, "jid", jcm->jid); + xmlnode_set_attrib(item, "jid", jid); xmlnode_set_attrib(item, "affiliation", affiliation); jabber_iq_send(iq); diff --git a/libpurple/protocols/jabber/si.c b/libpurple/protocols/jabber/si.c index c2514f85f5..84710d7bd1 100644 --- a/libpurple/protocols/jabber/si.c +++ b/libpurple/protocols/jabber/si.c @@ -708,6 +708,10 @@ static void jabber_si_xfer_send_request(PurpleXfer *xfer) jabber_iq_set_callback(iq, jabber_si_xfer_send_method_cb, xfer); + /* Store the IQ id so that we can cancel the callback */ + g_free(jsx->iq_id); + jsx->iq_id = g_strdup(iq->id); + jabber_iq_send(iq); } @@ -722,6 +726,8 @@ static void jabber_si_xfer_free(PurpleXfer *xfer) purple_proxy_connect_cancel(jsx->connect_data); if (jsx->listen_data != NULL) purple_network_listen_cancel(jsx->listen_data); + if (jsx->iq_id != NULL) + jabber_iq_remove_callback_by_id(js, jsx->iq_id); g_free(jsx->stream_id); g_free(jsx->iq_id); diff --git a/libpurple/protocols/myspace/myspace.c b/libpurple/protocols/myspace/myspace.c index 855b2061dd..840d91019c 100644 --- a/libpurple/protocols/myspace/myspace.c +++ b/libpurple/protocols/myspace/myspace.c @@ -1543,6 +1543,12 @@ msim_we_are_logged_on(MsimSession *session, MsimMessage *msg) if (msim_msg_get_integer(msg, "uniquenick") == session->userid) { purple_debug_info("msim_we_are_logged_on", "TODO: pick username\n"); + /* No username is set. */ + purple_notify_error(session->account, + _("No username set"), + _("Please go to http://editprofile.myspace.com/index.cfm?fuseaction=profile.username and choose a username and try to login again."), NULL); + purple_connection_error(session->gc, _("No username set")); + return FALSE; } body = msim_msg_new( @@ -1864,9 +1870,14 @@ msim_incoming_status(MsimSession *session, MsimMessage *msg) purple_debug_info("msim", "msim_status: found buddy %s\n", username); } - /* The status headline is plaintext, but libpurple treats it as HTML, - * so escape any HTML characters to their entity equivalents. */ - status_headline_escaped = g_markup_escape_text(status_headline, strlen(status_headline)); + if (status_headline) { + /* The status headline is plaintext, but libpurple treats it as HTML, + * so escape any HTML characters to their entity equivalents. */ + status_headline_escaped = g_markup_escape_text(status_headline, strlen(status_headline)); + } else { + status_headline_escaped = NULL; + } + g_free(status_headline); if (user->headline) diff --git a/libpurple/protocols/oscar/oft.c b/libpurple/protocols/oscar/oft.c index d1c62a6034..cb6e4dbc69 100644 --- a/libpurple/protocols/oscar/oft.c +++ b/libpurple/protocols/oscar/oft.c @@ -266,7 +266,7 @@ peer_oft_send(PeerConnection *conn, OftFrame *frame) size_t length; ByteStream bs; - length = 192 + MAX(64, frame->name_length + 1); + length = 192 + frame->name_length; byte_stream_new(&bs, length); byte_stream_putraw(&bs, conn->magic, 4); byte_stream_put16(&bs, length); @@ -300,7 +300,7 @@ peer_oft_send(PeerConnection *conn, OftFrame *frame) * The name can be more than 64 characters, but if it is less than * 64 characters it is padded with NULLs. */ - byte_stream_putraw(&bs, frame->name, MAX(64, frame->name_length + 1)); + byte_stream_putraw(&bs, frame->name, frame->name_length); peer_connection_send(conn, &bs); @@ -340,8 +340,7 @@ static void peer_oft_send_done(PeerConnection *conn) { conn->xferdata.type = PEER_TYPE_DONE; - conn->xferdata.filesleft = 0; - conn->xferdata.partsleft = 0; + conn->xferdata.rfrcsum = 0xffff0000; conn->xferdata.nrecvd = purple_xfer_get_bytes_sent(conn->xfer); peer_oft_send(conn, &conn->xferdata); } @@ -677,12 +676,12 @@ peer_oft_sendcb_init(PurpleXfer *xfer) conn->xferdata.rfrcsum = 0xffff0000; conn->xferdata.rfcsum = 0xffff0000; conn->xferdata.recvcsum = 0xffff0000; - strncpy((gchar *)conn->xferdata.idstring, "OFT_Windows ICBMFT V1.1 32", 31); + strncpy((gchar *)conn->xferdata.idstring, "Cool FileXfer", 31); conn->xferdata.modtime = 0; conn->xferdata.cretime = 0; xfer->filename = g_path_get_basename(xfer->local_filename); - conn->xferdata.name = (guchar *)g_strdup(xfer->filename); - conn->xferdata.name_length = strlen(xfer->filename); + conn->xferdata.name_length = MAX(64, strlen(xfer->filename) + 1); + conn->xferdata.name = (guchar *)g_strndup(xfer->filename, conn->xferdata.name_length - 1); peer_oft_checksum_file(conn, xfer, peer_oft_checksum_calculated_cb, G_MAXUINT32); diff --git a/libpurple/protocols/oscar/peer.c b/libpurple/protocols/oscar/peer.c index 42c4c95194..a41e337183 100644 --- a/libpurple/protocols/oscar/peer.c +++ b/libpurple/protocols/oscar/peer.c @@ -416,6 +416,25 @@ send_cb(gpointer data, gint source, PurpleInputCondition cond) { purple_input_remove(conn->watcher_outgoing); conn->watcher_outgoing = 0; + /* + * The buffer is currently empty, so reset the current input + * and output positions to the start of the buffer. We do + * this so that the next chunk of data that we put into the + * buffer can be read back out of the buffer in one fell swoop. + * Otherwise it gets fragmented and we have to read from the + * second half of the buffer than go back and read the rest of + * the chunk from the first half. + * + * We're using TCP, which is a stream based protocol, so this + * isn't supposed to matter. However, experience has shown + * that at least the proxy file transfer code in AIM 6.1.41.2 + * requires that the entire OFT frame arrive all at once. If + * the frame is fragmented then AIM freaks out and aborts the + * file transfer. Somebody should teach those guys how to + * write good TCP code. + */ + conn->buffer_outgoing->inptr = conn->buffer_outgoing->buffer; + conn->buffer_outgoing->outptr = conn->buffer_outgoing->buffer; return; } diff --git a/libpurple/protocols/simple/simple.c b/libpurple/protocols/simple/simple.c index 12d52940de..3cb0c24ef1 100644 --- a/libpurple/protocols/simple/simple.c +++ b/libpurple/protocols/simple/simple.c @@ -1066,6 +1066,7 @@ static void process_incoming_notify(struct simple_account_data *sip, struct sipm if(!pidf) { purple_debug_info("simple", "process_incoming_notify: no parseable pidf\n"); g_free(from); + send_sip_response(sip->gc, msg, 200, "OK", NULL); return; } diff --git a/libpurple/protocols/yahoo/yahoo.c b/libpurple/protocols/yahoo/yahoo.c index 8fe606a2be..d7e354d042 100644 --- a/libpurple/protocols/yahoo/yahoo.c +++ b/libpurple/protocols/yahoo/yahoo.c @@ -3505,7 +3505,7 @@ static void yahoo_show_act_id(PurplePluginAction *action) static void yahoo_show_chat_goto(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; - purple_request_input(gc, NULL, _("Join who in chat?"), NULL, + purple_request_input(gc, NULL, _("Join whom in chat?"), NULL, "", FALSE, FALSE, NULL, _("OK"), G_CALLBACK(yahoo_chat_goto), _("Cancel"), NULL, diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c index 6533ad6e0f..23f09620b1 100644 --- a/pidgin/gtkconv.c +++ b/pidgin/gtkconv.c @@ -929,6 +929,7 @@ savelog_writefile_cb(void *user_data, const char *filename) PurpleConversation *conv = (PurpleConversation *)user_data; FILE *fp; const char *name; + char **lines; gchar *text; if ((fp = g_fopen(filename, "w+")) == NULL) { @@ -940,10 +941,12 @@ savelog_writefile_cb(void *user_data, const char *filename) fprintf(fp, "<html>\n<head><title>%s</title></head>\n<body>", name); fprintf(fp, _("<h1>Conversation with %s</h1>\n"), name); - text = gtk_imhtml_get_markup( + lines = gtk_imhtml_get_markup_lines( GTK_IMHTML(PIDGIN_CONVERSATION(conv)->imhtml)); + text = g_strjoinv("<br>\n", lines); fprintf(fp, "%s", text); g_free(text); + g_strfreev(lines); fprintf(fp, "\n</body>\n</html>\n"); fclose(fp); @@ -1301,6 +1304,7 @@ menu_add_remove_cb(gpointer data, guint action, GtkWidget *widget) add_remove_cb(NULL, PIDGIN_CONVERSATION(conv)); } +#if 0 static void menu_hide_conv_cb(gpointer data, guint action, GtkWidget *widget) { @@ -1311,6 +1315,7 @@ menu_hide_conv_cb(gpointer data, guint action, GtkWidget *widget) "conversation-hiding", gtkconv); purple_conversation_set_ui_ops(conv, NULL); } +#endif static void menu_close_conv_cb(gpointer data, guint action, GtkWidget *widget) @@ -2903,8 +2908,6 @@ static GtkItemFactoryEntry menu_items[] = { "/Conversation/sep4", NULL, NULL, 0, "<Separator>", NULL }, - { N_("/Conversation/_Hide"), NULL, menu_hide_conv_cb, 0, - "<Item>", NULL}, { N_("/Conversation/_Close"), NULL, menu_close_conv_cb, 0, "<StockItem>", GTK_STOCK_CLOSE }, @@ -4497,12 +4500,12 @@ static gboolean pidgin_conv_motion_cb (GtkWidget *infopane, GdkEventMotion *event, PidginConversation *gtkconv) { int delay = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/tooltip_delay"); - + pidgin_blist_tooltip_destroy(); if (delay == 0) return FALSE; - if (tooltip.timeout != 0) + if (tooltip.timeout != 0) g_source_remove(tooltip.timeout); tooltip.timeout = g_timeout_add(delay, (GSourceFunc)pidgin_conv_tooltip_timeout, gtkconv); @@ -4516,7 +4519,6 @@ pidgin_userlist_tooltip_timeout(PidginConversation *gtkconv) PurplePluginProtocolInfo *prpl_info; PurpleConversation *conv = gtkconv->active_conv; PidginChatPane *gtkchat; - PurpleConnection *gc; PurpleBlistNode *node = NULL; PurpleAccount *account; GtkTreePath *path; @@ -4528,8 +4530,11 @@ pidgin_userlist_tooltip_timeout(PidginConversation *gtkconv) gtkchat = gtkconv->u.chat; account = purple_conversation_get_account(conv); - gc = account->gc; - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + + if (account->gc == NULL) + return FALSE; + + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(account->gc->prpl); model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list)); @@ -4543,7 +4548,7 @@ pidgin_userlist_tooltip_timeout(PidginConversation *gtkconv) gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, CHAT_USERS_NAME_COLUMN, &who, -1); node = (PurpleBlistNode*)(purple_find_buddy(conv->account, who)); - if (node && prpl_info && (prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) + if (node && prpl_info && (prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) pidgin_blist_draw_tooltip(node, gtkconv->infopane); g_free(who); @@ -4553,20 +4558,26 @@ pidgin_userlist_tooltip_timeout(PidginConversation *gtkconv) return FALSE; } -static gboolean +static gboolean pidgin_userlist_motion_cb (GtkWidget *w, GdkEventMotion *event, PidginConversation *gtkconv) { PurpleConversation *conv; + PurpleAccount *account; int delay = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/tooltip_delay"); pidgin_blist_tooltip_destroy(); if (delay == 0) return FALSE; - if (tooltip.timeout != 0) + if (tooltip.timeout != 0) g_source_remove(tooltip.timeout); - + tooltip.timeout = 0; + conv = gtkconv->active_conv; + account = purple_conversation_get_account(conv); + + if (account->gc == NULL) + return FALSE; tooltip.timeout = g_timeout_add(delay, (GSourceFunc)pidgin_userlist_tooltip_timeout, gtkconv); tooltip.gtkconv = gtkconv; @@ -4606,7 +4617,7 @@ setup_common_pane(PidginConversation *gtkconv) gtk_widget_show(gtkconv->infopane_hbox); gtk_widget_add_events(event_box, GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); - g_signal_connect(G_OBJECT(event_box), "button_press_event", + g_signal_connect(G_OBJECT(event_box), "button-press-event", G_CALLBACK(infopane_press_cb), gtkconv); g_signal_connect(G_OBJECT(event_box), "motion-notify-event", diff --git a/pidgin/gtkimhtml.c b/pidgin/gtkimhtml.c index c9c8a2bc00..76615710d6 100644 --- a/pidgin/gtkimhtml.c +++ b/pidgin/gtkimhtml.c @@ -4890,7 +4890,7 @@ char *gtk_imhtml_get_markup_range(GtkIMHtml *imhtml, GtkTextIter *start, GtkText } else if (c == '"') { str = g_string_append(str, """); } else if (c == '\n') { - str = g_string_append(str, "<br>\n"); + str = g_string_append(str, "<br>"); } else { str = g_string_append_unichar(str, c); } diff --git a/pidgin/gtkprefs.c b/pidgin/gtkprefs.c index 5a858fd289..5837bdee20 100644 --- a/pidgin/gtkprefs.c +++ b/pidgin/gtkprefs.c @@ -1510,6 +1510,7 @@ sound_changed2_cb(const char *name, PurplePrefType type, gtk_widget_set_sensitive(vbox, strcmp(method, "none")); } +#endif /* !_WIN32 */ #ifdef USE_GSTREAMER static void @@ -1524,7 +1525,6 @@ sound_changed3_cb(const char *name, PurplePrefType type, !strcmp(method, "esd")); } #endif /* USE_GSTREAMER */ -#endif /* !_WIN32 */ static void @@ -1693,9 +1693,11 @@ sound_page() int j; const char *file; char *pref; +#if !defined _WIN32 || defined USE_GSTREAMER + GtkWidget *label; +#endif #ifndef _WIN32 GtkWidget *dd; - GtkWidget *label; GtkWidget *entry; const char *cmd; #endif diff --git a/pidgin/gtksound.c b/pidgin/gtksound.c index e662fe9acc..58d62c9ec0 100644 --- a/pidgin/gtksound.c +++ b/pidgin/gtksound.c @@ -446,6 +446,8 @@ pidgin_sound_play_file(const char *filename) g_free(command); return; } +#endif /* _WIN32 */ + #ifdef USE_GSTREAMER if (gst_init_failed) /* Perhaps do gdk_beep instead? */ return; @@ -460,7 +462,9 @@ pidgin_sound_play_file(const char *filename) purple_debug_error("sound", "Unable to create GStreamer audiosink.\n"); return; } - } else if (!strcmp(method, "esd")) { + } +#ifndef _WIN32 + else if (!strcmp(method, "esd")) { sink = gst_element_factory_make("esdsink", "sink"); if (!sink) { purple_debug_error("sound", "Unable to create GStreamer audiosink.\n"); @@ -472,7 +476,9 @@ pidgin_sound_play_file(const char *filename) purple_debug_error("sound", "Unable to create GStreamer audiosink.\n"); return; } - } else { + } +#endif + else { purple_debug_error("sound", "Unknown sound method '%s'\n", method); return; } @@ -498,9 +504,9 @@ pidgin_sound_play_file(const char *filename) g_free(uri); #else /* USE_GSTREAMER */ + +#ifndef _WIN32 gdk_beep(); - return; -#endif /* USE_GSTREAMER */ #else /* _WIN32 */ purple_debug_info("sound", "Playing %s\n", filename); @@ -518,6 +524,8 @@ pidgin_sound_play_file(const char *filename) g_free(l_filename); } #endif /* _WIN32 */ + +#endif /* USE_GSTREAMER */ } static void diff --git a/pidgin/win32/nsis/pidgin-installer.nsi b/pidgin/win32/nsis/pidgin-installer.nsi index b488b72f4e..f903662779 100644 --- a/pidgin/win32/nsis/pidgin-installer.nsi +++ b/pidgin/win32/nsis/pidgin-installer.nsi @@ -694,6 +694,7 @@ Section Uninstall Delete "$INSTDIR\ca-certs\Equifax_Secure_CA.pem" Delete "$INSTDIR\ca-certs\GTE_CyberTrust_Global_Root.pem" + Delete "$INSTDIR\ca-certs\Verisign_Class3_Extended_Validation_CA.pem" Delete "$INSTDIR\ca-certs\Verisign_Class3_Primary_CA.pem" Delete "$INSTDIR\ca-certs\Verisign_RSA_Secure_Server_CA.pem" RMDir "$INSTDIR\ca-certs" @@ -704,7 +705,7 @@ Section Uninstall Delete "$INSTDIR\plugins\buddynote.dll" Delete "$INSTDIR\plugins\convcolors.dll" Delete "$INSTDIR\plugins\extplacement.dll" - Delete "$INSTDIR\plugins\pidginrc.dll" + Delete "$INSTDIR\plugins\gtkbuddynote.dll" Delete "$INSTDIR\plugins\history.dll" Delete "$INSTDIR\plugins\iconaway.dll" Delete "$INSTDIR\plugins\idle.dll" @@ -731,6 +732,7 @@ Section Uninstall Delete "$INSTDIR\plugins\notify.dll" Delete "$INSTDIR\plugins\offlinemsg.dll" Delete "$INSTDIR\plugins\perl.dll" + Delete "$INSTDIR\plugins\pidginrc.dll" Delete "$INSTDIR\plugins\psychic.dll" Delete "$INSTDIR\plugins\relnot.dll" Delete "$INSTDIR\plugins\spellchk.dll" @@ -744,12 +746,12 @@ Section Uninstall Delete "$INSTDIR\plugins\win2ktrans.dll" Delete "$INSTDIR\plugins\winprefs.dll" RMDir "$INSTDIR\plugins" - Delete "$INSTDIR\sounds\pidgin\alert.wav" - Delete "$INSTDIR\sounds\pidgin\login.wav" - Delete "$INSTDIR\sounds\pidgin\logout.wav" - Delete "$INSTDIR\sounds\pidgin\receive.wav" - Delete "$INSTDIR\sounds\pidgin\send.wav" - RMDir "$INSTDIR\sounds\pidgin" + Delete "$INSTDIR\sounds\purple\alert.wav" + Delete "$INSTDIR\sounds\purple\login.wav" + Delete "$INSTDIR\sounds\purple\logout.wav" + Delete "$INSTDIR\sounds\purple\receive.wav" + Delete "$INSTDIR\sounds\purple\send.wav" + RMDir "$INSTDIR\sounds\purple" RMDir "$INSTDIR\sounds" Delete "$INSTDIR\freebl3.dll" Delete "$INSTDIR\idletrack.dll" @@ -11331,7 +11331,7 @@ msgid "Activate which ID?" msgstr "Aktiveer watter ID?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Sluit wie by geselsie aan?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -10501,7 +10501,7 @@ msgstr "" #: src/protocols/yahoo/yahoo.c:2972 #, fuzzy -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "ውሪን አገጣጥም" #: src/protocols/yahoo/yahoo.c:2982 @@ -13172,7 +13172,7 @@ msgid "Active which ID?" msgstr "وضعية رقم الانترنت النشطة" #: ../src/protocols/yahoo/yahoo.c:3094 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3104 @@ -10340,7 +10340,7 @@ msgid "Active which ID?" msgstr "Hansı ID fəallaşdırılsın?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Söhbəttə kimə qoşulsun?" #: src/protocols/yahoo/yahoo.c:2982 @@ -14520,7 +14520,7 @@ msgid "Active which ID?" msgstr "Активиране на коя идентификация?" #: ../libgaim/protocols/yahoo/yahoo.c:3214 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Присъединяване към кого в чата?" #: ../libgaim/protocols/yahoo/yahoo.c:3224 @@ -14284,7 +14284,7 @@ msgid "Active which ID?" msgstr "কোন আইডি সক্রিয় করা হবে?" #: ../libgaim/protocols/yahoo/yahoo.c:3214 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "কার সাথে আড্ডা?" #: ../libgaim/protocols/yahoo/yahoo.c:3224 @@ -10646,7 +10646,7 @@ msgid "Active which ID?" msgstr "Aktivirati koji ID?" #: src/protocols/yahoo/yahoo.c:2947 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kome se želite pridružiti na chat?" #: src/protocols/yahoo/yahoo.c:2957 @@ -10594,7 +10594,7 @@ msgid "Active which ID?" msgstr "Quin ID voleu activar?" #: ../libpurple/protocols/yahoo/yahoo.c:3234 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "A qui us voleu unir al xat?" #: ../libpurple/protocols/yahoo/yahoo.c:3244 diff --git a/po/ca@valencia.po b/po/ca@valencia.po index 3cba53cc2c..9a69329fb3 100644 --- a/po/ca@valencia.po +++ b/po/ca@valencia.po @@ -11263,7 +11263,7 @@ msgid "Active which ID?" msgstr "Quin ID voleu activar?" #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "A qui vos voleu unir al xat?" #: ../libpurple/protocols/yahoo/yahoo.c:3268 @@ -11905,7 +11905,7 @@ msgid "Active which ID?" msgstr "Které ID aktivovat?" #: ../src/protocols/yahoo/yahoo.c:3069 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Připojit koho k chatu?" #: ../src/protocols/yahoo/yahoo.c:3079 @@ -14318,7 +14318,7 @@ msgid "Active which ID?" msgstr "Aktivér hvilket ID?" #: ../libgaim/protocols/yahoo/yahoo.c:3214 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Deltag med hvem i chat?" #: ../libgaim/protocols/yahoo/yahoo.c:3224 @@ -11443,7 +11443,7 @@ msgid "Activate which ID?" msgstr "Welche ID aktivieren?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Wen wollen Sie zum Chat einladen?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -13959,7 +13959,7 @@ msgid "Active which ID?" msgstr "ཨའི་ཌི་ག་འདི་ཤུགས་ལྡན་སྨོ?" #: ../libgaim/protocols/yahoo/yahoo.c:3220 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "ག་ ཁ་སླབ་ཀྱི་གྲངས་སུ་འཛུལ་ཡི?" #: ../libgaim/protocols/yahoo/yahoo.c:3230 @@ -10628,7 +10628,7 @@ msgid "Active which ID?" msgstr "Ενεργοποίηση ποιανού ID;" #: ../libpurple/protocols/yahoo/yahoo.c:3239 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Ποιανού συμμετοχή στη συζήτηση;" #: ../libpurple/protocols/yahoo/yahoo.c:3251 diff --git a/po/en_AU.po b/po/en_AU.po index 7908fa2dc8..40851afd78 100644 --- a/po/en_AU.po +++ b/po/en_AU.po @@ -10735,8 +10735,8 @@ msgid "Active which ID?" msgstr "Active which ID?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" -msgstr "Join who in chat?" +msgid "Join whom in chat?" +msgstr "Join whom in chat?" #: src/protocols/yahoo/yahoo.c:2982 msgid "Activate ID..." diff --git a/po/en_CA.po b/po/en_CA.po index e5645d68a9..935115e24e 100644 --- a/po/en_CA.po +++ b/po/en_CA.po @@ -10715,8 +10715,8 @@ msgid "Active which ID?" msgstr "Active which ID?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" -msgstr "Join who in chat?" +msgid "Join whom in chat?" +msgstr "Join whom in chat?" #: src/protocols/yahoo/yahoo.c:2982 msgid "Activate ID..." diff --git a/po/en_GB.po b/po/en_GB.po index 3614fc0f37..0d1492231c 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -10576,8 +10576,8 @@ msgid "Active which ID?" msgstr "Active which ID?" #: ../libpurple/protocols/yahoo/yahoo.c:3241 -msgid "Join who in chat?" -msgstr "Join who in chat?" +msgid "Join whom in chat?" +msgstr "Join whom in chat?" #: ../libpurple/protocols/yahoo/yahoo.c:3253 msgid "Activate ID..." @@ -10243,7 +10243,7 @@ msgid "Active which ID?" msgstr "Ŝaltu kiun ID?" #: ../libpurple/protocols/yahoo/yahoo.c:3234 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kiun kuniĝi en babilejo?" #: ../libpurple/protocols/yahoo/yahoo.c:3244 @@ -11319,7 +11319,7 @@ msgid "Active which ID?" msgstr "¿Qué ID quiere activar?" #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "¿Juntarse con quién en un chat?" #: ../libpurple/protocols/yahoo/yahoo.c:3268 @@ -11029,7 +11029,7 @@ msgid "Activate which ID?" msgstr "Milline ID aktiveerida?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kellega ühineda jututoas?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -12276,7 +12276,7 @@ msgid "Active which ID?" msgstr "Zein ID aktibatu?" #: ../src/protocols/yahoo/yahoo.c:3070 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Norekin elkartu nahi duzu berriketan?" #: ../src/protocols/yahoo/yahoo.c:3080 @@ -10510,7 +10510,7 @@ msgid "Active which ID?" msgstr "فعالسازی کدام شناسه؟" #: ../libpurple/protocols/yahoo/yahoo.c:3234 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "پیوستن به کی در گپ؟" #: ../libpurple/protocols/yahoo/yahoo.c:3244 @@ -11327,7 +11327,7 @@ msgid "Activate which ID?" msgstr "Mikä tunnus (ID) aktivoidaan?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kenen seuraan liitytään ryhmäkeskustelussa?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -11413,7 +11413,7 @@ msgid "Activate which ID?" msgstr "Activer quelle identité ?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Qui joindre dans une discussion ?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -11270,7 +11270,7 @@ msgid "Activate which ID?" msgstr "Que ID activar?" #: ../libpurple/protocols/yahoo/yahoo.c:3406 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "A quen quere unir á conversa?" #: ../libpurple/protocols/yahoo/yahoo.c:3418 @@ -10469,7 +10469,7 @@ msgid "Active which ID?" msgstr "કયું ID સક્રિય કરવું છે?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "જોડાવ કે કોણ સંવાદમાં છે?" #: src/protocols/yahoo/yahoo.c:2982 @@ -11164,7 +11164,7 @@ msgid "Activate which ID?" msgstr "איזה ID להפעיל?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "להצטרף למי בצ'אט?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -10987,7 +10987,7 @@ msgid "Active which ID?" msgstr "कोनसा आइ डी क्रियांवित करें?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "किससे संवाद करें ?" #: src/protocols/yahoo/yahoo.c:2982 @@ -10433,7 +10433,7 @@ msgid "Active which ID?" msgstr "Melyik azonosítót aktiválja?" #: ../libpurple/protocols/yahoo/yahoo.c:3239 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kihez csatlakozik a csevegésben?" #: ../libpurple/protocols/yahoo/yahoo.c:3251 diff --git a/po/id.po b/po/id.po index 8dbe8ddeda..c26c12d56b 100755..100644 --- a/po/id.po +++ b/po/id.po @@ -14281,7 +14281,7 @@ msgid "Active which ID?" msgstr "Aktifkan ID yang mana?" #: ../libgaim/protocols/yahoo/yahoo.c:3214 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Gabung siapa dalam percakapan?" #: ../libgaim/protocols/yahoo/yahoo.c:3224 @@ -11163,7 +11163,7 @@ msgid "Active which ID?" msgstr "Quale ID vuoi attivare?" #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "A chi vuoi unirti nella chat?" #: ../libpurple/protocols/yahoo/yahoo.c:3268 @@ -11162,7 +11162,7 @@ msgid "Active which ID?" msgstr "どの ID を有効化しますか?" #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "どのチャットへ参加しますか?" #: ../libpurple/protocols/yahoo/yahoo.c:3268 @@ -11603,7 +11603,7 @@ msgid "Active which ID?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3017 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3027 @@ -13709,7 +13709,7 @@ msgid "Active which ID?" msgstr "" #: ../libgaim/protocols/yahoo/yahoo.c:3174 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "ಮಾತುಕತೆಯಲ್ಲಿ ಯಾರೊಡನೆ ಸೇರಬೇಕು?" #: ../libgaim/protocols/yahoo/yahoo.c:3184 @@ -14341,7 +14341,7 @@ msgid "Active which ID?" msgstr "어느 ID 를 활성화 하시겠습니까?" #: ../libgaim/protocols/yahoo/yahoo.c:3214 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "어느 대화에 참가하시겠습니까?" #: ../libgaim/protocols/yahoo/yahoo.c:3224 @@ -11671,7 +11671,7 @@ msgid "Active which ID?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3070 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3080 @@ -11555,7 +11555,7 @@ msgid "Activate which ID?" msgstr "Kurį ID aktyvuoti?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Prisijungti prie ko į pokalbį?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -11347,7 +11347,7 @@ msgid "Activate which ID?" msgstr "Кој ID. да го активирам?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Кого да приклучам во разговорот?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 diff --git a/po/my_MM.po b/po/my_MM.po index 8775f9a7e9..877ecdf9dd 100644 --- a/po/my_MM.po +++ b/po/my_MM.po @@ -10730,8 +10730,8 @@ msgid "Active which ID?" msgstr "Active which ID?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" -msgstr "Join who in chat?" +msgid "Join whom in chat?" +msgstr "Join whom in chat?" #: src/protocols/yahoo/yahoo.c:2982 msgid "Activate ID..." @@ -10857,7 +10857,7 @@ msgid "Active which ID?" msgstr "Aktiver hvilken ID?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Bli med hvem i samtalegruppe?" #: src/protocols/yahoo/yahoo.c:2982 diff --git a/po/ne.po b/po/ne.po index 51c35113fd..14927e3ba6 100755..100644 --- a/po/ne.po +++ b/po/ne.po @@ -10498,7 +10498,7 @@ msgid "Active which ID?" msgstr "कुन ID सक्रिय गर्ने?" #: src/protocols/yahoo/yahoo.c:3028 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "जडान गर्नुहोस् को कुराकानीमा छ?" #: src/protocols/yahoo/yahoo.c:3038 @@ -13683,7 +13683,7 @@ msgid "Active which ID?" msgstr "Welk ID activeren?" #: ../libgaim/protocols/yahoo/yahoo.c:3158 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Deelnemen aan wiens chat?" #: ../libgaim/protocols/yahoo/yahoo.c:3168 @@ -11191,7 +11191,7 @@ msgid "Activate which ID?" msgstr "Kva ID skal takast i bruk?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kven skal bli med i praterommet?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -10385,7 +10385,7 @@ msgid "Active which ID?" msgstr "ਕਿਹੜਾ ID ਸਰਗਰਮ ਕਰਨਾ ਹੈ?" #: ../libpurple/protocols/yahoo/yahoo.c:3239 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "ਗੱਲਬਾਤ ਵਿੱਚ ਕੌਣ ਸ਼ਾਮਿਲ ?" #: ../libpurple/protocols/yahoo/yahoo.c:3251 @@ -11665,7 +11665,7 @@ msgid "Activate which ID?" msgstr "Które ID aktywować?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kogo przyłączyć do konferencji?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 diff --git a/po/ps.po b/po/ps.po index 4f85bdaab1..edce574cd1 100755..100644 --- a/po/ps.po +++ b/po/ps.po @@ -13801,7 +13801,7 @@ msgid "Active which ID?" msgstr "" #: ../libgaim/protocols/yahoo/yahoo.c:3214 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "چه سره ګپ شپ کول غواړی؟" #: ../libgaim/protocols/yahoo/yahoo.c:3224 @@ -12084,7 +12084,7 @@ msgid "Active which ID?" msgstr "Activar qual ID?" #: ../src/protocols/yahoo/yahoo.c:3070 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Juntar a quem no chat?" #: ../src/protocols/yahoo/yahoo.c:3080 diff --git a/po/pt_BR.po b/po/pt_BR.po index 704d506eec..f4c0376675 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -11386,7 +11386,7 @@ msgid "Activate which ID?" msgstr "Ativar qual ID?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Juntar-se a quem no bate-papo?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -11251,7 +11251,7 @@ msgid "Active which ID?" msgstr "Ce identitate doriţi să activaţi?" #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Cui doriţi să vă alăturaţi în chat?" #: ../libpurple/protocols/yahoo/yahoo.c:3268 @@ -11217,7 +11217,7 @@ msgid "Activate which ID?" msgstr "Какой ID активировать?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "К кому присоединиться в чате?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -11360,7 +11360,7 @@ msgid "Activate which ID?" msgstr "Aktivovať s ID?" #: ../libpurple/protocols/yahoo/yahoo.c:3406 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "S kým sa spojiť v chate?" #: ../libpurple/protocols/yahoo/yahoo.c:3418 @@ -11254,7 +11254,7 @@ msgid "Activate which ID?" msgstr "Kateri ID naj bo aktiviran?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Komu se želite pridružiti v pomenku?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -10811,7 +10811,7 @@ msgid "Active which ID?" msgstr "Veprues cili ID?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "T'i bashkohem kujt në fjalosje?" #: src/protocols/yahoo/yahoo.c:2982 @@ -10533,7 +10533,7 @@ msgid "Active which ID?" msgstr "Активирај ИД (који)?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Прикључи се коме разговору?" #: src/protocols/yahoo/yahoo.c:2982 diff --git a/po/sr@Latn.po b/po/sr@Latn.po index f36c91b723..8866be7935 100644 --- a/po/sr@Latn.po +++ b/po/sr@Latn.po @@ -10770,7 +10770,7 @@ msgid "Active which ID?" msgstr "Aktiviraj ID (koji)?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Priključi se kome razgovoru?" #: src/protocols/yahoo/yahoo.c:2982 @@ -11233,7 +11233,7 @@ msgid "Activate which ID?" msgstr "Vilket ID ska aktiveras?" #: ../libpurple/protocols/yahoo/yahoo.c:3345 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Anslut vem till chatten?" #: ../libpurple/protocols/yahoo/yahoo.c:3357 @@ -11877,7 +11877,7 @@ msgid "Active which ID?" msgstr "எந்த முகப்பை செயல்படுத்த?" #: ../src/protocols/yahoo/yahoo.c:3070 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "எந்த அரட்டையில் இருப்பவருடன் சேர ?" #: ../src/protocols/yahoo/yahoo.c:3080 @@ -10983,7 +10983,7 @@ msgid "Active which ID?" msgstr "ఏ IDని యాక్టివ్ చేద్దాం?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "ఎవరితో మాట్లాడుదాం ?" #: src/protocols/yahoo/yahoo.c:2982 @@ -11710,7 +11710,7 @@ msgid "Active which ID?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3070 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "" #: ../src/protocols/yahoo/yahoo.c:3080 @@ -11001,7 +11001,7 @@ msgid "Active which ID?" msgstr "Hangi ID aktifleştirilecek?" #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Kullanıcıyla sohbet et..." #: ../libpurple/protocols/yahoo/yahoo.c:3268 @@ -10786,7 +10786,7 @@ msgid "Active which ID?" msgstr "Активувати який ID?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "До кого приєднатись у розмові?" #: src/protocols/yahoo/yahoo.c:2982 @@ -10824,7 +10824,7 @@ msgid "Active which ID?" msgstr "Kích hoạt ID nào ?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Tham gia với ai trong Chat?" #: src/protocols/yahoo/yahoo.c:2982 @@ -10832,7 +10832,7 @@ msgid "Active which ID?" msgstr "Sesiphi Isazisi esisebenzayo?" #: src/protocols/yahoo/yahoo.c:2972 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "Ngenela incoko?" #: src/protocols/yahoo/yahoo.c:2982 diff --git a/po/zh_CN.po b/po/zh_CN.po index bc1a7d2ab4..29f1f8ac32 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -10329,7 +10329,7 @@ msgid "Active which ID?" msgstr "激活哪个 ID?" #: ../libpurple/protocols/yahoo/yahoo.c:3234 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "将谁加入聊天?" #: ../libpurple/protocols/yahoo/yahoo.c:3244 diff --git a/po/zh_HK.po b/po/zh_HK.po index bc0c531eb0..d5daa1364b 100755..100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -10839,7 +10839,7 @@ msgstr "啟動哪一個 ID?" # NOTE #gaim 的 Vann 及 LSchiere 解:如果選取了的好友目前處於一個聊天,便加入該個聊天 # NOTE Yahoo 的「Chat」正式譯文為「聯誼園地」 #: ../libpurple/protocols/yahoo/yahoo.c:3239 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "加入哪個好友目前所在的聊天室?" #: ../libpurple/protocols/yahoo/yahoo.c:3251 diff --git a/po/zh_TW.po b/po/zh_TW.po index d96f866f6d..2f2e8ade65 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -11426,7 +11426,7 @@ msgstr "啟動哪一個 ID?" # NOTE #gaim 的 Vann 及 LSchiere 解:如果選取了的好友目前處於一個聊天,便加入該個聊天 # NOTE Yahoo 的「Chat」正式譯文為「聯誼園地」 #: ../libpurple/protocols/yahoo/yahoo.c:3256 -msgid "Join who in chat?" +msgid "Join whom in chat?" msgstr "加入哪個好友目前所在的聊天室?" #: ../libpurple/protocols/yahoo/yahoo.c:3268 |