/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