[Spice-commits] 4 commits - NEWS gtk/Makefile.am gtk/continuation.c gtk/spice-pulse.c
Marc-André Lureau
elmarco at kemper.freedesktop.org
Wed Nov 27 02:14:30 PST 2013
NEWS | 14 ++++++++++++++
gtk/Makefile.am | 2 +-
gtk/continuation.c | 8 ++++++--
gtk/spice-pulse.c | 5 ++++-
4 files changed, 25 insertions(+), 4 deletions(-)
New commits:
commit 2e3aa29794bb74170ac5137b9ba68c85c1bfb8ff
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date: Tue Nov 26 18:53:24 2013 +0100
Release v0.22
v0.22
=====
- improve inverted cursor support
- use system-wide trust certificate store
- make sasl support work with other method than MD5
- fix some clipboard crasher, limit clipboard size
- fix various regressions:
usbredir, alt-tab on win32, palette crash, agent notification, old
protocol support, sasl ending crash, gthread coroutine crash, close
sockets on migration, pulse backend crash
- fix a few memory leaks
- build-sys improvements
diff --git a/NEWS b/NEWS
index 8ecae50..f61c77f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,17 @@
+v0.22
+=====
+
+- improve inverted cursor support
+- use system-wide trust certificate store
+- make sasl support work with other method than MD5
+- fix some clipboard crasher, limit clipboard size
+- fix various regressions:
+ usbredir, alt-tab on win32, palette crash, agent notification, old
+ protocol support, sasl ending crash, gthread coroutine crash, close
+ sockets on migration, pulse backend crash
+- fix a few memory leaks
+- build-sys improvements
+
v0.21
=====
commit c48b516f8ed52f4983073bb99055fea25cb12aa5
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date: Tue Nov 26 19:49:20 2013 +0100
build-sys: bump spice-glib version
new symbols in spice-glib, bump before release
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 5af6642..9c7300f 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -173,7 +173,7 @@ nodist_libspice_client_gtkinclude_HEADERS = \
$(NULL)
libspice_client_glib_2_0_la_LDFLAGS = \
- -version-info 12:0:4 \
+ -version-info 13:0:5 \
-no-undefined \
$(GLIB_VERSION_LDFLAGS) \
$(NULL)
commit e9c615c1742dc30f0917a148eb3cffcaf893d934
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date: Tue Nov 26 19:38:24 2013 +0100
continuation: fix "fortify" crash
Since 0508f586, errno.h is included above #undef _FORTIFY_SOURCE.
But it must be placed above system headers to take effect
*** longjmp causes uninitialized stack frame ***:
/home/jwhite/xfer/spice/bin/spicy terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ffff48dc2a7]
/lib/x86_64-linux-gnu/libc.so.6(+0xef239)[0x7ffff48dc239]
/lib/x86_64-linux-gnu/libc.so.6(__longjmp_chk+0x33)[0x7ffff48dc1a3]
/home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x49761)[0x7ffff78f1761]
/home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x499a4)[0x7ffff78f19a4]
/home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x1bae7)[0x7ffff78c3ae7]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x7ffff505f355]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a688)[0x7ffff505f688]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x72)[0x7ffff505fa82]
/home/jwhite/xfer/spice/bin/spicy[0x4054aa]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7ffff480bead]
/home/jwhite/xfer/spice/bin/spicy[0x405679]
diff --git a/gtk/continuation.c b/gtk/continuation.c
index d1249d6..e33d05a 100644
--- a/gtk/continuation.c
+++ b/gtk/continuation.c
@@ -18,10 +18,14 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <config.h>
-#include <errno.h>
-#include <glib.h>
+/* keep this above system headers, but below config.h */
+#ifdef _FORTIFY_SOURCE
#undef _FORTIFY_SOURCE
+#endif
+
+#include <errno.h>
+#include <glib.h>
#include "continuation.h"
commit 880fb96e76909893cc9574ffe685f2071c4ae562
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date: Mon Nov 25 13:32:48 2013 +0100
pulse: do not abort on corking no stream
There is no guarantee that a stream actually exist when min-latency
change is notified.
Check that there is an actual stream before calling cork(). All callers
where previously checking that stream existed. Add a pre-condition to
verify argument and spot that error is from spice-gtk itself.
Fixes the following crash:
#1 0x0000003c12e34105 in abort () at abort.c:92
#2 0x0000003c2c223180 in pa_stream_is_corked (s=0x0) at
pulse/stream.c:2536
#3 0x0000003c2c648cb7 in stream_cork (pulse=<value optimized out>,
s=0x7fbb38, with_flush=0) at spice-pulse.c:227
#4 0x0000003c2c649989 in playback_min_latency_changed (object=<value
optimized out>, pspec=<value optimized out>, data=0x7fbad0) at
spice-pulse.c:674
https://bugzilla.redhat.com/show_bug.cgi?id=1032785
diff --git a/gtk/spice-pulse.c b/gtk/spice-pulse.c
index 5e214c8..c4241d0 100644
--- a/gtk/spice-pulse.c
+++ b/gtk/spice-pulse.c
@@ -161,6 +161,8 @@ static void stream_uncork(SpicePulse *pulse, struct stream *s)
SpicePulsePrivate *p = SPICE_PULSE_GET_PRIVATE(pulse);
pa_operation *o = NULL;
+ g_return_if_fail(s->stream);
+
if (s->cork_op) {
pa_operation_cancel(s->cork_op);
pa_operation_unref(s->cork_op);
@@ -671,7 +673,8 @@ static void playback_min_latency_changed(GObject *object, GParamSpec *pspec, gpo
if (p->last_delay < p->target_delay) {
spice_debug("%s: corking", __FUNCTION__);
- stream_cork(pulse, &p->playback, FALSE);
+ if (p->playback.stream)
+ stream_cork(pulse, &p->playback, FALSE);
} else {
spice_debug("%s: not corking. The current delay satisfies the requirement", __FUNCTION__);
}
More information about the Spice-commits
mailing list