diff --git a/at-spi2-atk.spec b/at-spi2-atk.spec index e532a8a..72d82e8 100644 --- a/at-spi2-atk.spec +++ b/at-spi2-atk.spec @@ -1,6 +1,6 @@ Name: at-spi2-atk Version: 0.3.90 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A GTK+ module that bridges ATK to D-Bus at-spi Group: System Environment/Libraries @@ -25,6 +25,9 @@ Requires(pre): GConf2 Requires(post): GConf2 Requires(preun): GConf2 +Patch0: resident-module.patch +Patch1: tab-not-space.patch + %description at-spi allows assistive technologies to access GTK-based applications. Essentially it exposes the internals of applications for @@ -41,11 +44,13 @@ D-Bus based at-spi. %prep %setup -q +%patch0 -p1 -b .resident-module %build %configure sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +patch -p1 < %{PATCH1} make %{?_smp_mflags} @@ -84,6 +89,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/modules/libatk-bridge.la %changelog +* Fri Aug 27 2010 Matthias Clasen - 0.3.90-2 +- Make the gtk module resident to prevent crashes + * Wed Aug 18 2010 Matthias Clasen - 0.3.90-1 - Update to 0.3.90 diff --git a/resident-module.patch b/resident-module.patch new file mode 100644 index 0000000..316fb32 --- /dev/null +++ b/resident-module.patch @@ -0,0 +1,26 @@ +diff -up at-spi2-atk-0.3.90/atk-adaptor/bridge.c.resident-module at-spi2-atk-0.3.90/atk-adaptor/bridge.c +--- at-spi2-atk-0.3.90/atk-adaptor/bridge.c.resident-module 2010-08-15 19:23:09.000000000 -0400 ++++ at-spi2-atk-0.3.90/atk-adaptor/bridge.c 2010-08-27 15:43:12.153157998 -0400 +@@ -35,6 +35,7 @@ + #include + + #include ++#include + + #include "bridge.h" + #include "event.h" +@@ -774,6 +775,14 @@ gtk_module_init (gint * argc, gchar ** a + return 0; + } + ++gchar* ++g_module_check_init (GModule *module) ++{ ++ g_module_make_resident (module); ++ ++ return NULL; ++} ++ + void + gnome_accessibility_module_init (void) + { diff --git a/tab-not-space.patch b/tab-not-space.patch new file mode 100644 index 0000000..5289fb9 --- /dev/null +++ b/tab-not-space.patch @@ -0,0 +1,12 @@ +diff -up at-spi2-atk-0.3.90/Makefile.tab-not-space at-spi2-atk-0.3.90/Makefile +--- at-spi2-atk-0.3.90/Makefile.tab-not-space 2010-08-27 15:45:49.587158000 -0400 ++++ at-spi2-atk-0.3.90/Makefile 2010-08-27 15:46:01.616158003 -0400 +@@ -820,7 +820,7 @@ uninstall-am: uninstall-schemasDATA + %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ + + install-data-local: +- if test -z "$(DESTDIR)" ; then \ ++ if test -z "$(DESTDIR)" ; then \ + for p in $(schemas_DATA) ; do \ + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/data/$$p ; \ + done \