v0.34 release
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
parent
dc9be38dea
commit
a004c19da9
@ -1,44 +0,0 @@
|
||||
From 68c2d656e3f3d9c6d2027ae8eacf3064a8b88efa Mon Sep 17 00:00:00 2001
|
||||
From: Victor Toso <me@victortoso.com>
|
||||
Date: Fri, 14 Oct 2016 18:12:01 +0200
|
||||
Subject: [PATCH] clipboard: Fix crash by handling error
|
||||
|
||||
As manual states below, text could be NULL for different reasons and
|
||||
we should handle that. I've included a debug message to help
|
||||
identifying possible regressions from wayland's clipboard.
|
||||
|
||||
This crash is a regression from 7b0de6217670e0f668aff2949f
|
||||
|
||||
"The text parameter to callback will contain the resulting text if
|
||||
the request succeeded, or NULL if it failed. This could happen for
|
||||
various reasons, in particular if the clipboard was empty or if the
|
||||
contents of the clipboard could not be converted into text form."
|
||||
|
||||
Resolves: rhbz#1384676
|
||||
|
||||
Signed-off-by: Victor Toso <victortoso@redhat.com>
|
||||
Acked-by: Pavel Grunt <pgrunt@redhat.com>
|
||||
(cherry picked from commit 03c016bea939ee4a26e90d80fa1012a993a8ea47)
|
||||
---
|
||||
src/spice-gtk-session.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
|
||||
index 3ff4e9a..3e0ec74 100644
|
||||
--- a/src/spice-gtk-session.c
|
||||
+++ b/src/spice-gtk-session.c
|
||||
@@ -945,6 +945,11 @@ static void clipboard_received_text_cb(GtkClipboard *clipboard,
|
||||
if (self == NULL)
|
||||
return;
|
||||
|
||||
+ if (text == NULL) {
|
||||
+ SPICE_DEBUG("Failed to retrieve clipboard text");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
g_return_if_fail(SPICE_IS_GTK_SESSION(self));
|
||||
|
||||
selection = get_selection_from_clipboard(self->priv, clipboard);
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,56 +0,0 @@
|
||||
From c576359ce356c071e8955c773d0781151d5b199b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 8 Jun 2017 00:38:45 +0400
|
||||
Subject: [PATCH spice-gtk 1/2] widget: skip spice_egl_resize_display() if
|
||||
context is not ready
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
And call spice_egl_resize_display() when initializing the context.
|
||||
|
||||
The display must not call spice_egl_resize_display() if the egl/gl
|
||||
context isn't ready. set_egl_enabled() is called whenever we get gl
|
||||
drawing command from spice server. But the egl/gl context may not be
|
||||
ready at that time. That function must still be run to switch the
|
||||
display to GL, but has to delay any GL call to after the GL context is
|
||||
realized. Add spice_egl_resize_display() there, to do the remaining
|
||||
egl setup.
|
||||
|
||||
This fixes the "Couldn't find current GL or GLX context" error for me
|
||||
on X11. I thought first it was somehow related to commit a395ac59447de
|
||||
"spice-widget: init egl only after first gl_scanout", but reverting it
|
||||
didn't solve the problem, there are other timing changes, probably at
|
||||
gtk level.
|
||||
|
||||
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||
Acked-by: Victor Toso <victortoso@redhat.com>
|
||||
---
|
||||
src/spice-widget.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/spice-widget.c b/src/spice-widget.c
|
||||
index 1a1d5a6..1e09389 100644
|
||||
--- a/src/spice-widget.c
|
||||
+++ b/src/spice-widget.c
|
||||
@@ -1327,7 +1327,7 @@ static void set_egl_enabled(SpiceDisplay *display, bool enabled)
|
||||
enabled ? "gl-area" : "draw-area");
|
||||
}
|
||||
|
||||
- if (enabled) {
|
||||
+ if (enabled && d->egl.context_ready) {
|
||||
spice_egl_resize_display(display, d->ww, d->wh);
|
||||
}
|
||||
|
||||
@@ -2861,6 +2861,8 @@ void spice_display_widget_gl_scanout(SpiceDisplay *display)
|
||||
g_critical("egl realize failed: %s", err->message);
|
||||
g_clear_error(&err);
|
||||
}
|
||||
+
|
||||
+ spice_egl_resize_display(display, d->ww, d->wh);
|
||||
}
|
||||
#endif
|
||||
|
||||
--
|
||||
2.13.1.395.gf7b71de06
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 214b3396de62ace3e93ba14e5cff015244a52aff Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 8 Jun 2017 00:41:49 +0400
|
||||
Subject: [PATCH spice-gtk 2/2] widget: call gl-draw when skipping draw
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It's a bad idea to hold the GL scanout for a long time, especially in
|
||||
error cases. (fwiw, qemu has 1s tolerance before complaining, and the
|
||||
guest is most likely going to hang meanwhile, stuck on the GPU)
|
||||
|
||||
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||
Acked-by: Victor Toso <victortoso@redhat.com>
|
||||
---
|
||||
src/spice-widget.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/spice-widget.c b/src/spice-widget.c
|
||||
index 1e09389..979e5fb 100644
|
||||
--- a/src/spice-widget.c
|
||||
+++ b/src/spice-widget.c
|
||||
@@ -2891,7 +2891,11 @@ static void gl_draw(SpiceDisplay *display,
|
||||
|
||||
set_egl_enabled(display, true);
|
||||
|
||||
- g_return_if_fail(d->egl.context_ready);
|
||||
+ if (!d->egl.context_ready) {
|
||||
+ SPICE_DEBUG("Draw without GL context, skipping");
|
||||
+ spice_display_gl_draw_done(SPICE_DISPLAY_CHANNEL(d->display));
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
#if GTK_CHECK_VERSION(3,16,0)
|
||||
GtkWidget *gl = gtk_stack_get_child_by_name(d->stack, "gl-area");
|
||||
--
|
||||
2.13.1.395.gf7b71de06
|
||||
|
@ -1,59 +0,0 @@
|
||||
From 291f3e4419e6fb4077ae43a5e09eb1c37b9dd729 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Toso <me@victortoso.com>
|
||||
Date: Tue, 29 Nov 2016 22:34:04 +0100
|
||||
Subject: [PATCH spice-gtk] channel-usbredir: Fix crash on channel-up
|
||||
|
||||
SpiceSession does not initialize its SpiceUsbDeviceManager object on
|
||||
startup that could lead to a race condition where channel-usbredir is
|
||||
requested to flush data while it is uninitialized.
|
||||
|
||||
In a few places, spice_usb_device_manager_get() is called as in
|
||||
usb-device-widget.c and spice-gtk-session.c but not used in
|
||||
spicy-stats, making the tool to crash on startup if it encounters an
|
||||
usbredir channel.
|
||||
|
||||
#0 in usbredirhost_write_guest_data (host=0x0) at usbredir/usbredirhost/usbredirhost.c:876
|
||||
#1 in spice_usbredir_channel_up (c=0x643830) at channel-usbredir.c:821
|
||||
#2 in spice_channel_up (channel=0x643830) at spice-channel.c:1238
|
||||
#3 in spice_channel_recv_auth (channel=0x643830) at spice-channel.c:1225
|
||||
#4 in spice_channel_coroutine (data=0x643830) at spice-channel.c:2580
|
||||
#5 in coroutine_trampoline (cc=0x642ec0) at coroutine_ucontext.c:63
|
||||
#6 in continuation_trampoline (i0=6565568, i1=0) at continuation.c:55
|
||||
|
||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1399838
|
||||
|
||||
Signed-off-by: Victor Toso <victortoso@redhat.com>
|
||||
Reported-by: Michael Cullen <michael@cullen-online.com>
|
||||
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
|
||||
---
|
||||
src/spice-session.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/spice-session.c b/src/spice-session.c
|
||||
index f900bd1..cc3dbdd 100644
|
||||
--- a/src/spice-session.c
|
||||
+++ b/src/spice-session.c
|
||||
@@ -281,6 +281,7 @@ static void spice_session_init(SpiceSession *session)
|
||||
{
|
||||
SpiceSessionPrivate *s;
|
||||
gchar *channels;
|
||||
+ GError *err = NULL;
|
||||
|
||||
SPICE_DEBUG("New session (compiled from package " PACKAGE_STRING ")");
|
||||
s = session->priv = SPICE_SESSION_GET_PRIVATE(session);
|
||||
@@ -293,6 +294,12 @@ static void spice_session_init(SpiceSession *session)
|
||||
s->images = cache_image_new((GDestroyNotify)pixman_image_unref);
|
||||
s->glz_window = glz_decoder_window_new();
|
||||
update_proxy(session, NULL);
|
||||
+
|
||||
+ s->usb_manager = spice_usb_device_manager_get(session, &err);
|
||||
+ if (err != NULL) {
|
||||
+ SPICE_DEBUG("Could not initialize SpiceUsbDeviceManager - %s", err->message);
|
||||
+ g_clear_error(&err);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
2.13.1.395.gf7b71de06
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
19e1b9aa6c59cab776ba5aa633491b7e spice-gtk-0.33.tar.bz2
|
||||
SHA512 (spice-gtk-0.34.tar.bz2) = 17ea737511855b47f5eaf5143756483542cf8ee83f8d276cbfb2c0407355f68ed329fcbed8a67737179f3e53587710634d6faa856590234ee68be7b4b13f2689
|
||||
|
@ -1,8 +1,8 @@
|
||||
#define _version_suffix
|
||||
|
||||
Name: spice-gtk
|
||||
Version: 0.33
|
||||
Release: 6%{?dist}
|
||||
Version: 0.34
|
||||
Release: 1%{?dist}
|
||||
Summary: A GTK+ widget for SPICE clients
|
||||
|
||||
Group: System Environment/Libraries
|
||||
@ -10,10 +10,6 @@ License: LGPLv2+
|
||||
URL: http://spice-space.org/page/Spice-Gtk
|
||||
#VCS: git:git://anongit.freedesktop.org/spice/spice-gtk
|
||||
Source0: http://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.bz2
|
||||
Patch1: 0001-clipboard-Fix-crash-by-handling-error.patch
|
||||
Patch2: 0002-widget-skip-spice_egl_resize_display-if-context-is-n.patch
|
||||
Patch3: 0003-widget-call-gl-draw-when-skipping-draw.patch
|
||||
Patch4: 0004-channel-usbredir-Fix-crash-on-channel-up.patch
|
||||
|
||||
BuildRequires: git-core
|
||||
BuildRequires: intltool
|
||||
@ -195,9 +191,12 @@ rm -f %{buildroot}%{_libdir}/*.la
|
||||
%{_bindir}/spicy-stats
|
||||
|
||||
%changelog
|
||||
* Mon Jul 31 2017 Marc-André Lureau <marcandre.lureau@redhat.com> - 0.34-1
|
||||
- v0.34 release
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.33-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
<<<
|
||||
* Tue Jun 20 2017 Cole Robinson <crobinso@redhat.com> - 0.33-5
|
||||
- channel-usbredir: Fix crash on channel-up. Resolves: rhbz#1399838
|
||||
- usbutils no longer ships usb.ids, it is hwdata now, set path manually.
|
||||
|
Loading…
Reference in New Issue
Block a user