[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

rpms/vino/FC-6 vino-2.13.5-login-hang.patch, NONE, 1.1 vino.spec, 1.38, 1.39



Author: mclasen

Update of /cvs/dist/rpms/vino/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv12998

Modified Files:
	vino.spec 
Added Files:
	vino-2.13.5-login-hang.patch 
Log Message:
fix a bug


vino-2.13.5-login-hang.patch:
 vino-server.c |   83 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 45 insertions(+), 38 deletions(-)

--- NEW FILE vino-2.13.5-login-hang.patch ---
--- vino-2.8.1.orig/server/vino-server.c
+++ vino-2.8.1/server/vino-server.c
@@ -201,39 +201,6 @@
   return TRUE;
 }
 
-static void
-vino_server_set_client_on_hold (VinoServer            *server,
-				VinoServerClientInfo  *client,
-				gboolean               on_hold)
-{
-  rfbClientPtr rfb_client = client->rfb_client;
-
-  dprintf (RFB, "Setting client '%s' on hold: %s\n",
-	   rfb_client->host, on_hold ? "(true)" : "(false)");
-
-  rfb_client->onHold = on_hold;
-
-  /* We don't process any pending data from an client which is
-   * on hold, so don't let it starve the rest of the mainloop.
-   */
-  g_source_set_priority (g_main_context_find_source_by_id (NULL, client->io_watch),
-			 on_hold ? G_PRIORITY_LOW : G_PRIORITY_DEFAULT);
-
-  if (!on_hold)
-    {
-      if (!client->update_timeout)
-	client->update_timeout = g_timeout_add (50,
-						(GSourceFunc) vino_server_update_client_timeout,
-						rfb_client);
-    }
-  else
-    {
-      if (client->update_timeout)
-	g_source_remove (client->update_timeout);
-      client->update_timeout = 0;
-    }
-}
-
 static inline gboolean
 more_data_pending (int fd)
 {
@@ -257,6 +224,51 @@
   return vino_server_update_client (rfb_client);
 }
 
+static void
+vino_server_set_client_on_hold (VinoServer            *server,
+				VinoServerClientInfo  *client,
+				gboolean               on_hold)
+{
+  rfbClientPtr rfb_client = client->rfb_client;
+
+  dprintf (RFB, "Setting client '%s' on hold: %s\n",
+	   rfb_client->host, on_hold ? "(true)" : "(false)");
+
+  rfb_client->onHold = on_hold;
+
+  if (on_hold)
+  {
+    if (client->io_watch)
+    {
+      g_source_remove(client->io_watch);
+      client->io_watch = 0;
+    }
+
+    if (client->update_timeout)
+    {
+      g_source_remove (client->update_timeout);
+      client->update_timeout = 0;
+    }
+  }
+  else
+  {
+    if (!client->io_watch)
+    {
+      client->io_watch = g_io_add_watch (client->io_channel,
+					G_IO_IN|G_IO_PRI,
+					(GIOFunc) vino_server_client_data_pending,
+					rfb_client);
+    }
+
+    if (!client->update_timeout)
+    {
+      client->update_timeout = g_timeout_add (50,
+					(GSourceFunc) vino_server_update_client_timeout,
+					rfb_client);
+    }
+  }
+}
+
 static enum rfbNewClientAction
 vino_server_handle_new_client (rfbClientPtr rfb_client)
 {
@@ -280,11 +292,6 @@
 
   client->io_channel = g_io_channel_unix_new (rfb_client->sock);
 
-  client->io_watch = g_io_add_watch (client->io_channel,
-				     G_IO_IN|G_IO_PRI,
-				     (GIOFunc) vino_server_client_data_pending,
-				     rfb_client);
-
   server->priv->clients = g_slist_prepend (server->priv->clients, client);
 
   vino_server_set_client_on_hold (server, client, server->priv->on_hold);


Index: vino.spec
===================================================================
RCS file: /cvs/dist/rpms/vino/FC-6/vino.spec,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- vino.spec	12 Jul 2006 08:43:33 -0000	1.38
+++ vino.spec	17 Oct 2006 21:35:24 -0000	1.39
@@ -7,7 +7,7 @@
 Summary: A remote desktop system for GNOME
 Name: vino
 Version: 2.13.5
-Release: 4.1
+Release: 5%{?dist}
 URL: http://www.gnome.org
 Source0: %{name}-%{version}.tar.bz2
 License: GPL
@@ -35,12 +35,16 @@
 
 Prereq: gtk2 >= %{gtk2_version}
 
+# fixed in upstream cvs
+Patch0: vino-2.13.5-login-hang.patch
+
 %description
 Vino is a VNC server for GNOME. It allows remote users to
 connect to a running GNOME session using VNC.
 
 %prep
 %setup -q
+%patch -p1 -b .login-hang.patch
 
 %build
 %configure                   \
@@ -101,6 +105,9 @@
 %{_sysconfdir}/gconf/schemas/*.schemas
 
 %changelog
+* Tue Oct 17 2006 Matthias Clasen <mclasen redhat com> - 2.13.5-5
+- Fix #191160, #210855
+
 * Wed Jul 12 2006 Jesse Keating <jkeating redhat com> - 2.13.5-4.1
 - rebuild
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]