diff --git a/0001-clipboard-Fix-crash-by-handling-error.patch b/0001-clipboard-Fix-crash-by-handling-error.patch deleted file mode 100644 index 1009d5d..0000000 --- a/0001-clipboard-Fix-crash-by-handling-error.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 68c2d656e3f3d9c6d2027ae8eacf3064a8b88efa Mon Sep 17 00:00:00 2001 -From: Victor Toso -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 -Acked-by: Pavel Grunt -(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 - diff --git a/0002-widget-skip-spice_egl_resize_display-if-context-is-n.patch b/0002-widget-skip-spice_egl_resize_display-if-context-is-n.patch deleted file mode 100644 index dd7a203..0000000 --- a/0002-widget-skip-spice_egl_resize_display-if-context-is-n.patch +++ /dev/null @@ -1,56 +0,0 @@ -From c576359ce356c071e8955c773d0781151d5b199b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= -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 -Acked-by: Victor Toso ---- - 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 - diff --git a/0003-widget-call-gl-draw-when-skipping-draw.patch b/0003-widget-call-gl-draw-when-skipping-draw.patch deleted file mode 100644 index 33a5013..0000000 --- a/0003-widget-call-gl-draw-when-skipping-draw.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 214b3396de62ace3e93ba14e5cff015244a52aff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= -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 -Acked-by: Victor Toso ---- - 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 - diff --git a/0004-channel-usbredir-Fix-crash-on-channel-up.patch b/0004-channel-usbredir-Fix-crash-on-channel-up.patch deleted file mode 100644 index 4559891..0000000 --- a/0004-channel-usbredir-Fix-crash-on-channel-up.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 291f3e4419e6fb4077ae43a5e09eb1c37b9dd729 Mon Sep 17 00:00:00 2001 -From: Victor Toso -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 -Reported-by: Michael Cullen -Acked-by: Christophe Fergeau ---- - 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 - diff --git a/sources b/sources index ea4c376..0d58ed3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -19e1b9aa6c59cab776ba5aa633491b7e spice-gtk-0.33.tar.bz2 +SHA512 (spice-gtk-0.34.tar.bz2) = 17ea737511855b47f5eaf5143756483542cf8ee83f8d276cbfb2c0407355f68ed329fcbed8a67737179f3e53587710634d6faa856590234ee68be7b4b13f2689 diff --git a/spice-gtk.spec b/spice-gtk.spec index 1bdbc73..d36ee33 100644 --- a/spice-gtk.spec +++ b/spice-gtk.spec @@ -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 - 0.34-1 +- v0.34 release + * Thu Jul 27 2017 Fedora Release Engineering - 0.33-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - +<<< * Tue Jun 20 2017 Cole Robinson - 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.