changeset 31948:91df50ae5e26

propagate from branch 'im.pidgin.pidgin' (head 7386f651da12e8eaa3a280ff11f2d7c163136d94) to branch 'im.pidgin.pidgin.mxit' (head afe56ac5850bf1b2de45d4fd4c0e271c76adf752)
author andrew.victor@mxit.com
date Tue, 29 Mar 2011 14:39:29 +0000
parents c7af571e5b79 (diff) 245dd63f9d42 (current diff)
children acd92b7d8511
files ChangeLog
diffstat 5 files changed, 37 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Tue Mar 29 06:55:54 2011 +0000
+++ b/COPYRIGHT	Tue Mar 29 14:39:29 2011 +0000
@@ -541,6 +541,7 @@
 Jon Turney
 Junichi Uekawa
 Max Ulidtko
+Dmitry Utkin
 Igor Vlasenko
 István Váradi
 Martijn van Beers
--- a/ChangeLog	Tue Mar 29 06:55:54 2011 +0000
+++ b/ChangeLog	Tue Mar 29 14:39:29 2011 +0000
@@ -24,20 +24,23 @@
 
 	Gadu-Gadu:
 	* Allow showing your status only to buddies. (Mateusz Piękos) (#13358)
-	* Updated internal libgadu to version 1.10.1. (Mateusz Piękos, Krzysztof
-	  Klinikowski) (#13525)
-	* Suppress blank messages that happen when sending inline images. (Tomasz
-	  Wasilczyk) (#13554)
-	* Fix sending inline images, including images larger than 256 KB, to remote
-	  users. (Tomasz Wasilczyk) (#13580)
+	* Updated internal libgadu to version 1.10.1. (Robert Matusewicz,
+	  Krzysztof Klinikowski) (#13525)
+	* Suppress blank messages that happen when receiving inline
+	  images. (Tomasz Wasilczyk) (#13554)
+	* Fix sending inline images to remote users, don't crash when
+	  trying to send large (> 256kB) images. (Tomasz Wasilczyk) (#13580)
+	* Support incoming typing notifications. (Jan Zachorowski) (#13362)
+	* Require libgadu 1.10.1 to avoid using internal libgadu.
 
 	ICQ:
-	* Fix unsetting your mood when "None" is selected. (#7431)
+	* Fix unsetting your mood when "None" is selected.  (Dustin Gathmann)
+	  (#11895)
 	* Ignore Daylight Saving Time when performing calculations related to
-	  birthdays. (dustin) (#13533)
+	  birthdays. (Dustin Gathmann) (#13533)
 	* It is now possible to specify multiple encodings on the Advanced tab of
-	  an ICQ account's settings by using a comma-delimited list.  (loentar)
-	  (#13496)
+	  an ICQ account's settings by using a comma-delimited list.  (Dmitry
+	  Utkin (#13496)
 
 	Plugins:
 	* The Voice/Video Settings plugin now includes the ability to test
--- a/configure.ac	Tue Mar 29 06:55:54 2011 +0000
+++ b/configure.ac	Tue Mar 29 14:39:29 2011 +0000
@@ -326,13 +326,13 @@
 AM_CONDITIONAL(INSTALL_I18N, test "x$enable_i18n" = "xyes")
 
 dnl #######################################################################
-dnl # Check for GLib 2.12 (required)
+dnl # Check for GLib 2.16 (required)
 dnl #######################################################################
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.12.0 gobject-2.0 gmodule-2.0 gthread-2.0], , [
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.16.0 gobject-2.0 gmodule-2.0 gthread-2.0], , [
 	AC_MSG_RESULT(no)
 	AC_MSG_ERROR([
 
-You must have GLib 2.12.0 or newer development headers installed to build.
+You must have GLib 2.16.0 or newer development headers installed to build.
 
 If you have these installed already you may need to install pkg-config so
 I can find them.
@@ -1024,7 +1024,7 @@
 	gadu_manual_check="no"
 fi
 if test "x$gadu_manual_check" = "xno"; then
-	PKG_CHECK_MODULES(GADU, [libgadu >= 1.9.0], [
+	PKG_CHECK_MODULES(GADU, [libgadu >= 1.10.1], [
 		gadu_includes="yes"
 		gadu_libs="yes"
 	], [
--- a/libpurple/dnssrv.c	Tue Mar 29 06:55:54 2011 +0000
+++ b/libpurple/dnssrv.c	Tue Mar 29 14:39:29 2011 +0000
@@ -711,7 +711,7 @@
 	g_free(hostname);
 	
 	query_data = g_new0(PurpleSrvTxtQueryData, 1);
-	query_data->type = T_SRV;
+	query_data->type = PurpleDnsTypeSrv;
 	query_data->cb.srv = cb;
 	query_data->extradata = extradata;
 	query_data->query = query;
@@ -774,12 +774,6 @@
 		initialized = TRUE;
 	}
 
-	query_data = g_new0(PurpleSrvTxtQueryData, 1);
-	query_data->type = DNS_TYPE_SRV;
-	query_data->cb.srv = cb;
-	query_data->query = query;
-	query_data->extradata = extradata;
-
 	if (!MyDnsQuery_UTF8 || !MyDnsRecordListFree)
 		query_data->error_message = g_strdup("System missing DNS API (Requires W2K+)\n");
 	else {
@@ -832,7 +826,7 @@
 	g_free(hostname);
 	
 	query_data = g_new0(PurpleSrvTxtQueryData, 1);
-	query_data->type = T_TXT;
+	query_data->type = PurpleDnsTypeTxt;
 	query_data->cb.txt = cb;
 	query_data->extradata = extradata;
 	query_data->query = query;
@@ -896,12 +890,6 @@
 		initialized = TRUE;
 	}
 
-	query_data = g_new0(PurpleSrvTxtQueryData, 1);
-	query_data->type = DNS_TYPE_TXT;
-	query_data->cb.txt = cb;
-	query_data->query = query;
-	query_data->extradata = extradata;
-
 	if (!MyDnsQuery_UTF8 || !MyDnsRecordListFree)
 		query_data->error_message = g_strdup("System missing DNS API (Requires W2K+)\n");
 	else {
--- a/libpurple/protocols/gg/gg.c	Tue Mar 29 06:55:54 2011 +0000
+++ b/libpurple/protocols/gg/gg.c	Tue Mar 29 14:39:29 2011 +0000
@@ -1603,6 +1603,17 @@
 	}
 }
 
+static void ggp_typing_notification_handler(PurpleConnection *gc, uin_t uin, int length) {
+    gchar *from;
+
+    from = g_strdup_printf("%u", uin);
+    if (length)
+	serv_got_typing(gc, from, 0, PURPLE_TYPING);
+    else
+	serv_got_typing(gc, from, 0, PURPLE_NOT_TYPING);
+    g_free(from);
+}
+
 static void ggp_callback_recv(gpointer _gc, gint fd, PurpleInputCondition cond)
 {
 	PurpleConnection *gc = _gc;
@@ -1716,6 +1727,10 @@
 		case GG_EVENT_PUBDIR50_SEARCH_REPLY:
 			ggp_pubdir_reply_handler(gc, ev->event.pubdir50);
 			break;
+		case GG_EVENT_TYPING_NOTIFICATION:
+			ggp_typing_notification_handler(gc, ev->event.typing_notification.uin,
+				ev->event.typing_notification.length);
+			break;
 		default:
 			purple_debug_error("gg",
 				"unsupported event type=%d\n", ev->type);
@@ -2021,7 +2036,8 @@
 	status = purple_presence_get_active_status(presence);
 
 	glp->encoding = GG_ENCODING_UTF8;
-	glp->protocol_features = (GG_FEATURE_STATUS80|GG_FEATURE_DND_FFC);
+	glp->protocol_features = (GG_FEATURE_STATUS80|GG_FEATURE_DND_FFC
+		|GG_FEATURE_TYPING_NOTIFICATION);
 
 	glp->async = 1;
 	glp->status = ggp_to_gg_status(status, &glp->status_descr);