rpms/vino/FC-6 vino-2.13.5-login-hang.patch, NONE, 1.1 vino.spec, 1.38, 1.39
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Oct 17 21:35:26 UTC 2006
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 at redhat.com> - 2.13.5-5
+- Fix #191160, #210855
+
* Wed Jul 12 2006 Jesse Keating <jkeating at redhat.com> - 2.13.5-4.1
- rebuild
More information about the fedora-cvs-commits
mailing list