[at-spi2-atk/f16] fix hangs on the login screen
Matthias Clasen
mclasen at fedoraproject.org
Fri Sep 23 21:45:51 UTC 2011
commit 27ef2062be90507b52d4e5aaa680328b36a1fe22
Author: Matthias Clasen <mclasen at redhat.com>
Date: Fri Sep 23 17:45:03 2011 -0400
fix hangs on the login screen
...me-shell-getting-stuck-on-the-login-scree.patch | 46 ++++++++++++++++++++
at-spi2-atk.spec | 9 +++-
2 files changed, 54 insertions(+), 1 deletions(-)
---
diff --git a/0001-Prevent-gnome-shell-getting-stuck-on-the-login-scree.patch b/0001-Prevent-gnome-shell-getting-stuck-on-the-login-scree.patch
new file mode 100644
index 0000000..285b404
--- /dev/null
+++ b/0001-Prevent-gnome-shell-getting-stuck-on-the-login-scree.patch
@@ -0,0 +1,46 @@
+From 95d6e5d7919e7096fc9f77b0a46667f71b09ed5b Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Fri, 23 Sep 2011 17:31:53 -0400
+Subject: [PATCH] Prevent gnome-shell getting stuck on the login screen
+
+The workaround that was committed for this didn't have the
+intended effect, since the timeout was added to the default
+main context, not the one that is used in the recursive
+mainloop.
+
+Without this patch, my login screen would freeze when hitting
+Enter in the password entry, with it, I could successfully log
+in 10 out of 10 times.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=658013
+---
+ atk-adaptor/event.c | 6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c
+index 79c2884..12e6556 100644
+--- a/atk-adaptor/event.c
++++ b/atk-adaptor/event.c
+@@ -100,6 +100,7 @@ send_and_allow_reentry (DBusConnection * bus, DBusMessage * message)
+ DBusPendingCall *pending;
+ SpiReentrantCallClosure closure;
+ GMainContext *main_context;
++ GSource *source;
+
+ main_context = (g_getenv ("AT_SPI_CLIENT") ? NULL :
+ spi_global_app_data->main_context);
+@@ -114,7 +115,10 @@ send_and_allow_reentry (DBusConnection * bus, DBusMessage * message)
+ return NULL;
+ }
+ dbus_pending_call_set_notify (pending, set_reply, (void *) &closure, NULL);
+- closure.timeout = g_timeout_add (500, timeout_reply, &closure);
++ source = g_timeout_source_new (500);
++ g_source_set_callback (source, timeout_reply, &closure, NULL);
++ closure.timeout = g_source_attach (source, main_context);
++ g_source_unref (source);
+ g_main_loop_run (closure.loop);
+ if (closure.timeout != -1)
+ g_source_remove (closure.timeout);
+--
+1.7.6.2
+
diff --git a/at-spi2-atk.spec b/at-spi2-atk.spec
index cf097e2..49cd24a 100644
--- a/at-spi2-atk.spec
+++ b/at-spi2-atk.spec
@@ -1,6 +1,6 @@
Name: at-spi2-atk
Version: 2.1.92
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A GTK+ module that bridges ATK to D-Bus at-spi
Group: System Environment/Libraries
@@ -9,6 +9,9 @@ URL: http://www.linuxfoundation.org/en/AT-SPI_on_D-Bus
#VCS: git:git://git.gnome.org/at-spi-atk
Source0: http://download.gnome.org/sources/at-spi2-atk/2.1/%{name}-%{version}.tar.xz
+# https://bugzilla.gnome.org/show_bug.cgi?id=658013
+Patch0: 0001-Prevent-gnome-shell-getting-stuck-on-the-login-scree.patch
+
BuildRequires: at-spi2-core-devel
BuildRequires: dbus-devel
BuildRequires: dbus-glib-devel
@@ -36,6 +39,7 @@ D-Bus based at-spi.
%prep
%setup -q
+%patch0 -p1
%build
%configure --disable-relocate
@@ -74,6 +78,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas
%changelog
+* Fri Sep 23 2011 Matthias Clasen <mclasen at redhat.com> 2.1.92-2
+- Fix hangs on the login screen
+
* Mon Sep 19 2011 Matthias Clasen <mclasen at redhat.com> 2.1.92-1
- Update to 2.1.92
More information about the scm-commits
mailing list