Hello community,

here is the log from the commit of package spice-gtk for openSUSE:Factory 
checked in at 2012-09-11 09:20:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spice-gtk (Old)
 and      /work/SRC/openSUSE:Factory/.spice-gtk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "spice-gtk", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/spice-gtk/spice-gtk.changes      2012-08-15 
11:20:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.spice-gtk.new/spice-gtk.changes 2012-09-11 
09:20:05.000000000 +0200
@@ -1,0 +2,19 @@
+Fri Sep  7 20:37:48 UTC 2012 - vu...@opensuse.org
+
+- Remove spice-protocol-devel Provides/Obsoletes from
+  spice-gtk-devel: this was a mistake in the 0.12.101 tarball, and
+  the real spice-protocol tarball is still wanted. See
+  http://lists.freedesktop.org/archives/spice-devel/2012-August/010343.html
+
+-------------------------------------------------------------------
+Tue Sep  4 10:54:48 UTC 2012 - dims...@opensuse.org
+
+- Update to version 0.13:
+  + Add support for USB device redirection on Windows.
+  + Add monitors config support (multiple monitors in same display)
+  + Inhibit automount on GNOME desktop, to ease USB redirectio.
+  + Better video support (reduce some glitches).
+  + Misc migration fixes.
+  + Various bug fixes and improvements.
+
+-------------------------------------------------------------------

Old:
----
  spice-gtk-0.12.101.tar.bz2

New:
----
  spice-gtk-0.13.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ spice-gtk.spec ++++++
--- /var/tmp/diff_new_pack.kOjOWV/_old  2012-09-11 09:20:09.000000000 +0200
+++ /var/tmp/diff_new_pack.kOjOWV/_new  2012-09-11 09:20:09.000000000 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           spice-gtk
-Version:        0.12.101
+Version:        0.13
 Release:        0
 # FIXME: /usr/bin/spice-client-glib-usb-acl-helper should be installed u+s, 
see bnc#744251.
 Summary:        Gtk client and libraries for SPICE remote desktop servers
@@ -128,9 +128,6 @@
 Requires:       typelib-1_0-SpiceClientGlib-2_0 = %{version}
 Requires:       typelib-1_0-SpiceClientGtk-2_0 = %{version}
 Requires:       typelib-1_0-SpiceClientGtk-3_0 = %{version}
-# Spice-protocol used to be a separate package, which got merged.
-Provides:       spice-protocol-devel = %{version}
-Obsoletes:      spice-protocol-devel < %{version}
 
 %description devel
 A Gtk client and libraries for SPICE remote desktop servers, (Linux and 
Windows) 
@@ -251,7 +248,6 @@
 %{_includedir}/spice-client-gtk-3.0/
 %{_includedir}/spice-client-gtk-2.0/
 %{_includedir}/spice-controller/
-%{_includedir}//spice-1/
 %{_libdir}/libspice-client-glib-2.0.so
 %{_libdir}/libspice-client-gtk-3.0.so
 %{_libdir}/libspice-client-gtk-2.0.so
@@ -265,6 +261,5 @@
 %{_libdir}/pkgconfig/spice-client-gtk-3.0.pc
 %{_libdir}/pkgconfig/spice-client-gtk-2.0.pc
 %{_libdir}/pkgconfig/spice-controller.pc
-%{_datadir}/pkgconfig/spice-protocol.pc
 
 %changelog

++++++ spice-gtk-0.12.101.tar.bz2 -> spice-gtk-0.13.tar.bz2 ++++++
++++ 1869 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/.tarball-version new/spice-gtk-0.13/.tarball-version
--- old/spice-gtk-0.12.101/.tarball-version     2012-07-17 18:11:07.000000000 
+0200
+++ new/spice-gtk-0.13/.tarball-version 2012-08-28 18:33:02.000000000 +0200
@@ -1 +1 @@
-0.12.101
+0.13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/.version new/spice-gtk-0.13/.version
--- old/spice-gtk-0.12.101/.version     2012-07-17 18:09:11.000000000 +0200
+++ new/spice-gtk-0.13/.version 2012-08-28 18:12:46.000000000 +0200
@@ -1 +1 @@
-0.12.101
+0.13-dirty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/ChangeLog new/spice-gtk-0.13/ChangeLog
--- old/spice-gtk-0.12.101/ChangeLog    2012-07-17 18:11:07.000000000 +0200
+++ new/spice-gtk-0.13/ChangeLog        2012-08-28 18:33:02.000000000 +0200
@@ -1,3 +1,133 @@
+2012-08-28  Marc-André Lureau  <marcandre.lur...@redhat.com>
+
+       Release v0.13
+
+2012-08-26  Dunrong Huang  <riegama...@gmail.com>
+
+       spicy: connect from cli only if hostname and port are provided
+       This patch will fix following error:
+       $ spicy --spice-debug
+       ......
+       (spicy:21981): GSpice-DEBUG: spice-session.c:1618 new main channel, 
switching
+       (spicy:21981): GSpice-DEBUG: spice-gtk-session.c:811 Changing main 
channel from (nil) to 0x8534b0
+       (spicy:21981): GSpice-DEBUG: spicy.c:1587 new channel (#0)
+       (spicy:21981): GSpice-DEBUG: spicy.c:1590 new main channel
+       (spicy:21981): GSpice-DEBUG: spice-channel.c:2255 Open coroutine 
starting 0x8534b0
+       (spicy:21981): GSpice-DEBUG: spice-channel.c:2098 Started background 
coroutine 0x853538 for main-1:0
+       (spicy:21981): GSpice-DEBUG: spice-channel.c:2122 connection failed, 
trying with TLS port
+       (spicy:21981): GSpice-DEBUG: spice-channel.c:2126 Connect error
+       GSpice-Message: main channel: failed to connect
+       ......
+
+       When user starts spicy without any command-line arguments, spicy
+       should not attempt to connected to server automatically because
+       hostname or port are unknown at the moment.
+
+       What this patch changes is to show the dialog window instead of
+       connecting to server automatically if no hostname or port are found.
+
+2012-08-10  Christophe Fergeau  <cferg...@redhat.com>
+
+       Check --spice-disable-effects parameter validity
+       When --spice-disable-effects is used, error out unless this is
+       the name of one of the effects we can disable.
+
+       Fixes rhbz#818848
+
+       Check --spice-color-depth parameter validity
+       When --spice-color-depth is used, error out unless the color depth
+       is 16 or 32.
+
+       Fixes rhbz#818847
+
+2012-08-09  Marc-André Lureau  <marcandre.lur...@redhat.com>
+
+       Update spice-common
+
+2012-08-08  Christophe Fergeau  <cferg...@redhat.com>
+
+       build: make spice-controller.pc installation conditional
+       It shouldn't be installed when controller support is disabled.
+
+       build: generate sym-file
+       When -Wl,--version-script is not available, we fallback to using
+       libtool --export-symbols feature, but the needed sym-file is missing
+       from git. This commit adds generation of the sym-file to the
+       update-map-file Makefile target, and adds a sym-file to git.
+       The linker on OSX Lion doesn't like to have non-existing symbols
+       specified in the symbol files it's given, so the symbols need to
+       be split in glib symbols and gtk symbols.
+
+2012-08-07  Christophe Fergeau  <cferg...@redhat.com>
+
+       build: add --enable-smartcard=auto support
+       Currently, when running configure with no arguments, smartcard
+       support is enabled by default, and configure will fail if it cannot
+       find libcacard. This commit adds a --enable-smartcard=auto mode to
+       configure which will use automatically enable smartcard support if
+       libcacard is available, but it will be silently disabled if libcacard
+       is not available. Passing --enable-smartcard will fail if libcacard
+       is not available. Passing --disable-smartcard will always disable
+       smartcard support and will not test for libcacard availability.
+
+       build: make controller build optional
+       Apart from the Vala bindings, this is the only part of spice-gtk
+       which requires Vala to be built from git. Since it's only useful
+       when spice-gtk is used in conjunction with an oVirt browser plugin,
+       letting people disabling it will not necessarily cause issues.
+
+2012-08-05  Matthias Clasen  <mcla...@redhat.com>
+
+       Don't use GDK_THREADS_ENTER/LEAVE
+       These macros have been deprecated. The quick fix for now is to just use 
the
+       functions gdk_threads_enter/leave instead. They are deprecated as well, 
but
+       deprecated functions don't cause the build to fail (unless you use 
-Werror).
+
+2012-07-30  Hans de Goede  <hdego...@redhat.com>
+
+       Remove "usbredirhost: " prefix from usbredirhost error messages
+       libusbredirhost prefixes all its messages with "usbredirhhost: ", which
+       is useful when logging to stderr, but not so much when showing the error
+       to the user in an error dialog, so remove the "usbredirhost: " prefix
+       when we store the message in a GError.
+
+2012-07-28  Hans de Goede  <hdego...@redhat.com>
+
+       channel-display: Set monitors_max to 1 on init
+       This fixes remote-viewer with the new multi monitor support not working
+       when connecting to a spice-server without the new multi-monitor support.
+
+       Before this fix remote-viewer would hit the following g_return_if_fail:
+       (remote-viewer:24787): remote-viewer-CRITICAL **:
+        virt_viewer_session_spice_display_monitors:
+         assertion `monitors->len <= monitors_max' failed
+
+       spice-widget: release mouse grab on keyboard-grab-inhibit
+       The purpose of the keyboard-grab-inihbit mechanism is to allow other 
apps
+       to grab the input while the spice-widget has the focus, mainly when 
we're
+       going to invoke policykit for usb-redirection, as that the policy-kit
+       agent may want to grab the input.
+
+       Before this patch we were only inhibitting the keyboard grab, which 
works fine
+       for vms which are in client mouse mode, but is not enough for vms which 
are
+       in server mouse mode.
+
+       This patch also releases the mouse grab on keyboard-grab-inhibit, fixing
+       the policykit dialog not showing (and thus usb redir not working) when
+       running with server mouse mode. Note that this makes the 
inhibit-keyboard-grab
+       name of the property no longer really cover what it does, but allas it 
is
+       part of our ABI...
+
+2012-07-18  Marc-André Lureau  <marcandre.lur...@redhat.com>
+
+       Run-time check monitor per display count <= 256
+       Limit range of monitors, to avoid potential crashes lead by invalid
+       received MonitorConfig values (could be misconfigured or misbehaving
+       guest)
+
+       This is a a client-side implementation limitation. Eventually, the
+       range could be inscreased (or unlimited == 0) in the future...
+
 2012-07-16  Marc-André Lureau  <marcandre.lur...@redhat.com>
 
        Enable the display early when the widget is created
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/Makefile.am new/spice-gtk-0.13/Makefile.am
--- old/spice-gtk-0.12.101/Makefile.am  2012-06-08 15:34:04.000000000 +0200
+++ new/spice-gtk-0.13/Makefile.am      2012-08-13 14:57:32.000000000 +0200
@@ -13,9 +13,12 @@
 pkgconfig_DATA =                                       \
        spice-client-glib-2.0.pc                        \
        spice-client-gtk-$(SPICE_GTK_API_VERSION).pc    \
-       spice-controller.pc                             \
        $(NULL)
 
+if WITH_CONTROLLER
+pkgconfig_DATA += spice-controller.pc
+endif
+
 INTLTOOL_FILES =                               \
        intltool-extract.in                     \
        intltool-merge.in                       \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/NEWS new/spice-gtk-0.13/NEWS
--- old/spice-gtk-0.12.101/NEWS 2012-06-08 15:34:04.000000000 +0200
+++ new/spice-gtk-0.13/NEWS     2012-08-28 18:30:27.000000000 +0200
@@ -1,3 +1,15 @@
+v0.13
+=====
+
+- ABI break! SONAME has been bumped, all programs and libraries
+  linking to spice-gtk need to be recompiled against this version
+- Add support for USB device redirection on Windows
+- Add monitors config support (multiple monitors in same display)
+- Inhibit automount on GNOME desktop, to ease USB redirection
+- Better video support (reduce some glitches)
+- Misc migration fixes
+- Various bug fixes and improvements
+
 v0.12
 =====
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/configure.ac new/spice-gtk-0.13/configure.ac
--- old/spice-gtk-0.12.101/configure.ac 2012-07-11 13:17:49.000000000 +0200
+++ new/spice-gtk-0.13/configure.ac     2012-08-28 17:43:59.000000000 +0200
@@ -321,17 +321,21 @@
 
 AC_ARG_ENABLE([smartcard],
   AS_HELP_STRING([--enable-smartcard=@<:@yes/no@:>@],
-                 [Enable smartcard support @<:@default=yes@:>@]),
+                 [Enable smartcard support @<:@default=auto@:>@]),
   [],
-  [enable_smartcard="yes"])
+  [enable_smartcard="auto"])
 
-if test "x$enable_smartcard" = "xno"; then
-  AM_CONDITIONAL(WITH_SMARTCARD, false)
-else
-  PKG_CHECK_MODULES(SMARTCARD, libcacard >= 0.1.2)
-  AC_DEFINE(USE_SMARTCARD, [1], [Define if supporting smartcard proxying])
-  AM_CONDITIONAL(WITH_SMARTCARD, true)
+have_smartcard=no
+if test "x$enable_smartcard" != "xno"; then
+  PKG_CHECK_MODULES(SMARTCARD, libcacard >= 0.1.2, [have_smartcard=yes], 
[have_smartcard=no])
+  if test "x$enable_smartcard" != "xauto" && test "x$have_smartcard" = "xno"; 
then
+    AC_MSG_ERROR("Smartcard support requested but libcacard could not be 
found")
+  fi
+  if test "x$have_smartcard" = "xyes"; then
+    AC_DEFINE(USE_SMARTCARD, [1], [Define if supporting smartcard proxying])
+  fi
 fi
+AM_CONDITIONAL([WITH_SMARTCARD], [test "x$have_smartcard" = "xyes"])
 
 AC_ARG_ENABLE([usbredir],
   AS_HELP_STRING([--enable-usbredir=@<:@auto/yes/no@:>@],
@@ -513,6 +517,13 @@
 GOBJECT_INTROSPECTION_CHECK([0.6.7])
 AM_CONDITIONAL([G_IR_SCANNER_SYMBOL_PREFIX], [test "x$has_symbol_prefix" = 
"xyes"])
 
+AC_ARG_ENABLE([controller],
+  AS_HELP_STRING([--enable-controller], [Enable controller build 
@<:@default=yes@:>@]),
+  [],
+  enable_controller="yes")
+
+AM_CONDITIONAL(WITH_CONTROLLER, [test "x$enable_controller" != "xno"])
+
 AC_ARG_ENABLE([vala],
   AS_HELP_STRING([--enable-vala], [Check for vala requirements 
@<:@default=no@:>@]),
   [],
@@ -649,7 +660,7 @@
         Audio:                    ${with_audio}
         Target:                   ${red_target}
         SASL support:             ${enable_sasl}
-        Smartcard support:        ${enable_smartcard}
+        Smartcard support:        ${have_smartcard}
         USB redirection support:  ${have_usbredir}
         Gtk:                      $GTK_API_VERSION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/data/spicy.nsis new/spice-gtk-0.13/data/spicy.nsis
--- old/spice-gtk-0.12.101/data/spicy.nsis      2012-07-17 18:05:10.000000000 
+0200
+++ new/spice-gtk-0.13/data/spicy.nsis  2012-08-28 18:20:31.000000000 +0200
@@ -9,11 +9,11 @@
 #
 #   makensis spicy.nsis
 #
-# which will generate the output file 'spicy-0.12.101.exe' which is a Windows
+# which will generate the output file 'spicy-0.13.exe' which is a Windows
 # installer containing your program.
 
 Name "spicy"
-OutFile "spicy-0.12.101.exe"
+OutFile "spicy-0.13.exe"
 InstallDir "c:\spicy"
 InstallDirRegKey HKLM SOFTWARE\spicy "Install_Dir"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/doc/reference/html/SpiceDisplayChannel.html 
new/spice-gtk-0.13/doc/reference/html/SpiceDisplayChannel.html
--- old/spice-gtk-0.12.101/doc/reference/html/SpiceDisplayChannel.html  
2012-07-17 18:11:06.000000000 +0200
+++ new/spice-gtk-0.13/doc/reference/html/SpiceDisplayChannel.html      
2012-08-28 18:33:01.000000000 +0200
@@ -177,7 +177,7 @@
 May change during client lifetime, for instance guest may
 reboot or dynamically adjust this.
 </p>
-<p>Allowed values: [1,32767]</p>
+<p>Allowed values: [1,256]</p>
 <p>Default value: 1</p>
 <p class="since">Since 0.13</p>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/doc/reference/html/ch01.html 
new/spice-gtk-0.13/doc/reference/html/ch01.html
--- old/spice-gtk-0.12.101/doc/reference/html/ch01.html 2012-07-17 
18:11:06.000000000 +0200
+++ new/spice-gtk-0.13/doc/reference/html/ch01.html     2012-08-28 
18:33:01.000000000 +0200
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id562740"></a>Object Hierarchy</h2></div></div></div>
+<a name="id358145"></a>Object Hierarchy</h2></div></div></div>
 <pre class="screen">
     GObject
         <a class="link" href="SpiceAudio.html" title="Spice 
Audio">SpiceAudio</a>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/doc/reference/html/ch02.html 
new/spice-gtk-0.13/doc/reference/html/ch02.html
--- old/spice-gtk-0.12.101/doc/reference/html/ch02.html 2012-07-17 
18:11:06.000000000 +0200
+++ new/spice-gtk-0.13/doc/reference/html/ch02.html     2012-08-28 
18:33:01.000000000 +0200
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id562109"></a>Session and Channels Objects, from 
spice-client-glib</h2></div></div></div>
+<a name="id357514"></a>Session and Channels Objects, from 
spice-client-glib</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="SpiceSession.html">Spice 
Session</a></span><span class="refpurpose"> — handles connection details, and 
active channels</span>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/doc/reference/html/ch03.html 
new/spice-gtk-0.13/doc/reference/html/ch03.html
--- old/spice-gtk-0.12.101/doc/reference/html/ch03.html 2012-07-17 
18:11:06.000000000 +0200
+++ new/spice-gtk-0.13/doc/reference/html/ch03.html     2012-08-28 
18:33:01.000000000 +0200
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="id560808"></a>GTK Widget, from spice-client-gtk</h2></div></div></div>
+<a name="id356213"></a>GTK Widget, from spice-client-gtk</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="SpiceGtkSession.html">Spice GTK 
Session</a></span><span class="refpurpose"> — handles GTK connection 
details</span>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/Makefile.am new/spice-gtk-0.13/gtk/Makefile.am
--- old/spice-gtk-0.12.101/gtk/Makefile.am      2012-07-11 13:17:10.000000000 
+0200
+++ new/spice-gtk-0.13/gtk/Makefile.am  2012-08-26 00:00:00.000000000 +0200
@@ -1,6 +1,10 @@
 NULL =
 
-SUBDIRS = controller
+SUBDIRS =
+
+if WITH_CONTROLLER
+SUBDIRS += controller
+endif
 
 # Avoid need for perl(Text::CSV) by end users
 KEYMAPS =                                      \
@@ -51,9 +55,11 @@
 endif
 
 if HAVE_LD_VERSION_SCRIPT
-VERSION_LDFLAGS = -Wl,--version-script=${srcdir}/map-file
+GLIB_VERSION_LDFLAGS = -Wl,--version-script=${srcdir}/map-file
+GTK_VERSION_LD_FLAGS = $(GLIB_VERSION_LDFLAGS)
 else
-VERSION_LDFLAGS = -export-symbols ${srcdir}/sym-file
+GLIB_VERSION_LDFLAGS = -export-symbols ${srcdir}/spice-glib-sym-file
+GTK_VERSION_LDFLAGS = -export-symbols ${srcdir}/spice-gtk-sym-file
 endif
 
 KEYMAP_GEN = $(srcdir)/keymap-gen.pl
@@ -95,7 +101,7 @@
 SPICE_GTK_LDFLAGS_COMMON =             \
        -version-info 4:0:0             \
        -no-undefined                   \
-       $(VERSION_LDFLAGS)              \
+       $(GTK_VERSION_LDFLAGS)          \
        $(NULL)
 
 SPICE_GTK_LIBADD_COMMON =              \
@@ -165,7 +171,7 @@
 libspice_client_glib_2_0_la_LDFLAGS =  \
        -version-info 8:0:0             \
        -no-undefined                   \
-       $(VERSION_LDFLAGS)              \
+       $(GLIB_VERSION_LDFLAGS)         \
        $(NULL)
 
 libspice_client_glib_2_0_la_LIBADD =                                   \
@@ -633,12 +639,16 @@
 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 endif
 
-update-map-file:
+update-symbol-files:
        ( echo "SPICEGTK_1 {" ; \
          echo "global:" ; \
          ctags -f - --c-kinds=p $(libspice_client_gtkinclude_HEADERS) 
$(nodist_libspice_client_gtkinclude_HEADERS) 
$(libspice_client_glibinclude_HEADERS) 
$(nodist_libspice_client_glibinclude_HEADERS) | awk '/^spice_/ { print $$1 ";" 
}' | sort ; \
          echo "local:" ;  \
          echo "*;" ; \
          echo "};" ) > $(srcdir)/map-file
+       ( ctags -f - --c-kinds=p $(libspice_client_glibinclude_HEADERS) 
$(nodist_libspice_client_glibinclude_HEADERS) | awk '/^spice_/ { print $$1 }' | 
sort ; \
+       ) > $(srcdir)/spice-glib-sym-file
+       ( ctags -f - --c-kinds=p $(libspice_client_gtkinclude_HEADERS) 
$(nodist_libspice_client_gtkinclude_HEADERS) | awk '/^spice_/ { print $$1 }' | 
sort ; \
+       ) > $(srcdir)/spice-gtk-sym-file
 
 -include $(top_srcdir)/git.mk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/channel-display.c 
new/spice-gtk-0.13/gtk/channel-display.c
--- old/spice-gtk-0.12.101/gtk/channel-display.c        2012-07-16 
17:46:41.000000000 +0200
+++ new/spice-gtk-0.13/gtk/channel-display.c    2012-08-13 14:57:32.000000000 
+0200
@@ -59,6 +59,8 @@
 #define SPICE_DISPLAY_CHANNEL_GET_PRIVATE(obj)                                 
 \
     (G_TYPE_INSTANCE_GET_PRIVATE((obj), SPICE_TYPE_DISPLAY_CHANNEL, 
SpiceDisplayChannelPrivate))
 
+#define MONITORS_MAX 256
+
 struct _SpiceDisplayChannelPrivate {
     Ring                        surfaces;
     display_cache               *images;
@@ -275,7 +277,7 @@
          g_param_spec_uint("monitors-max",
                            "Max display monitors",
                            "The current maximum number of monitors",
-                           1, G_MAXINT16, 1,
+                           1, MONITORS_MAX, 1,
                            G_PARAM_READABLE |
                            G_PARAM_STATIC_STRINGS));
 
@@ -694,6 +696,7 @@
 #if defined(WIN32)
     c->dc = create_compatible_dc();
 #endif
+    c->monitors_max = 1;
     spice_display_channel_reset_capabilities(SPICE_CHANNEL(channel));
 }
 
@@ -1493,6 +1496,8 @@
     free(surface);
 }
 
+#define CLAMP_CHECK(x, low, high)  (((x) > (high)) ? TRUE : (((x) < (low)) ? 
TRUE : FALSE))
+
 /* coroutine context */
 static void display_handle_monitors_config(SpiceChannel *channel, SpiceMsgIn 
*in)
 {
@@ -1506,6 +1511,16 @@
     SPICE_DEBUG("monitors config: n: %d/%d", config->count, 
config->max_allowed);
 
     c->monitors_max = config->max_allowed;
+    if (CLAMP_CHECK(c->monitors_max, 1, MONITORS_MAX)) {
+        g_warning("MonitorConfig max_allowed is not within permitted range, 
clamping");
+        c->monitors_max = CLAMP(c->monitors_max, 1, MONITORS_MAX);
+    }
+
+    if (CLAMP_CHECK(config->count, 1, c->monitors_max)) {
+        g_warning("MonitorConfig count is not within permitted range, 
clamping");
+        config->count = CLAMP(config->count, 1, c->monitors_max);
+    }
+
     c->monitors = g_array_set_size(c->monitors, config->count);
 
     for (i = 0; i < config->count; i++) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/channel-usbredir.c 
new/spice-gtk-0.13/gtk/channel-usbredir.c
--- old/spice-gtk-0.12.101/gtk/channel-usbredir.c       2012-07-10 
20:26:02.000000000 +0200
+++ new/spice-gtk-0.13/gtk/channel-usbredir.c   2012-08-13 14:57:32.000000000 
+0200
@@ -448,8 +448,13 @@
 
     if (priv->catch_error && level == usbredirparser_error) {
         SPICE_DEBUG("%s", msg);
-        g_set_error_literal(priv->catch_error, SPICE_CLIENT_ERROR,
-                            SPICE_CLIENT_ERROR_FAILED, msg);
+        /* Remove "usbredirhost: " prefix from usbredirhost messages */
+        if (strncmp(msg, "usbredirhost: ", 14) == 0)
+            g_set_error_literal(priv->catch_error, SPICE_CLIENT_ERROR,
+                                SPICE_CLIENT_ERROR_FAILED, msg + 14);
+        else
+            g_set_error_literal(priv->catch_error, SPICE_CLIENT_ERROR,
+                                SPICE_CLIENT_ERROR_FAILED, msg);
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/controller/controller.c 
new/spice-gtk-0.13/gtk/controller/controller.c
--- old/spice-gtk-0.12.101/gtk/controller/controller.c  2012-07-17 
18:09:32.000000000 +0200
+++ new/spice-gtk-0.13/gtk/controller/controller.c      2012-08-28 
18:13:21.000000000 +0200
@@ -1,4 +1,4 @@
-/* controller.c generated by valac 0.16.0, the Vala compiler
+/* controller.c generated by valac 0.17.4.28-e309-dirty, the Vala compiler
  * generated from controller.vala, do not modify */
 
 /* Copyright (C) 2011 Red Hat, Inc.*/
@@ -1855,7 +1855,7 @@
 
 static void spice_ctrl_controller_finalize (GObject* obj) {
        SpiceCtrlController * self;
-       self = SPICE_CTRL_CONTROLLER (obj);
+       self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPICE_CTRL_TYPE_CONTROLLER, 
SpiceCtrlController);
        _g_free0 (self->priv->_host);
        _g_free0 (self->priv->_password);
        _g_free0 (self->priv->_tls_ciphers);
@@ -1888,7 +1888,7 @@
 
 static void _vala_spice_ctrl_controller_get_property (GObject * object, guint 
property_id, GValue * value, GParamSpec * pspec) {
        SpiceCtrlController * self;
-       self = SPICE_CTRL_CONTROLLER (object);
+       self = G_TYPE_CHECK_INSTANCE_CAST (object, SPICE_CTRL_TYPE_CONTROLLER, 
SpiceCtrlController);
        switch (property_id) {
                case SPICE_CTRL_CONTROLLER_HOST:
                g_value_set_string (value, spice_ctrl_controller_get_host 
(self));
@@ -1968,7 +1968,7 @@
 
 static void _vala_spice_ctrl_controller_set_property (GObject * object, guint 
property_id, const GValue * value, GParamSpec * pspec) {
        SpiceCtrlController * self;
-       self = SPICE_CTRL_CONTROLLER (object);
+       self = G_TYPE_CHECK_INSTANCE_CAST (object, SPICE_CTRL_TYPE_CONTROLLER, 
SpiceCtrlController);
        switch (property_id) {
                case SPICE_CTRL_CONTROLLER_HOST:
                spice_ctrl_controller_set_host (self, g_value_get_string 
(value));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/controller/foreign-menu.c 
new/spice-gtk-0.13/gtk/controller/foreign-menu.c
--- old/spice-gtk-0.12.101/gtk/controller/foreign-menu.c        2012-07-17 
18:09:32.000000000 +0200
+++ new/spice-gtk-0.13/gtk/controller/foreign-menu.c    2012-08-28 
18:13:21.000000000 +0200
@@ -1,4 +1,4 @@
-/* foreign-menu.c generated by valac 0.16.0, the Vala compiler
+/* foreign-menu.c generated by valac 0.17.4.28-e309-dirty, the Vala compiler
  * generated from foreign-menu.vala, do not modify */
 
 /* Copyright (C) 2012 Red Hat, Inc.*/
@@ -960,7 +960,7 @@
        _data_->_tmp30__length1 = _data_->title_length1;
        _data_->_tmp31_ = _data_->title_size;
        _data_->_state_ = 3;
-       g_input_stream_read_async (_data_->_tmp29_, _data_->_tmp30_ + 0, 
(gsize) (_data_->_tmp31_ - 0), G_PRIORITY_DEFAULT, NULL, 
spice_ctrl_foreign_menu_handle_client_ready, _data_);
+       g_input_stream_read_async (_data_->_tmp29_, (void*) (_data_->_tmp30_ + 
0), (gsize) (_data_->_tmp31_ - 0), G_PRIORITY_DEFAULT, NULL, 
spice_ctrl_foreign_menu_handle_client_ready, _data_);
        return FALSE;
        _state_3:
        g_input_stream_read_finish (_data_->_tmp29_, _data_->_res_, 
&_data_->_inner_error_);
@@ -1347,7 +1347,7 @@
 
 static void spice_ctrl_foreign_menu_finalize (GObject* obj) {
        SpiceCtrlForeignMenu * self;
-       self = SPICE_CTRL_FOREIGN_MENU (obj);
+       self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPICE_CTRL_TYPE_FOREIGN_MENU, 
SpiceCtrlForeignMenu);
        _g_object_unref0 (self->priv->_menu);
        _g_free0 (self->priv->_title);
        __g_list_free__g_object_unref0_0 (self->priv->clients);
@@ -1369,7 +1369,7 @@
 
 static void _vala_spice_ctrl_foreign_menu_get_property (GObject * object, 
guint property_id, GValue * value, GParamSpec * pspec) {
        SpiceCtrlForeignMenu * self;
-       self = SPICE_CTRL_FOREIGN_MENU (object);
+       self = G_TYPE_CHECK_INSTANCE_CAST (object, 
SPICE_CTRL_TYPE_FOREIGN_MENU, SpiceCtrlForeignMenu);
        switch (property_id) {
                case SPICE_CTRL_FOREIGN_MENU_MENU:
                g_value_set_object (value, spice_ctrl_foreign_menu_get_menu 
(self));
@@ -1386,7 +1386,7 @@
 
 static void _vala_spice_ctrl_foreign_menu_set_property (GObject * object, 
guint property_id, const GValue * value, GParamSpec * pspec) {
        SpiceCtrlForeignMenu * self;
-       self = SPICE_CTRL_FOREIGN_MENU (object);
+       self = G_TYPE_CHECK_INSTANCE_CAST (object, 
SPICE_CTRL_TYPE_FOREIGN_MENU, SpiceCtrlForeignMenu);
        switch (property_id) {
                case SPICE_CTRL_FOREIGN_MENU_MENU:
                spice_ctrl_foreign_menu_set_menu (self, g_value_get_object 
(value));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/controller/menu.c 
new/spice-gtk-0.13/gtk/controller/menu.c
--- old/spice-gtk-0.12.101/gtk/controller/menu.c        2012-07-17 
18:09:32.000000000 +0200
+++ new/spice-gtk-0.13/gtk/controller/menu.c    2012-08-28 18:13:21.000000000 
+0200
@@ -1,4 +1,4 @@
-/* menu.c generated by valac 0.16.0, the Vala compiler
+/* menu.c generated by valac 0.17.4.28-e309-dirty, the Vala compiler
  * generated from menu.vala, do not modify */
 
 /* Copyright (C) 2011 Red Hat, Inc.*/
@@ -385,7 +385,7 @@
 
 static void spice_ctrl_menu_item_finalize (GObject* obj) {
        SpiceCtrlMenuItem * self;
-       self = SPICE_CTRL_MENU_ITEM (obj);
+       self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPICE_CTRL_TYPE_MENU_ITEM, 
SpiceCtrlMenuItem);
        _g_object_unref0 (self->submenu);
        _g_free0 (self->text);
        _g_free0 (self->accel);
@@ -682,7 +682,7 @@
 
 static void spice_ctrl_menu_finalize (GObject* obj) {
        SpiceCtrlMenu * self;
-       self = SPICE_CTRL_MENU (obj);
+       self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPICE_CTRL_TYPE_MENU, 
SpiceCtrlMenu);
        __g_list_free__g_object_unref0_0 (self->items);
        G_OBJECT_CLASS (spice_ctrl_menu_parent_class)->finalize (obj);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/controller/spice-controller.h 
new/spice-gtk-0.13/gtk/controller/spice-controller.h
--- old/spice-gtk-0.12.101/gtk/controller/spice-controller.h    2012-07-17 
18:09:32.000000000 +0200
+++ new/spice-gtk-0.13/gtk/controller/spice-controller.h        2012-08-28 
18:13:21.000000000 +0200
@@ -1,4 +1,4 @@
-/* spice-controller.h generated by valac 0.16.0, the Vala compiler, do not 
modify */
+/* spice-controller.h generated by valac 0.17.4.28-e309-dirty, the Vala 
compiler, do not modify */
 
 
 #ifndef __SPICE_CONTROLLER_H__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/controller/util.c 
new/spice-gtk-0.13/gtk/controller/util.c
--- old/spice-gtk-0.12.101/gtk/controller/util.c        2012-07-17 
18:09:32.000000000 +0200
+++ new/spice-gtk-0.13/gtk/controller/util.c    2012-08-28 18:13:21.000000000 
+0200
@@ -1,4 +1,4 @@
-/* util.c generated by valac 0.16.0, the Vala compiler
+/* util.c generated by valac 0.17.4.28-e309-dirty, the Vala compiler
  * generated from util.vala, do not modify */
 
 /* Copyright (C) 2012 Red Hat, Inc.*/
@@ -168,7 +168,7 @@
                _data_->_tmp5_ = _data_->i;
                _data_->_tmp6_ = _data_->length;
                _data_->_state_ = 1;
-               g_input_stream_read_async (_data_->_tmp3_, _data_->_tmp4_ + 
_data_->_tmp5_, (gsize) (_data_->_tmp6_ - _data_->_tmp5_), G_PRIORITY_DEFAULT, 
NULL, spice_ctrl_input_stream_read_ready, _data_);
+               g_input_stream_read_async (_data_->_tmp3_, (void*) 
(_data_->_tmp4_ + _data_->_tmp5_), (gsize) (_data_->_tmp6_ - _data_->_tmp5_), 
G_PRIORITY_DEFAULT, NULL, spice_ctrl_input_stream_read_ready, _data_);
                return FALSE;
                _state_1:
                _data_->_tmp7_ = 0L;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/spice-gtk-session.c 
new/spice-gtk-0.13/gtk/spice-gtk-session.c
--- old/spice-gtk-0.12.101/gtk/spice-gtk-session.c      2012-07-09 
00:32:19.000000000 +0200
+++ new/spice-gtk-0.13/gtk/spice-gtk-session.c  2012-08-13 14:57:32.000000000 
+0200
@@ -619,9 +619,9 @@
 
     /* apparently, this is needed to avoid dead-lock, from
        gtk_dialog_run */
-    GDK_THREADS_LEAVE();
+    gdk_threads_leave();
     g_main_loop_run(ri.loop);
-    GDK_THREADS_ENTER();
+    gdk_threads_enter();
 
     g_main_loop_unref(ri.loop);
     ri.loop = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/spice-option.c new/spice-gtk-0.13/gtk/spice-option.c
--- old/spice-gtk-0.12.101/gtk/spice-option.c   2012-06-08 15:34:04.000000000 
+0200
+++ new/spice-gtk-0.13/gtk/spice-option.c       2012-08-13 14:57:32.000000000 
+0200
@@ -52,6 +52,56 @@
     return TRUE;
 }
 
+static gboolean parse_color_depth(const gchar *option_name, const gchar *value,
+                                  gpointer data, GError **error)
+{
+    unsigned long parsed_depth;
+    char *end;
+
+    if (option_name == NULL) {
+        g_set_error(error, G_OPTION_ERROR, G_OPTION_ERROR_FAILED, _("missing 
color depth, must be 16 or 32"));
+        return FALSE;
+    }
+
+    parsed_depth = strtoul(value, &end, 0);
+    if (*end != '\0')
+        goto error;
+
+    if ((parsed_depth != 16) && (parsed_depth != 32))
+        goto error;
+
+    color_depth = parsed_depth;
+
+    return TRUE;
+
+error:
+    g_set_error(error, G_OPTION_ERROR, G_OPTION_ERROR_FAILED, _("invalid color 
depth (%s), must be 16 or 32"), value);
+    return FALSE;
+}
+
+static gboolean parse_disable_effects(const gchar *option_name, const gchar 
*value,
+                                      gpointer data, GError **error)
+{
+
+    if ((g_strcmp0(value, "wallpaper") != 0)
+        && (g_strcmp0(value, "font-smooth") != 0)
+        && (g_strcmp0(value, "animation") != 0)
+        && (g_strcmp0(value, "all") != 0)) {
+        /* Translators: do not translate 'wallpaper', 'font-smooth',
+         * 'animation', 'all' as the user must use these values with the
+         * --spice-disable-effects command line option
+         */
+        g_set_error(error, G_OPTION_ERROR, G_OPTION_ERROR_FAILED,
+                    _("invalid effect name (%s), must be 'wallpaper', 
'font-smooth', 'animation' or 'all'"), value);
+        return FALSE;
+    }
+
+    disable_effects = g_strdup(value);
+
+    return TRUE;
+}
+
+
 /**
  * spice_get_option_group:
  *
@@ -63,9 +113,9 @@
 GOptionGroup* spice_get_option_group(void)
 {
     const GOptionEntry entries[] = {
-        { "spice-disable-effects", '\0', 0, G_OPTION_ARG_STRING, 
&disable_effects,
+        { "spice-disable-effects", '\0', 0, G_OPTION_ARG_CALLBACK, 
parse_disable_effects,
           N_("Disable guest display effects"), 
N_("<wallpaper,font-smooth,animation,all>") },
-        { "spice-color-depth", '\0', 0, G_OPTION_ARG_INT, &color_depth,
+        { "spice-color-depth", '\0', 0, G_OPTION_ARG_CALLBACK, 
parse_color_depth,
           N_("Guest display color depth"), N_("<16,32>") },
         { "spice-ca-file", '\0', 0, G_OPTION_ARG_FILENAME, &ca_file,
           N_("Truststore file for secure connections"), N_("<file>") },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/spice-widget.c new/spice-gtk-0.13/gtk/spice-widget.c
--- old/spice-gtk-0.12.101/gtk/spice-widget.c   2012-07-16 17:46:41.000000000 
+0200
+++ new/spice-gtk-0.13/gtk/spice-widget.c       2012-08-21 11:15:01.000000000 
+0200
@@ -372,6 +372,7 @@
     g_object_get(d->session, "inhibit-keyboard-grab",
                  &d->keyboard_grab_inhibit, NULL);
     update_keyboard_grab(display);
+    update_mouse_grab(display);
 }
 
 static void spice_display_dispose(GObject *obj)
@@ -844,7 +845,9 @@
 {
     SpiceDisplayPrivate *d = SPICE_DISPLAY_GET_PRIVATE(display);
 
-    if (d->mouse_grab_enable && !d->disable_inputs)
+    if (d->mouse_grab_enable &&
+        !d->keyboard_grab_inhibit &&
+        !d->disable_inputs)
         try_mouse_grab(display);
     else
         try_mouse_ungrab(display);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/gtk/spicy.c new/spice-gtk-0.13/gtk/spicy.c
--- old/spice-gtk-0.12.101/gtk/spicy.c  2012-07-16 17:46:41.000000000 +0200
+++ new/spice-gtk-0.13/gtk/spicy.c      2012-08-26 00:13:22.000000000 +0200
@@ -1804,6 +1804,7 @@
     GOptionContext *context;
     spice_connection *conn;
     gchar *conf_file, *conf;
+    char *host = NULL, *port = NULL, *tls_port = NULL;
 
 #if !GLIB_CHECK_VERSION(2,31,18)
     g_thread_init(NULL);
@@ -1869,8 +1870,25 @@
     conn = connection_new();
     spice_set_session_option(conn->session);
     spice_cmdline_session_setup(conn->session);
-    connection_connect(conn);
 
+    g_object_get(conn->session,
+                 "host", &host,
+                 "port", &port,
+                 "tls-port", &tls_port,
+                 NULL);
+    /* If user doesn't provide hostname and port, show the dialog window
+       instead of connecting to server automatically */
+    if (host == NULL || (port == NULL && tls_port == NULL)) {
+        int ret = connect_dialog(conn->session);
+        if (ret != 0) {
+            exit(0);
+        }
+    }
+    g_free(host);
+    g_free(port);
+    g_free(tls_port);
+
+    connection_connect(conn);
     if (connections > 0)
         g_main_loop_run(mainloop);
     g_main_loop_unref(mainloop);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/m4/intltool.m4 new/spice-gtk-0.13/m4/intltool.m4
--- old/spice-gtk-0.12.101/m4/intltool.m4       1970-01-01 01:00:00.000000000 
+0100
+++ new/spice-gtk-0.13/m4/intltool.m4   2012-08-22 11:00:52.000000000 +0200
@@ -0,0 +1,237 @@
+## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
+## Copyright (C) 2001 Eazel, Inc.
+## Author: Maciej Stachowiak <m...@noisehavoc.org>
+##         Kenneth Christiansen <kenn...@gnu.org>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
+# serial 42 IT_PROG_INTLTOOL
+AC_DEFUN([IT_PROG_INTLTOOL], [
+AC_PREREQ([2.50])dnl
+AC_REQUIRE([AM_NLS])dnl
+
+case "$am__api_version" in
+    1.[01234])
+       AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
+    ;;
+    *)
+    ;;
+esac
+
+INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 
* 100 + $ 3; }'`
+INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ 
print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+if test -n "$1"; then
+    AC_MSG_CHECKING([for intltool >= $1])
+    AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
+    test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 
"$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+       AC_MSG_ERROR([Your intltool is too old.  You need intltool $1 or 
later.])
+fi
+
+AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
+AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
+AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z 
"$INTLTOOL_EXTRACT"; then
+    AC_MSG_ERROR([The intltool scripts were not found. Please install 
intltool.])
+fi
+
+if test -z "$AM_DEFAULT_VERBOSITY"; then
+  AM_DEFAULT_VERBOSITY=1
+fi
+AC_SUBST([AM_DEFAULT_VERBOSITY])
+
+INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))'
+INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))'
+INTLTOOL__v_MERGE_0='@echo "  ITMRG " [$]@;'
+AC_SUBST(INTLTOOL_V_MERGE)
+AC_SUBST(INTLTOOL__v_MERGE_)
+AC_SUBST(INTLTOOL__v_MERGE_0)
+
+INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))'
+intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))'
+intltool__v_merge_options_0='-q'
+AC_SUBST(INTLTOOL_V_MERGE_OPTIONS)
+AC_SUBST(intltool__v_merge_options_)
+AC_SUBST(intltool__v_merge_options_0)
+
+  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@'
+     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) 
; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x 
-u --no-translations $< [$]@'
+else
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) 
; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir 
[$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x 
-u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir'
+fi
+      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) 
$(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C 
$(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c 
$(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+
+_IT_SUBST(INTLTOOL_DESKTOP_RULE)
+_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
+_IT_SUBST(INTLTOOL_KEYS_RULE)
+_IT_SUBST(INTLTOOL_PROP_RULE)
+_IT_SUBST(INTLTOOL_OAF_RULE)
+_IT_SUBST(INTLTOOL_PONG_RULE)
+_IT_SUBST(INTLTOOL_SERVER_RULE)
+_IT_SUBST(INTLTOOL_SHEET_RULE)
+_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
+_IT_SUBST(INTLTOOL_UI_RULE)
+_IT_SUBST(INTLTOOL_XAM_RULE)
+_IT_SUBST(INTLTOOL_KBD_RULE)
+_IT_SUBST(INTLTOOL_XML_RULE)
+_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
+_IT_SUBST(INTLTOOL_CAVES_RULE)
+_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
+_IT_SUBST(INTLTOOL_THEME_RULE)
+_IT_SUBST(INTLTOOL_SERVICE_RULE)
+_IT_SUBST(INTLTOOL_POLICY_RULE)
+
+# Check the gettext tools to make sure they are GNU
+AC_PATH_PROG(XGETTEXT, xgettext)
+AC_PATH_PROG(MSGMERGE, msgmerge)
+AC_PATH_PROG(MSGFMT, msgfmt)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+
+AC_PATH_PROG(INTLTOOL_PERL, perl)
+if test -z "$INTLTOOL_PERL"; then
+   AC_MSG_ERROR([perl not found])
+fi
+AC_MSG_CHECKING([for perl >= 5.8.1])
+$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+   AC_MSG_ERROR([perl 5.8.1 is required for intltool])
+else
+   IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"`
+   AC_MSG_RESULT([$IT_PERL_VERSION])
+fi
+if test "x$2" != "xno-xml"; then
+   AC_MSG_CHECKING([for XML::Parser])
+   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+       AC_MSG_RESULT([ok])
+   else
+       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+   fi
+fi
+
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
+AC_SUBST(ALL_LINGUAS)
+
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
+  AC_LINK_IFELSE(
+    [AC_LANG_PROGRAM([[]],
+                     [[extern int _nl_msg_cat_cntr;
+                       return _nl_msg_cat_cntr]])],
+    [DATADIRNAME=share],
+    [case $host in
+    *-*-solaris*)
+    dnl On Solaris, if bind_textdomain_codeset is in libc,
+    dnl GNU format message catalog is always supported,
+    dnl since both are added to the libc all together.
+    dnl Hence, we'd like to go with DATADIRNAME=share
+    dnl in this case.
+    AC_CHECK_FUNC(bind_textdomain_codeset,
+      [DATADIRNAME=share], [DATADIRNAME=lib])
+    ;;
+    *)
+    [DATADIRNAME=lib]
+    ;;
+    esac])
+fi
+AC_SUBST(DATADIRNAME)
+
+IT_PO_SUBDIR([po])
+
+])
+
+
+# IT_PO_SUBDIR(DIRNAME)
+# ---------------------
+# All po subdirs have to be declared with this macro; the subdir "po" is
+# declared by IT_PROG_INTLTOOL.
+#
+AC_DEFUN([IT_PO_SUBDIR],
+[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
+dnl
+dnl The following CONFIG_COMMANDS should be executed at the very end
+dnl of config.status.
+AC_CONFIG_COMMANDS_PRE([
+  AC_CONFIG_COMMANDS([$1/stamp-it], [
+    if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
+       AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
+    fi
+    rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
+    >"$1/stamp-it.tmp"
+    [sed '/^#/d
+        s/^[[].*] *//
+        /^[    ]*$/d
+       '"s|^|  $ac_top_srcdir/|" \
+      "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
+    ]
+    [sed '/^POTFILES =/,/[^\\]$/ {
+               /^POTFILES =/!d
+               r $1/POTFILES
+         }
+        ' "$1/Makefile.in" >"$1/Makefile"]
+    rm -f "$1/Makefile.tmp"
+    mv "$1/stamp-it.tmp" "$1/stamp-it"
+  ])
+])dnl
+])
+
+# _IT_SUBST(VARIABLE)
+# -------------------
+# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
+#
+AC_DEFUN([_IT_SUBST],
+[
+AC_SUBST([$1])
+m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
+]
+)
+
+# deprecated macros
+AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
+# A hint is needed for aclocal from Automake <= 1.9.4:
+# AC_DEFUN([AC_PROG_INTLTOOL], ...)
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/spice-gtk-0.12.101/spice-common/Makefile.am 
new/spice-gtk-0.13/spice-common/Makefile.am
--- old/spice-gtk-0.12.101/spice-common/Makefile.am     2012-07-16 
17:45:48.000000000 +0200
+++ new/spice-gtk-0.13/spice-common/Makefile.am 2012-08-09 12:49:25.000000000 
+0200
@@ -1,7 +1,8 @@
 NULL =
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = python_modules common spice-protocol
+SUBDIRS = python_modules common
+DIST_SUBDIRS = spice-protocol $(SUBDIRS)
 
 EXTRA_DIST =                           \
        spice_codegen.py                \

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to