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
|
#define _version_suffix
|
||||||
|
|
||||||
Name: spice-gtk
|
Name: spice-gtk
|
||||||
Version: 0.33
|
Version: 0.34
|
||||||
Release: 6%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A GTK+ widget for SPICE clients
|
Summary: A GTK+ widget for SPICE clients
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -10,10 +10,6 @@ License: LGPLv2+
|
|||||||
URL: http://spice-space.org/page/Spice-Gtk
|
URL: http://spice-space.org/page/Spice-Gtk
|
||||||
#VCS: git:git://anongit.freedesktop.org/spice/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
|
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: git-core
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
@ -195,9 +191,12 @@ rm -f %{buildroot}%{_libdir}/*.la
|
|||||||
%{_bindir}/spicy-stats
|
%{_bindir}/spicy-stats
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.33-6
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
<<<
|
||||||
* Tue Jun 20 2017 Cole Robinson <crobinso@redhat.com> - 0.33-5
|
* Tue Jun 20 2017 Cole Robinson <crobinso@redhat.com> - 0.33-5
|
||||||
- channel-usbredir: Fix crash on channel-up. Resolves: rhbz#1399838
|
- channel-usbredir: Fix crash on channel-up. Resolves: rhbz#1399838
|
||||||
- usbutils no longer ships usb.ids, it is hwdata now, set path manually.
|
- usbutils no longer ships usb.ids, it is hwdata now, set path manually.
|
||||||
|
Loading…
Reference in New Issue
Block a user