Update to new 0.32 upstream release

This commit is contained in:
Marc-André Lureau 2016-06-21 17:04:20 +02:00
parent ba23fbbe4e
commit 696d367226
3 changed files with 19 additions and 166 deletions

View File

@ -1,81 +0,0 @@
From ec6bfc00f81afddbdcc0fac86d7039385d89c6b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
Date: Wed, 23 Mar 2016 17:11:08 +0100
Subject: [spice-gtk] main: don't update display timer for unchanged config
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
With virgl, set_monitor_ready() may be called each time the scanout is
updated to set the monitor area. This will call
spice_main_update_display(), and keep the timer postponed even if the
monitor configuration didn't change. Treat unchanged configuration as a
no-op and keep configuration timer unchanged. This fixes monitor
autoconfig with virgl (when the display is regularly updated).
It also solves/avoids problems with a guest running on wayland when the
"resize-guest" property is TRUE.
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=1266484
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
---
src/channel-main.c | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/src/channel-main.c b/src/channel-main.c
index 8dd580a..4a1f58a 100644
--- a/src/channel-main.c
+++ b/src/channel-main.c
@@ -121,6 +121,14 @@ typedef enum {
DISPLAY_ENABLED,
} SpiceDisplayState;
+typedef struct {
+ int x;
+ int y;
+ int width;
+ int height;
+ SpiceDisplayState display_state;
+} SpiceDisplayConfig;
+
struct _SpiceMainChannelPrivate {
enum SpiceMouseMode mouse_mode;
bool agent_connected;
@@ -140,13 +148,7 @@ struct _SpiceMainChannelPrivate {
guint agent_msg_pos;
uint8_t agent_msg_size;
uint32_t agent_caps[VD_AGENT_CAPS_SIZE];
- struct {
- int x;
- int y;
- int width;
- int height;
- SpiceDisplayState display_state;
- } display[MAX_DISPLAY];
+ SpiceDisplayConfig display[MAX_DISPLAY];
gint timer_id;
GQueue *agent_msg_queue;
GHashTable *file_xfer_tasks;
@@ -2688,10 +2690,15 @@ void spice_main_update_display(SpiceMainChannel *channel, int id,
g_return_if_fail(id < SPICE_N_ELEMENTS(c->display));
- c->display[id].x = x;
- c->display[id].y = y;
- c->display[id].width = width;
- c->display[id].height = height;
+ SpiceDisplayConfig display = {
+ .x = x, .y = y, .width = width, .height = height,
+ .display_state = c->display[id].display_state
+ };
+
+ if (memcmp(&display, &c->display[id], sizeof(SpiceDisplayConfig)) == 0)
+ return;
+
+ c->display[id] = display;
if (update)
update_display_timer(channel, 1);

View File

@ -1 +1 @@
1ef438eabc19b0f339d746a93cab4f56 spice-gtk-0.31.tar.bz2
09930abb5ebe1b25b0f6988eb5716f98 spice-gtk-0.32.tar.bz2

View File

@ -1,8 +1,8 @@
#define _version_suffix
Name: spice-gtk
Version: 0.31
Release: 2%{?dist}
Version: 0.32
Release: 1%{?dist}
Summary: A GTK+ widget for SPICE clients
Group: System Environment/Libraries
@ -10,20 +10,17 @@ 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
Patch0: 0001-main-don-t-update-display-timer-for-unchanged-config.patch
BuildRequires: intltool
BuildRequires: gtk2-devel >= 2.14
BuildRequires: usbredir-devel >= 0.5.2
BuildRequires: libusb1-devel >= 1.0.9
BuildRequires: libgudev1-devel
BuildRequires: pixman-devel openssl-devel libjpeg-turbo-devel
BuildRequires: celt051-devel pulseaudio-libs-devel opus-devel
BuildRequires: pygtk2-devel python-devel zlib-devel
BuildRequires: zlib-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: libcacard-devel
BuildRequires: gobject-introspection-devel
BuildRequires: dbus-glib-devel
BuildRequires: libacl-devel
BuildRequires: polkit-devel
BuildRequires: gtk-doc
@ -34,25 +31,13 @@ BuildRequires: libphodav-devel
BuildRequires: lz4-devel
BuildRequires: gtk3-devel
BuildRequires: spice-protocol >= 0.12.11
BuildRequires: gstreamer1-devel gstreamer1-plugins-base-devel
Requires: spice-glib%{?_isa} = %{version}-%{release}
%description
Client libraries for SPICE desktop servers.
%package devel
Summary: Development files to build GTK2 applications with spice-gtk-2.0
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: spice-glib-devel%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: gtk2-devel
%description devel
spice-client-gtk-2.0 provides a SPICE viewer widget for GTK2.
Libraries, includes, etc. to compile with the spice-gtk2 libraries
%package -n spice-glib
Summary: A GObject for communicating with Spice servers
Group: Development/Libraries
@ -102,16 +87,6 @@ Requires: spice-gtk3-devel%{?_isa} = %{version}-%{release}
%description -n spice-gtk3-vala
A module allowing use of the spice-gtk-3.0 widget from vala
%package python
Summary: Python bindings for the spice-gtk-2.0 library
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description python
SpiceClientGtk module provides a SPICE viewer widget for GTK2.
A module allowing use of the spice-gtk-2.0 widget from python
%package tools
Summary: Spice-gtk tools
Group: Applications/Internet
@ -124,63 +99,30 @@ spicy-screenshot is a tool to capture screen-shots of a SPICE desktop.
%prep
%setup -n spice-gtk-%{version}%{?_version_suffix} -c
%setup -q
if [ -n '%{?_version_suffix}' ]; then
mv spice-gtk-%{version}%{?_version_suffix} spice-gtk-%{version}
fi
pushd spice-gtk-%{version}
find . -name '*.stamp' | xargs touch
%autopatch -p1
popd
cp -a spice-gtk-%{version} spice-gtk3-%{version}
%build
CONFIGURE_ARGS="
--enable-gtk-doc
--enable-webdav
--with-usb-acl-helper-dir=%{_libexecdir}/spice-gtk-%{_arch}/
--enable-lz4
"
cd spice-gtk-%{version}
%configure $CONFIGURE_ARGS --with-gtk=2.0
%configure \
--enable-gtk-doc \
--enable-webdav \
--with-usb-acl-helper-dir=%{_libexecdir}/spice-gtk-%{_arch}/ \
--enable-lz4 \
--enable-vala
make %{?_smp_mflags}
cd ..
cd spice-gtk3-%{version}
%configure $CONFIGURE_ARGS --with-gtk=3.0 --enable-vala
make %{?_smp_mflags}
cd ..
%install
cd spice-gtk-%{version}
make install DESTDIR=%{buildroot}
cd ..
cd spice-gtk3-%{version}
make install DESTDIR=%{buildroot}
cd ..
rm -f %{buildroot}%{_libdir}/*.a
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_libdir}/python*/site-packages/*.a
rm -f %{buildroot}%{_libdir}/python*/site-packages/*.la
# needed because of the upstream issue described in
# http://lists.freedesktop.org/archives/spice-devel/2012-August/010343.html
# these are unwanted spice-protocol files
rm -rf %{buildroot}%{_includedir}/spice-1
rm -rf %{buildroot}%{_datadir}/pkgconfig/spice-protocol.pc
%find_lang %{name}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -192,20 +134,12 @@ rm -rf %{buildroot}%{_datadir}/pkgconfig/spice-protocol.pc
%files
%doc spice-gtk-%{version}/AUTHORS
%doc spice-gtk-%{version}/COPYING
%doc spice-gtk-%{version}/README
%doc spice-gtk-%{version}/NEWS
%{_libdir}/libspice-client-gtk-2.0.so.*
%{_libdir}/girepository-1.0/SpiceClientGtk-2.0.typelib
%doc AUTHORS
%doc COPYING
%doc README
%doc NEWS
%{_mandir}/man1/spice-client.1*
%files devel
%{_libdir}/libspice-client-gtk-2.0.so
%{_includedir}/spice-client-gtk-2.0
%{_libdir}/pkgconfig/spice-client-gtk-2.0.pc
%{_datadir}/gir-1.0/SpiceClientGtk-2.0.gir
%files -n spice-glib -f %{name}.lang
%{_libdir}/libspice-client-glib-2.0.so.*
%{_libdir}/libspice-controller.so.*
@ -241,15 +175,15 @@ rm -rf %{buildroot}%{_datadir}/pkgconfig/spice-protocol.pc
%{_datadir}/vala/vapi/spice-client-gtk-3.0.deps
%{_datadir}/vala/vapi/spice-client-gtk-3.0.vapi
%files python
%{_libdir}/python*/site-packages/SpiceClientGtk.so
%files tools
%{_bindir}/spicy
%{_bindir}/spicy-screenshot
%{_bindir}/spicy-stats
%changelog
* Tue Jun 21 2016 Marc-André Lureau <marcandre.lureau@redhat.com> 0.32-1
- Update to new 0.32 upstream release
* Fri Apr 15 2016 Christophe Fergeau <cfergeau@redhat.com> - 0.31-2
- Add upstream patch fixing flickering bug
Resolves: rhbz#1266484