Hello community,

here is the log from the commit of package virt-viewer for openSUSE:Factory
checked in at Tue Sep 27 16:06:58 CEST 2011.



--------
--- virt-viewer/virt-viewer.changes     2011-07-28 20:51:00.000000000 +0200
+++ /mounts/work_src_done/STABLE/virt-viewer/virt-viewer.changes        
2011-09-26 19:58:56.000000000 +0200
@@ -1,0 +2,21 @@
+Mon Sep 26 11:50:07 MDT 2011 - carn...@novell.com
+
+- Update to virt-viewer version 0.4.1
+  + Remove bogus use of AM_GLIB_GNU_GETTEXT macro to try to facilitate BSD 
builds
+  + Support multiple monitors with SPICE and QXL drivers
+  + Don't hardcode SSH port to 22 when tunnelling
+  + Require SPICE-GTK >= 0.6
+  + Hide menu bar when going fullscreen
+  + Support building against GTK2 or GTK3
+  + Convert from Glade to GtkBuilder
+  + Honour 'listen' attribute from <graphics> XML when connecting
+  + Fix reconnection after authentication failure
+  + Make --verbose flag actually do something
+  + Enable scaling with SPICE to match VNC behaviour
+  + Rewrite widget resizing code to (try to) be more reliable
+  + Fill extra space outside guest display with black
+  + Fix (null) in title bar while not connected
+  + Fix multiple memory leaks
+  + Fix reconnecting to display with SPICE
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  virt-viewer-0.3.1.tar.gz
  virtview-reconnect-fix.patch
  vnc-listen.patch

New:
----
  virt-viewer-0.4.1.tar.gz
  virtview-ff-callbacks-fix.patch
  virtview-fullscreen-fix.patch
  virtview-null-print-fix.patch
  virtview-sshport-fix.patch
  virtview-sshport-numbers-fix.patch
  virtview-sshport0-fix.patch
  virtview-ui-lookup-fix.patch
  virtview-wildcard-hostname-fix.patch
  virtview-window-title-fix.patch
  virtview-window-zoom-level-fix.patch
  virtview-xmlparseuri-fix.patch
  virtview-zoom-level-fix.patch

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

Other differences:
------------------
++++++ virt-viewer.spec ++++++
--- /var/tmp/diff_new_pack.xNoCvU/_old  2011-09-27 16:06:52.000000000 +0200
+++ /var/tmp/diff_new_pack.xNoCvU/_new  2011-09-27 16:06:52.000000000 +0200
@@ -18,29 +18,38 @@
 
 
 Name:           virt-viewer
-Version:        0.3.1
-Release:        5
+Version:        0.4.1
+Release:        1
 Summary:        Virtual Machine Viewer
 Group:          System/Monitoring
 License:        GPLv2+
 Url:            http://www.virt-manager.org
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-Source0:        virt-viewer-0.3.1.tar.gz
-Patch0:         virtview-reconnect-fix.patch
-Patch10:        netcat.diff
-Patch11:        vnc-listen.patch
-Patch12:        windows-keycombo.patch
-Patch13:        netware-keycombo.patch
-Patch14:        glade-keycombo.patch
-Patch15:        report-error.patch
+Source0:        virt-viewer-0.4.1.tar.gz
+Patch1:         virtview-fullscreen-fix.patch
+Patch2:         virtview-ui-lookup-fix.patch
+Patch3:         virtview-xmlparseuri-fix.patch
+Patch4:         virtview-sshport-fix.patch
+Patch5:         virtview-sshport0-fix.patch
+Patch6:         virtview-sshport-numbers-fix.patch
+Patch7:         virtview-null-print-fix.patch
+Patch8:         virtview-ff-callbacks-fix.patch
+Patch9:         virtview-zoom-level-fix.patch
+Patch10:        virtview-window-title-fix.patch
+Patch11:        virtview-window-zoom-level-fix.patch
+Patch12:        virtview-wildcard-hostname-fix.patch
+Patch20:        netcat.diff
+Patch21:        windows-keycombo.patch
+Patch22:        netware-keycombo.patch
+Patch23:        glade-keycombo.patch
+Patch24:        report-error.patch
 BuildRequires:  gtk2-devel
 BuildRequires:  libvirt-devel >= 0.6.0
 BuildRequires:  libxml2-devel
 %if %suse_version > 1140
 BuildRequires:  gtk-vnc2-devel
-%else
-BuildRequires:  gtk-vnc-devel >= 0.3.8
 %endif
+BuildRequires:  gtk-vnc-devel >= 0.3.8
 BuildRequires:  libglade2-devel
 %if %suse_version > 1130
 BuildRequires:  libpixman-1-0-devel
@@ -50,6 +59,7 @@
 BuildRequires:  intltool
 # Our build requirements
 BuildRequires:  xen-devel
+BuildRequires:  vim
 Requires:       netcat
 ExclusiveArch:  %ix86 x86_64
 
@@ -66,15 +76,26 @@
 
 %prep
 %setup -q
-%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
 
 %build
+echo "suse_version = %suse_version"
 %configure GTKVNC_CFLAGS=-I/usr/include/gtk-vnc-1.0 GTKVNC_LIBS=-lgtk-vnc-1.0
 make %{?_smp_mflags}
 
@@ -93,8 +114,8 @@
 %{_mandir}/man1/%{name}*
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/ui
-/usr/share/virt-viewer/ui/about.glade
-/usr/share/virt-viewer/ui/auth.glade
-/usr/share/virt-viewer/ui/viewer.glade
+/usr/share/virt-viewer/ui/virt-viewer-about.xml
+/usr/share/virt-viewer/ui/virt-viewer-auth.xml
+/usr/share/virt-viewer/ui/virt-viewer.xml
 
 %changelog

++++++ glade-keycombo.patch ++++++
--- /var/tmp/diff_new_pack.xNoCvU/_old  2011-09-27 16:06:52.000000000 +0200
+++ /var/tmp/diff_new_pack.xNoCvU/_new  2011-09-27 16:06:52.000000000 +0200
@@ -1,102 +1,121 @@
-Index: virt-viewer-0.3.1/src/viewer.glade
+Index: virt-viewer-0.4.1/src/virt-viewer.xml
 ===================================================================
---- virt-viewer-0.3.1.orig/src/viewer.glade
-+++ virt-viewer-0.3.1/src/viewer.glade
-@@ -145,11 +145,88 @@
-                       </widget>
+--- virt-viewer-0.4.1.orig/src/virt-viewer.xml
++++ virt-viewer-0.4.1/src/virt-viewer.xml
+@@ -191,12 +191,107 @@
+                       </object>
                      </child>
                      <child>
-+                      <widget class="GtkMenuItem" id="menu-send-css">
++                      <object class="GtkMenuItem" id="menu-send-css">
 +                        <property name="visible">True</property>
++                        <property name="can_focus">False</property>
++                        <property 
name="use_action_appearance">False</property>
 +                        <property name="label" 
translatable="yes">Ctrl+Scroll+Scr_oll</property>
 +                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="css"/>
-+                      </widget>
++                        <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                      </object>
 +                    </child>
 +                    <child>
-                       <widget class="GtkSeparatorMenuItem" 
id="separatormenuitem2">
+                       <object class="GtkSeparatorMenuItem" 
id="separatormenuitem2">
                          <property name="visible">True</property>
-                       </widget>
+                         <property name="can_focus">False</property>
+                       </object>
                      </child>
                      <child>
-+                      <widget class="GtkMenuItem" id="menu-send-f8">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">_F8</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="f8"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-f10">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">F1_0</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="f10"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-af10">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">A_lt+F10</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="af10"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-atab">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">Alt+_Tab</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="atab"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-aesc">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">_Alt+Esc</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="aesc"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-cesc">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">_Ctrl+Esc</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="cesc"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-caesc">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">Ctrl+Alt+_Esc</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="caesc"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkMenuItem" id="menu-send-assesc">
-+                        <property name="visible">True</property>
-+                        <property name="label" 
translatable="yes">Alt+Shift+Sh_ift+Esc</property>
-+                        <property name="use_underline">True</property>
-+                        <signal name="activate" handler="viewer_menu_send" 
object="assesc"/>
-+                      </widget>
-+                    </child>
-+                    <child>
-+                      <widget class="GtkSeparatorMenuItem" 
id="separatormenuitem3">
-+                        <property name="visible">True</property>
-+                      </widget>
-+                    </child>
-+                    <child>
-                       <widget class="GtkMenuItem" id="menu-send-caf1">
++                       <object class="GtkMenuItem" id="menu-send-f8">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">_F8</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-f10">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">F1_0</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-af10">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">A_lt+F10</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-atab">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">Alt+_Tab</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-aesc">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">_Alt+Esc</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-cesc">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">_Ctrl+Esc</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-caesc">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">Ctrl+Alt+_Esc</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkMenuItem" id="menu-send-assesc">
++                         <property name="visible">True</property>
++                         <property name="can_focus">False</property>
++                         <property 
name="use_action_appearance">False</property>
++                         <property name="label" 
translatable="yes">Alt+Shift+Sh_ift+Esc</property>
++                         <property name="use_underline">True</property>
++                         <signal name="activate" 
handler="virt_viewer_window_menu_send" swapped="no"/>
++                       </object>
++                     </child>
++                     <child>
++                       <object class="GtkSeparatorMenuItem" 
id="separatormenuitem3">
++                         <property name="visible">True</property>
++                       </object>
++                     </child>
++                     <child>
+                       <object class="GtkMenuItem" id="menu-send-caf1">
                          <property name="visible">True</property>
-                         <property name="label" 
translatable="yes">Ctrl+Alt+F_1</property>
-@@ -246,7 +323,7 @@
-                       </widget>
+                         <property name="can_focus">False</property>
+@@ -317,7 +412,7 @@
+                       </object>
                      </child>
                      <child>
--                      <widget class="GtkSeparatorMenuItem" 
id="separatormenuitem3">
-+                      <widget class="GtkSeparatorMenuItem" 
id="separatormenuitem4">
+-                      <object class="GtkSeparatorMenuItem" 
id="separatormenuitem3">
++                      <object class="GtkSeparatorMenuItem" 
id="separatormenuitem5">
                          <property name="visible">True</property>
-                       </widget>
-                     </child>
+                         <property name="can_focus">False</property>
+                       </object>

++++++ netcat.diff ++++++
--- /var/tmp/diff_new_pack.xNoCvU/_old  2011-09-27 16:06:52.000000000 +0200
+++ /var/tmp/diff_new_pack.xNoCvU/_new  2011-09-27 16:06:52.000000000 +0200
@@ -1,13 +1,13 @@
-Index: virt-viewer-0.3.1/src/viewer.c
+Index: virt-viewer-0.4.1/src/virt-viewer-app.c
 ===================================================================
---- virt-viewer-0.3.1.orig/src/viewer.c
-+++ virt-viewer-0.3.1/src/viewer.c
-@@ -741,7 +741,7 @@ static int viewer_open_tunnel_ssh(const
+--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
++++ virt-viewer-0.4.1/src/virt-viewer-app.c
+@@ -331,7 +331,7 @@ virt_viewer_app_open_tunnel_ssh(const ch
                cmd[n++] = sshuser;
        }
        cmd[n++] = sshhost;
 -      cmd[n++] = "nc";
 +      cmd[n++] = "netcat";
        if (port) {
-               cmd[n++] = "localhost";
+               cmd[n++] = host;
                cmd[n++] = port;

++++++ netware-keycombo.patch ++++++
--- /var/tmp/diff_new_pack.xNoCvU/_old  2011-09-27 16:06:52.000000000 +0200
+++ /var/tmp/diff_new_pack.xNoCvU/_new  2011-09-27 16:06:52.000000000 +0200
@@ -1,35 +1,35 @@
-Index: virt-viewer-0.3.1/src/viewer.c
+Index: virt-viewer-0.4.1/src/virt-viewer-window.c
 ===================================================================
---- virt-viewer-0.3.1.orig/src/viewer.c
-+++ virt-viewer-0.3.1/src/viewer.c
-@@ -63,7 +63,7 @@ static const char * const menuNames[LAST
- };
- 
+--- virt-viewer-0.4.1.orig/src/virt-viewer-window.c
++++ virt-viewer-0.4.1/src/virt-viewer-window.c
+@@ -502,7 +502,7 @@ virt_viewer_window_enter_fullscreen(Virt
+ #endif
+ }
  
 -#define MAX_KEY_COMBO 3
 +#define MAX_KEY_COMBO 4
  struct        keyComboDef {
        guint keys[MAX_KEY_COMBO];
        guint nkeys;
-@@ -73,7 +73,16 @@ struct      keyComboDef {
+@@ -512,7 +512,16 @@ struct    keyComboDef {
  static const struct keyComboDef keyCombos[] = {
        { { GDK_Control_L, GDK_Alt_L, GDK_Delete }, 3, "Ctrl+Alt+_Del"},
        { { GDK_Control_L, GDK_Alt_L, GDK_BackSpace }, 3, 
"Ctrl+Alt+_Backspace"},
--        { { GDK_Control_R, GDK_Scroll_Lock, GDK_Scroll_Lock }, 3, 
"Ctrl+Scroll+Scroll"},
-+        { { GDK_Control_R, GDK_Scroll_Lock, GDK_Scroll_Lock }, 3, 
"Ctrl+Scroll+Scr_oll"},
-+        { {}, 0, "" },
-+        { { GDK_F8 }, 1, "_F8"},
-+        { { GDK_F10 }, 1, "F1_0"},
-+        { { GDK_Alt_L, GDK_F10 }, 2, "A_lt+F10"},
-+        { { GDK_Alt_L, GDK_Tab }, 2, "Alt+_Tab"},
-+        { { GDK_Alt_L, GDK_Escape }, 2, "_Alt+Esc"},
-+        { { GDK_Control_L, GDK_Escape }, 2, "_Ctrl+Esc"},
-+        { { GDK_Control_L, GDK_Alt_L, GDK_Escape }, 3, "Ctrl+Alt+_Esc"},
-+        { { GDK_Alt_R, GDK_Shift_R, GDK_Shift_L, GDK_Escape }, 4, 
"Alt+Shift+Sh_ift+Esc"},
+-      { { GDK_Control_R, GDK_Scroll_Lock, GDK_Scroll_Lock }, 3, 
"Ctrl+Scroll+Scroll"},
++      { { GDK_Control_R, GDK_Scroll_Lock, GDK_Scroll_Lock }, 3, 
"Ctrl+Scroll+Scr_oll"},
++      { {}, 0, "" },
++      { { GDK_F8 }, 1, "_F8"},
++      { { GDK_F10 }, 1, "F1_0"},
++      { { GDK_Alt_L, GDK_F10 }, 2, "A_lt+F10"},
++      { { GDK_Alt_L, GDK_Tab }, 2, "Alt+_Tab"},
++      { { GDK_Alt_L, GDK_Escape }, 2, "_Alt+Esc"},
++      { { GDK_Control_L, GDK_Escape }, 2, "_Ctrl+Esc"},
++      { { GDK_Control_L, GDK_Alt_L, GDK_Escape }, 3, "Ctrl+Alt+_Esc"},
++      { { GDK_Alt_R, GDK_Shift_R, GDK_Shift_L, GDK_Escape }, 4, 
"Alt+Shift+Sh_ift+Esc"},
        { {}, 0, "" },
        { { GDK_Control_L, GDK_Alt_L, GDK_F1 }, 3, "Ctrl+Alt+F_1"},
        { { GDK_Control_L, GDK_Alt_L, GDK_F2 }, 3, "Ctrl+Alt+F_2"},
-@@ -83,10 +92,10 @@ static const struct keyComboDef keyCombo
+@@ -522,10 +531,10 @@ static const struct keyComboDef keyCombo
        { { GDK_Control_L, GDK_Alt_L, GDK_F6 }, 3, "Ctrl+Alt+F_6"},
        { { GDK_Control_L, GDK_Alt_L, GDK_F7 }, 3, "Ctrl+Alt+F_7"},
        { { GDK_Control_L, GDK_Alt_L, GDK_F8 }, 3, "Ctrl+Alt+F_8"},

++++++ report-error.patch ++++++
--- /var/tmp/diff_new_pack.xNoCvU/_old  2011-09-27 16:06:52.000000000 +0200
+++ /var/tmp/diff_new_pack.xNoCvU/_new  2011-09-27 16:06:52.000000000 +0200
@@ -1,12 +1,12 @@
-Index: virt-viewer-0.3.1/src/viewer.c
+Index: virt-viewer-0.4.1/src/virt-viewer.c
 ===================================================================
---- virt-viewer-0.3.1.orig/src/viewer.c
-+++ virt-viewer-0.3.1/src/viewer.c
-@@ -1118,6 +1118,7 @@ static int viewer_initial_connect(VirtVi
+--- virt-viewer-0.4.1.orig/src/virt-viewer.c
++++ virt-viewer-0.4.1/src/virt-viewer.c
+@@ -421,6 +421,7 @@ virt_viewer_initial_connect(VirtViewerAp
                } else {
-                       viewer_simple_message_dialog(viewer->window, _("Cannot 
find guest domain %s"),
-                                                    viewer->domkey);
-+                      fprintf(stderr, "Cannot find guest %s\n", 
viewer->domkey);
-                       DEBUG_LOG("Cannot find guest %s", viewer->domkey);
+                       virt_viewer_app_simple_message_dialog(app, _("Cannot 
find guest domain %s"),
+                                                             priv->domkey);
++                      fprintf(stderr, "Cannot find guest %s\n", priv->domkey);
+                       DEBUG_LOG("Cannot find guest %s", priv->domkey);
                        goto cleanup;
                }

++++++ virt-viewer-0.3.1.tar.gz -> virt-viewer-0.4.1.tar.gz ++++++
++++ 26396 lines of diff (skipped)

++++++ virtview-ff-callbacks-fix.patch ++++++

Subject: ff callbacks must be invoked from a clean stack
From: Guido Günther a...@sigxcpu.org Tue Aug 16 08:36:13 2011 -0700
Date: Tue Aug 16 08:36:18 2011 -0700:
Git: f3714e36625168fbd06b63e4b9979e7ea8258712

If 'ff' callbacks are invoked directly from the remove
callback they will likely deadlock in libvirt. They must
be invoked from a clean stack, so switch to using a
glib idle callback.

Index: virt-viewer-0.4.1/src/virt-viewer-events.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-events.c
+++ virt-viewer-0.4.1/src/virt-viewer-events.c
@@ -160,6 +160,23 @@ virt_viewer_events_update_handle(int wat
     }
 }
 
+
+static gboolean
+virt_viewer_events_cleanup_handle(gpointer user_data)
+{
+    struct virt_viewer_events_handle *data = user_data;
+
+    DEBUG_LOG("Cleanup of handle %p", data);
+    g_return_val_if_fail(data != NULL, FALSE);
+
+    if (data->ff)
+        (data->ff)(data->opaque);
+
+    free(data);
+    return FALSE;
+}
+
+
 static int
 virt_viewer_events_remove_handle(int watch)
 {
@@ -172,13 +189,14 @@ virt_viewer_events_remove_handle(int wat
 
     DEBUG_LOG("Remove handle %d %d", watch, data->fd);
 
+    if (!data->source)
+        return -1;
+
     g_source_remove(data->source);
     data->source = 0;
     data->events = 0;
-    if (data->ff)
-        (data->ff)(data->opaque);
-    free(data);
 
+    g_idle_add(virt_viewer_events_cleanup_handle, data);
     return 0;
 }
 
@@ -279,6 +297,23 @@ virt_viewer_events_update_timeout(int ti
     }
 }
 
+
+static gboolean
+virt_viewer_events_cleanup_timeout(gpointer user_data)
+{
+    struct virt_viewer_events_timeout *data = user_data;
+
+    DEBUG_LOG("Cleanup of timeout %p", data);
+    g_return_val_if_fail(data != NULL, FALSE);
+
+    if (data->ff)
+        (data->ff)(data->opaque);
+
+    free(data);
+    return FALSE;
+}
+
+
 static int
 virt_viewer_events_remove_timeout(int timer)
 {
@@ -297,11 +332,7 @@ virt_viewer_events_remove_timeout(int ti
     g_source_remove(data->source);
     data->source = 0;
 
-    if (data->ff)
-        (data->ff)(data->opaque);
-
-    free(data);
-
+    g_idle_add(virt_viewer_events_cleanup_timeout, data);
     return 0;
 }
 
++++++ virtview-fullscreen-fix.patch ++++++

Subject: Fix fullscreen should hide taskbar on Windows
From: Marc-André Lureau marcandre.lur...@redhat.com Tue Jul 19 21:04:32 2011 
+0200
Date: Thu Aug 4 13:31:08 2011 +0100:
Git: 80aaff91f9309f2da8a0aa3723b53a493650181e


Index: virt-viewer-0.4.1/src/virt-viewer-window.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-window.c
+++ virt-viewer-0.4.1/src/virt-viewer-window.c
@@ -445,6 +445,9 @@ virt_viewer_window_leave_fullscreen(Virt
        ViewAutoDrawer_SetActive(VIEW_AUTODRAWER(priv->layout), FALSE);
        gtk_widget_show(menu);
        gtk_widget_hide(priv->toolbar);
+#ifdef G_OS_WIN32
+       gtk_widget_set_size_request(GTK_WIDGET(priv->window), -1, -1);
+#endif
        gtk_window_unfullscreen(GTK_WINDOW(priv->window));
 
        if (priv->before_saved) {
@@ -488,6 +491,13 @@ virt_viewer_window_enter_fullscreen(Virt
                gtk_window_move(GTK_WINDOW(priv->window), x, y);
 
        gtk_window_fullscreen(GTK_WINDOW(priv->window));
+#ifdef G_OS_WIN32
+       /* on windows, fullscreen doesn't always hide the taskbar
+          See https://bugzilla.gnome.org/show_bug.cgi?id=652049 */
+       gtk_widget_set_size_request(GTK_WIDGET(priv->window),
+                                   gdk_screen_width(),
+                                   gdk_screen_height());
+#endif
 }
 
 #define MAX_KEY_COMBO 3
++++++ virtview-null-print-fix.patch ++++++

Subject: Don't print (null) as user
From: Guido Günther a...@sigxcpu.org Fri Aug 12 19:50:40 2011 +0200
Date: Sun Aug 14 12:35:52 2011 -0700:
Git: e155f7f656dd2bb5f939996be583e908afeec2a8


Index: virt-viewer-0.4.1/src/virt-viewer-app.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
+++ virt-viewer-0.4.1/src/virt-viewer-app.c
@@ -647,8 +647,10 @@ virt_viewer_app_activate(VirtViewerApp *
                if (priv->port)
                        p = g_strdup_printf(":%d", priv->port);
 
-               virt_viewer_app_trace(self, "Setting up SSH tunnel via 
%s@%s%s\n",
-                                     priv->user, priv->host, p ? p : "");
+               virt_viewer_app_trace(self, "Setting up SSH tunnel via 
%s%s%s%s\n",
+                                     priv->user ? priv->user : "",
+                                     priv->user ? "@" : "",
+                                     priv->host, p ? p : "");
                g_free(p);
 
                if ((fd = virt_viewer_app_open_tunnel_ssh(priv->host, 
priv->port,
++++++ virtview-sshport-fix.patch ++++++

Subject: Fix inverted sshport test that broke SSH tunnelling
From: Daniel P. Berrange berra...@redhat.com Fri Aug 12 15:37:51 2011 +0100
Date: Fri Aug 12 15:37:51 2011 +0100:
Git: 754011f2bc5696466de5f45c3781c7a0cd961b9a


Index: virt-viewer-0.4.1/src/virt-viewer-app.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
+++ virt-viewer-0.4.1/src/virt-viewer-app.c
@@ -319,7 +319,7 @@ virt_viewer_app_open_tunnel_ssh(const ch
        int n = 0;
 
        cmd[n++] = "ssh";
-       if (!sshport) {
+       if (sshport) {
                cmd[n++] = "-p";
                sprintf(portstr, "%d", sshport);
                cmd[n++] = portstr;
++++++ virtview-sshport-numbers-fix.patch ++++++

Subject: Don't print incorrect port numbers
From: Guido Günther a...@sigxcpu.org Fri Aug 12 19:50:29 2011 +0200
Date: Sun Aug 14 12:35:52 2011 -0700:
Git: 60145f31a6fb2c7331101ba4ee7d25d08dd7eb48

The port isn't 22 when we connect to an alternate port given in
.ssh/config.

Index: virt-viewer-0.4.1/src/virt-viewer-app.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
+++ virt-viewer-0.4.1/src/virt-viewer-app.c
@@ -635,6 +635,8 @@ virt_viewer_app_activate(VirtViewerApp *
        if (priv->transport &&
            g_strcasecmp(priv->transport, "ssh") == 0 &&
            !priv->direct) {
+               gchar *p = NULL;
+
                if (priv->gport) {
                        virt_viewer_app_trace(self, "Opening indirect TCP 
connection to display at %s:%s\n",
                                              priv->ghost, priv->gport);
@@ -642,8 +644,12 @@ virt_viewer_app_activate(VirtViewerApp *
                        virt_viewer_app_trace(self, "Opening indirect UNIX 
connection to display at %s\n",
                                              priv->unixsock);
                }
-               virt_viewer_app_trace(self, "Setting up SSH tunnel via 
%s@%s:%d\n",
-                                     priv->user, priv->host, priv->port ? 
priv->port : 22);
+               if (priv->port)
+                       p = g_strdup_printf(":%d", priv->port);
+
+               virt_viewer_app_trace(self, "Setting up SSH tunnel via 
%s@%s%s\n",
+                                     priv->user, priv->host, p ? p : "");
+               g_free(p);
 
                if ((fd = virt_viewer_app_open_tunnel_ssh(priv->host, 
priv->port,
                                                          priv->user, 
priv->ghost,
++++++ virtview-sshport0-fix.patch ++++++

Subject: Don't hardcode ssh port to 0
From: Guido Günther a...@sigxcpu.org Fri Aug 12 19:50:22 2011 +0200
Date: Sun Aug 14 12:35:52 2011 -0700:
Git: 1c00bc2b9541a553c0f6502dadc61eb56edfa355

Many thanks to Luca Capello <l...@pca.it> for debugging this.

Index: virt-viewer-0.4.1/src/virt-viewer-app.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
+++ virt-viewer-0.4.1/src/virt-viewer-app.c
@@ -1311,7 +1311,7 @@ virt_viewer_app_set_connect_info(VirtVie
        priv->transport = g_strdup(transport);
        priv->unixsock = g_strdup(unixsock);
        priv->user = g_strdup(user);
-       priv->port = 0;
+       priv->port = port;
 
        virt_viewer_app_update_pretty_address(self);
 }
++++++ virtview-ui-lookup-fix.patch ++++++

Subject: Lookup UI file correctly, to fix Windows support
From: Marc-André Lureau marcandre.lur...@redhat.com Tue Jul 19 19:18:50 2011 
+0200
Date: Thu Aug 4 13:32:17 2011 +0100:
Git: 1002a220a4e6b7083d0a9bc7dbef64799ae5b496


Index: virt-viewer-0.4.1/src/Makefile.am
===================================================================
--- virt-viewer-0.4.1.orig/src/Makefile.am
+++ virt-viewer-0.4.1/src/Makefile.am
@@ -52,5 +52,4 @@ virt_viewer_CFLAGS = \
        @LIBXML2_CFLAGS@ \
        @LIBVIRT_CFLAGS@ \
        @WARN_CFLAGS@ \
-       -DBUILDER_XML_DIR="\"$(builderxmldir)\"" \
        -DLOCALE_DIR=\""$(datadir)/locale"\"
Index: virt-viewer-0.4.1/src/virt-viewer-util.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-util.c
+++ virt-viewer-0.4.1/src/virt-viewer-util.c
@@ -42,16 +42,34 @@ GtkBuilder *virt_viewer_util_load_ui(con
        if (stat(name, &sb) >= 0) {
                gtk_builder_add_from_file(builder, name, &error);
        } else {
-               gchar *path = g_strdup_printf("%s/%s", BUILDER_XML_DIR, name);
-               gtk_builder_add_from_file(builder, path, &error);
-               g_free(path);
+                const gchar * const * dirs = g_get_system_data_dirs();
+                g_return_val_if_fail(dirs != NULL, NULL);
+
+                while (dirs[0] != NULL) {
+                        gchar *path = g_build_filename(dirs[0], PACKAGE, "ui", 
name, NULL);
+                        if (gtk_builder_add_from_file(builder, path, NULL) != 
0) {
+                                g_free(path);
+                                break;
+                        }
+                        g_free(path);
+                        dirs++;
+                }
+                if (dirs[0] == NULL)
+                        goto failed;
        }
 
-       if (error)
+       if (error) {
                g_error("Cannot load UI description %s: %s", name,
                        error->message);
+                g_clear_error(&error);
+                goto failed;
+        }
 
        return builder;
+failed:
+        g_error("failed to find UI description file");
+        g_object_unref(builder);
+        return NULL;
 }
 
 int
++++++ virtview-wildcard-hostname-fix.patch ++++++

Subject: Fix hostname when XML gives a wildcard address
From: Daniel P. Berrange berra...@redhat.com Mon Sep 19 16:37:57 2011 +0100
Date: Mon Sep 19 16:37:57 2011 +0100:
Git: 41703dd4581c064a110ee3b4371920cbc9356613

When the guest XML contains a wildcard address like 0.0.0.0 or ::,
we can't directly use connect() on it. Instead we have to use the
hostname/IP from the libvirt URI.

Index: virt-viewer-0.4.1/src/virt-viewer.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer.c
+++ virt-viewer-0.4.1/src/virt-viewer.c
@@ -325,6 +325,19 @@ virt_viewer_extract_connect_info(VirtVie
                goto cleanup;
        }
 
+       /* If the XML listen attribute shows a wildcard address, we need to
+        * throw that away since you obviously can't 'connect(2)' to that
+        * from a remote host. Instead we fallback to the hostname used in
+        * the libvirt URI. This isn't perfect but it is better than nothing
+        */
+       if (strcmp(ghost, "0.0.0.0") == 0 ||
+           strcmp(ghost, "::") == 0) {
+               DEBUG_LOG("Guest graphics listen '%s' is a wildcard, replacing 
with '%s'",
+                         ghost, host);
+               g_free(ghost);
+               ghost = g_strdup(host);
+       }
+
        virt_viewer_app_set_connect_info(app, host, ghost, gport, transport, 
unixsock, user, port);
 
        retval = TRUE;
++++++ virtview-window-title-fix.patch ++++++

Subject: Fix setting of window title with domain name
From: Daniel P. Berrange berra...@redhat.com Fri Sep 16 10:57:53 2011 +0100
Date: Fri Sep 16 10:57:53 2011 +0100:
Git: 46cf6410c11dc8369dcf74283656f4bb0e14be8a


Index: virt-viewer-0.4.1/src/virt-viewer-app.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
+++ virt-viewer-0.4.1/src/virt-viewer-app.c
@@ -121,6 +121,7 @@ struct _VirtViewerAppPrivate {
        char *pretty_address;
        gchar *guest_name;
        gboolean grabbed;
+       char *title;
 };
 
 
@@ -135,6 +136,7 @@ enum {
        PROP_SESSION,
        PROP_GUEST_NAME,
        PROP_FULLSCREEN,
+       PROP_TITLE,
 };
 
 void
@@ -386,6 +388,34 @@ virt_viewer_app_trace(VirtViewerApp *sel
        }
 }
 
+static void
+virt_viewer_app_set_window_subtitle(VirtViewerApp *app,
+                                   VirtViewerWindow *window,
+                                   int nth)
+{
+       gchar *subtitle = app->priv->title ? g_strdup_printf("%s (%d)", 
app->priv->title, nth + 1) : NULL;
+       g_object_set(window, "subtitle", subtitle, NULL);
+       g_free(subtitle);
+}
+
+static void
+set_title(gpointer key,
+         gpointer value,
+         gpointer user_data)
+{
+       gint *nth = key;
+       VirtViewerApp *app = user_data;
+       VirtViewerWindow *window = value;
+       virt_viewer_app_set_window_subtitle(app, window, *nth);
+}
+
+static void
+virt_viewer_app_set_all_window_subtitles(VirtViewerApp *app)
+{
+       virt_viewer_app_set_window_subtitle(app, app->priv->main_window, 0);
+       g_hash_table_foreach(app->priv->windows, set_title, app);
+}
+
 static void update_title(gpointer key G_GNUC_UNUSED,
                         gpointer value,
                         gpointer user_data G_GNUC_UNUSED)
@@ -426,6 +456,7 @@ virt_viewer_app_set_nth_window(VirtViewe
        key = g_malloc(sizeof(gint));
        *key = nth;
        g_hash_table_insert(self->priv->windows, key, win);
+       virt_viewer_app_set_window_subtitle(self, win, nth);
 }
 
 static void
@@ -949,6 +980,10 @@ virt_viewer_app_get_property (GObject *o
                g_value_set_boolean(value, priv->fullscreen);
                break;
 
+       case PROP_TITLE:
+               g_value_set_string(value, priv->title);
+               break;
+
         default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
         }
@@ -981,6 +1016,12 @@ virt_viewer_app_set_property (GObject *o
                virt_viewer_app_set_fullscreen(self, 
g_value_get_boolean(value));
                break;
 
+       case PROP_TITLE:
+               g_free(priv->title);
+               priv->title = g_value_dup_string(value);
+               virt_viewer_app_set_all_window_subtitles(self);
+               break;
+
         default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
         }
@@ -1006,6 +1047,7 @@ virt_viewer_app_dispose (GObject *object
                g_object_unref(priv->container);
                priv->container = NULL;
        }
+       g_free(priv->title);
 
        virt_viewer_app_free_connect_info(self);
 
@@ -1134,6 +1176,16 @@ virt_viewer_app_class_init (VirtViewerAp
                                                             G_PARAM_READABLE |
                                                             G_PARAM_WRITABLE |
                                                             
G_PARAM_STATIC_STRINGS));
+       g_object_class_install_property(object_class,
+                                       PROP_TITLE,
+                                       g_param_spec_string("title",
+                                                           "Title",
+                                                           "Title",
+                                                           "",
+                                                           G_PARAM_READABLE |
+                                                           G_PARAM_WRITABLE |
+                                                           
G_PARAM_STATIC_STRINGS));
+
 }
 
 void
Index: virt-viewer-0.4.1/src/virt-viewer.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer.c
+++ virt-viewer-0.4.1/src/virt-viewer.c
@@ -49,7 +49,6 @@ struct _VirtViewerPrivate {
        char *uri;
        virConnectPtr conn;
        char *domkey;
-       char *domtitle;
        gboolean withEvents;
        gboolean waitvm;
        gboolean reconnect;
@@ -414,8 +413,7 @@ virt_viewer_initial_connect(VirtViewerAp
                }
        }
 
-       free(priv->domtitle);
-       priv->domtitle = g_strdup(virDomainGetName(dom));
+       g_object_set(app, "title", virDomainGetName(dom), NULL);
 
        virt_viewer_app_show_status(app, _("Checking guest domain status"));
        if (virDomainGetInfo(dom, &info) < 0) {
++++++ virtview-window-zoom-level-fix.patch ++++++

Subject: Propagate primary window zoom level to secondary windows
From: Daniel P. Berrange berra...@redhat.com Fri Sep 16 11:05:50 2011 +0100
Date: Fri Sep 16 11:07:26 2011 +0100:
Git: fe8551efbaa1425e7db4d59e10a25fa94788e949

Ensure that all windows get a default zoom level of 100. Propagate
the primary window's zoom level to all secondary windows  when
initially creating them

Index: virt-viewer-0.4.1/src/virt-viewer-app.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-app.c
+++ virt-viewer-0.4.1/src/virt-viewer-app.c
@@ -477,6 +477,8 @@ virt_viewer_app_window_new(VirtViewerApp
                              "app", self,
                              "container", container,
                              NULL);
+       if (self->priv->main_window)
+               virt_viewer_window_set_zoom_level(window, 
virt_viewer_window_get_zoom_level(self->priv->main_window));
        virt_viewer_app_set_nth_window(self, nth, window);
        w = virt_viewer_window_get_window(window);
 
Index: virt-viewer-0.4.1/src/virt-viewer-window.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-window.c
+++ virt-viewer-0.4.1/src/virt-viewer-window.c
@@ -310,6 +310,8 @@ virt_viewer_window_init (VirtViewerWindo
                priv->accel_list = g_slist_append(priv->accel_list, 
accels->data);
                g_object_ref(G_OBJECT(accels->data));
        }
+
+       priv->zoomlevel = 100;
 }
 
 static void
@@ -894,6 +896,12 @@ virt_viewer_window_set_zoom_level(VirtVi
        self->priv->zoomlevel = zoom_level;
 }
 
+gint virt_viewer_window_get_zoom_level(VirtViewerWindow *self)
+{
+       g_return_val_if_fail(VIRT_VIEWER_IS_WINDOW(self), 100);
+       return self->priv->zoomlevel;
+}
+
 GtkMenuItem*
 virt_viewer_window_get_menu_displays(VirtViewerWindow *self)
 {
Index: virt-viewer-0.4.1/src/virt-viewer-window.h
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-window.h
+++ virt-viewer-0.4.1/src/virt-viewer-window.h
@@ -65,6 +65,7 @@ VirtViewerNotebook* virt_viewer_window_g
 void virt_viewer_window_set_display(VirtViewerWindow *self, VirtViewerDisplay 
*display);
 void virt_viewer_window_update_title(VirtViewerWindow *self);
 void virt_viewer_window_set_zoom_level(VirtViewerWindow *self, gint 
zoom_level);
+gint virt_viewer_window_get_zoom_level(VirtViewerWindow *self);
 void virt_viewer_window_leave_fullscreen(VirtViewerWindow *self);
 void virt_viewer_window_enter_fullscreen(VirtViewerWindow *self, gboolean 
move, gint x, gint y);
 GtkMenuItem *virt_viewer_window_get_menu_displays(VirtViewerWindow *self);
++++++ virtview-xmlparseuri-fix.patch ++++++

Subject: Return if xmlParseURI() failed, instead of crashing
From: Marc-André Lureau marcandre.lur...@redhat.com Tue Jul 19 19:32:51 2011 
+0200
Date: Thu Aug 4 13:32:25 2011 +0100:
Git: f08c5308cacda84ab811b85c3cf37ef59383c8c5


Index: virt-viewer-0.4.1/src/virt-viewer-util.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-util.c
+++ virt-viewer-0.4.1/src/virt-viewer-util.c
@@ -88,6 +88,8 @@ virt_viewer_util_extract_host(const char
                uristr = "xen:///";
 
        uri = xmlParseURI(uristr);
+        g_return_val_if_fail(uri != NULL, 1);
+
         if (host) {
                 if (!uri || !uri->server)
                         *host = g_strdup("localhost");
++++++ virtview-zoom-level-fix.patch ++++++

Subject: Fix setting of initial zoom level on display
From: Daniel P. Berrange berra...@redhat.com Tue Aug 16 09:08:51 2011 -0700
Date: Tue Aug 16 09:08:51 2011 -0700:
Git: 8bd178c8a81073c70360ce6af6629ad6bf0e921a


Index: virt-viewer-0.4.1/src/virt-viewer-window.c
===================================================================
--- virt-viewer-0.4.1.orig/src/virt-viewer-window.c
+++ virt-viewer-0.4.1/src/virt-viewer-window.c
@@ -865,6 +865,8 @@ virt_viewer_window_set_display(VirtViewe
        if (display != NULL) {
                priv->display = g_object_ref(display);
 
+               
virt_viewer_display_set_zoom_level(VIRT_VIEWER_DISPLAY(priv->display), 
priv->zoomlevel);
+
                gtk_notebook_append_page(GTK_NOTEBOOK(priv->notebook), 
GTK_WIDGET(display), NULL);
                if (gtk_bin_get_child(GTK_BIN(display)))
                        
gtk_widget_realize(GTK_WIDGET(gtk_bin_get_child(GTK_BIN(display))));
++++++ windows-keycombo.patch ++++++
--- /var/tmp/diff_new_pack.xNoCvU/_old  2011-09-27 16:06:53.000000000 +0200
+++ /var/tmp/diff_new_pack.xNoCvU/_new  2011-09-27 16:06:53.000000000 +0200
@@ -1,12 +1,12 @@
-Index: virt-viewer-0.3.1/src/viewer.c
+Index: virt-viewer-0.4.1/src/virt-viewer-window.c
 ===================================================================
---- virt-viewer-0.3.1.orig/src/viewer.c
-+++ virt-viewer-0.3.1/src/viewer.c
-@@ -73,6 +73,7 @@ struct       keyComboDef {
+--- virt-viewer-0.4.1.orig/src/virt-viewer-window.c
++++ virt-viewer-0.4.1/src/virt-viewer-window.c
+@@ -512,6 +512,7 @@ struct     keyComboDef {
  static const struct keyComboDef keyCombos[] = {
        { { GDK_Control_L, GDK_Alt_L, GDK_Delete }, 3, "Ctrl+Alt+_Del"},
        { { GDK_Control_L, GDK_Alt_L, GDK_BackSpace }, 3, 
"Ctrl+Alt+_Backspace"},
-+        { { GDK_Control_R, GDK_Scroll_Lock, GDK_Scroll_Lock }, 3, 
"Ctrl+Scroll+Scroll"},
++      { { GDK_Control_R, GDK_Scroll_Lock, GDK_Scroll_Lock }, 3, 
"Ctrl+Scroll+Scroll"},
        { {}, 0, "" },
        { { GDK_Control_L, GDK_Alt_L, GDK_F1 }, 3, "Ctrl+Alt+F_1"},
        { { GDK_Control_L, GDK_Alt_L, GDK_F2 }, 3, "Ctrl+Alt+F_2"},


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



Remember to have fun...

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

Reply via email to