/pidgin/main: 2cc052ab7505: Merged in CMaiku/pidgin (pull reques...

Gary Kramlich <[email protected]> Tue, 06 Sep 2016 11:19:22 -0400
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 2cc052ab7505f6501fe0f4281911469ed6b29162
Author:	 Gary Kramlich <[email protected]>
Date:	 2016-09-01 23:12 -0500
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/2cc052ab7505

Description:

Merged in CMaiku/pidgin (pull request #113)

Correct some GLib dependency version issues

diffstat:

 configure.ac                   |   6 +++---
 libpurple/queuedoutputstream.c |  15 +++++++++++----
 2 files changed, 14 insertions(+), 7 deletions(-)

diffs (76 lines):

diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -470,13 +470,13 @@ fi #enable_i18n
 AM_CONDITIONAL(INSTALL_I18N, test "x$enable_i18n" = "xyes")
 
 dnl #######################################################################
-dnl # Check for GLib 2.34 (required)
+dnl # Check for GLib 2.36 (required)
 dnl #######################################################################
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.34.0 gio-2.0 gobject-2.0 gthread-2.0], , [
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.36.0 gio-2.0 gobject-2.0 gthread-2.0], , [
 	AC_MSG_RESULT(no)
 	AC_MSG_ERROR([
 
-You must have GLib 2.34.0 or newer development headers installed to build.
+You must have GLib 2.36.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.
diff --git a/libpurple/queuedoutputstream.c b/libpurple/queuedoutputstream.c
--- a/libpurple/queuedoutputstream.c
+++ b/libpurple/queuedoutputstream.c
@@ -26,6 +26,7 @@
 
 struct _PurpleQueuedOutputStreamPrivate {
 	GAsyncQueue *queue;
+	GBytes *next;
 };
 
 GObjectClass *parent_class = NULL;
@@ -99,26 +100,32 @@ purple_queued_output_stream_dispose(GObj
 	G_OBJECT_CLASS(parent_class)->dispose(object);
 
 	g_clear_pointer(&stream->priv->queue, g_async_queue_unref);
+	g_clear_pointer(&stream->priv->next, g_bytes_unref);
 }
 
 static gboolean
 purple_queued_output_stream_flush(GOutputStream *stream,
 		GCancellable *cancellable, GError **error)
 {
+	PurpleQueuedOutputStreamPrivate *priv;
 	GOutputStream *base_stream;
-	GAsyncQueue *queue;
 	GBytes *bytes;
 	const void *buffer;
 	gsize count;
 	gsize bytes_written = 0;
 	gboolean ret = TRUE;
 
+	priv = PURPLE_QUEUED_OUTPUT_STREAM(stream)->priv;
 	base_stream = g_filter_output_stream_get_base_stream(
 			G_FILTER_OUTPUT_STREAM(stream));
-	queue = PURPLE_QUEUED_OUTPUT_STREAM(stream)->priv->queue;
 
 	do {
-		bytes = g_async_queue_try_pop(queue);
+		if (priv->next != NULL) {
+			bytes = priv->next;
+			priv->next = NULL;
+		} else {
+			bytes = g_async_queue_try_pop(priv->queue);
+		}
 
 		if (bytes == NULL) {
 			break;
@@ -140,7 +147,7 @@ purple_queued_output_stream_flush(GOutpu
 				queue_bytes = g_bytes_ref(bytes);
 			}
 
-			g_async_queue_push_front(queue, queue_bytes);
+			priv->next = queue_bytes;
 		}
 
 		g_bytes_unref(bytes);

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits