Hello community,

here is the log from the commit of package at-spi-sharp for openSUSE:Factory 
checked in at 2013-04-17 17:36:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/at-spi-sharp (Old)
 and      /work/SRC/openSUSE:Factory/.at-spi-sharp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "at-spi-sharp", Maintainer is "sts...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/at-spi-sharp/at-spi-sharp.changes        
2011-09-23 01:52:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.at-spi-sharp.new/at-spi-sharp.changes   
2013-04-17 17:36:21.000000000 +0200
@@ -1,0 +2,9 @@
+Sun Feb 24 13:15:36 UTC 2013 - mailaen...@opensuse.org
+
+- Update to version 1.1.0
+- silenced rpmlint warnings
+  + made the package noarch
+  + put the pkgconfig file to /usr/share
+  + proper RPM group
+
+-------------------------------------------------------------------

Old:
----
  at-spi-sharp-1.0.1.tar.bz2

New:
----
  at-spi-sharp-1.1.0.tar.bz2

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

Other differences:
------------------
++++++ at-spi-sharp.spec ++++++
--- /var/tmp/diff_new_pack.Q54gIK/_old  2013-04-17 17:36:28.000000000 +0200
+++ /var/tmp/diff_new_pack.Q54gIK/_new  2013-04-17 17:36:28.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package at-spi-sharp
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,12 +16,9 @@
 #
 
 
-
 Name:           at-spi-sharp
-Version:        1.0.1
-Release:        1
-License:        MIT
-Group:          System/Libraries
+Version:        1.1.0
+Release:        0
 Url:            http://www.mono-project.com/Accessibility
 Source0:        %{name}-%{version}.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -30,30 +27,39 @@
 BuildRequires:  mono-uia >= 2.0
 BuildRequires:  ndesk-dbus-glib-devel
 BuildRequires:  pkg-config
-
-Summary:        C# bindings for at-spi
+BuildArch:      noarch
+Summary:        Mono bindings for AT-SPI
+License:        MIT
+Group:          System/Libraries
 
 %description
-C# mono bindings for at-spi
+C-Sharp/Mono bindings for Assistive Technology Service Provider Interface
 
 %package devel
-License:        MIT
-Group:          Development/Libraries/mono
-Summary:        Devel package for at-spi-sharp mono bindings
+Summary:        Development package for at-spi-sharp mono bindings
+Group:          Development/Languages/Mono
 Requires:       %{name} = %{version}
 
 %description devel
-Devel package that contains the pc file for at-spi-sharp
+Development package that contains the pkgconfig file for at-spi-sharp.
 
 %prep
 %setup -q
 
 %build
-%configure --disable-tests
+%configure --disable-tests --libdir=%{_prefix}/lib
 make %{?_smp_flags}
 
 %install
 %makeinstall
+# -- move pkgconfig files to /usr/share
+mkdir %{buildroot}%{_datadir}/pkgconfig -p
+pushd %{buildroot}%{_prefix}/lib/pkgconfig
+for i in `ls | grep \.pc`; do
+   %{__install} -D -m 0644 $i %{buildroot}%{_datadir}/pkgconfig/$i
+   %{__rm} $i
+done
+popd
 
 %files
 %defattr(-,root,root)
@@ -63,6 +69,6 @@
 
 %files devel
 %defattr(-,root,root)
-%{_libdir}/pkgconfig/at-spi-sharp.pc
+%{_datadir}/pkgconfig/at-spi-sharp.pc
 
 %changelog

++++++ at-spi-sharp-1.0.1.tar.bz2 -> at-spi-sharp-1.1.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/ChangeLog 
new/at-spi-sharp-1.1.0/ChangeLog
--- old/at-spi-sharp-1.0.1/ChangeLog    2010-03-17 17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/ChangeLog    2010-08-21 00:08:37.000000000 +0200
@@ -1,3 +1,13 @@
+2010-05-26  Mike Gorse  <mgo...@novell.com>
+
+       * NEWS: Updated.
+       * configure.ac: Bump version to 1.0.90.
+
+2010-05-12  Mike Gorse  <mgo...@novell.com>
+
+       * NEWS: Added.
+       * configure.ac: Bump version to 1.0.90.
+
 2010-02-25  Sandy Armstrong  <sanfordarmstr...@gmail.com>
 
        * autogen.sh: Fix ndesk-dbus build on Mono 2.4.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/Makefile.in 
new/at-spi-sharp-1.1.0/Makefile.in
--- old/at-spi-sharp-1.0.1/Makefile.in  2010-03-17 17:43:04.000000000 +0100
+++ new/at-spi-sharp-1.1.0/Makefile.in  2010-08-21 00:08:43.000000000 +0200
@@ -36,8 +36,8 @@
 subdir = .
 DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(top_srcdir)/configure COPYING \
-       ChangeLog config.guess config.sub install-sh ltmain.sh missing \
-       mkinstalldirs
+       ChangeLog NEWS config.guess config.sub install-sh ltmain.sh \
+       missing mkinstalldirs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/expansions.m4 \
        $(top_srcdir)/configure.ac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/NEWS new/at-spi-sharp-1.1.0/NEWS
--- old/at-spi-sharp-1.0.1/NEWS 1970-01-01 01:00:00.000000000 +0100
+++ new/at-spi-sharp-1.1.0/NEWS 2010-08-21 00:08:37.000000000 +0200
@@ -0,0 +1,14 @@
+What's new in at-spi-sharp 1.1.0:
+
+* Notify the registry when adding/removing event listeners, as is now required
+as of at-spi2 0.3.90.
+
+* GetObject() has been fixed for hyperlinks.
+
+What's new in at-spi-sharp 1.0.91:
+
+* Updated object path of cache object to correspond with the new at-spi2-atk.
+
+What's new in at-spi-sharp 1.0.90:
+
+* Children of Fillers are not cached, to work around a gail bug.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/Accessible.cs 
new/at-spi-sharp-1.1.0/at-spi/Accessible.cs
--- old/at-spi-sharp-1.0.1/at-spi/Accessible.cs 2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/Accessible.cs 2010-08-21 00:08:37.000000000 
+0200
@@ -149,7 +149,8 @@
                                return;
                        if (parent != null) {
                                Desktop.RaiseChildRemoved (parent, this);
-                               parent.children.Remove (this);
+                               if (parent.children != null)
+                                       parent.children.Remove (this);
                        }
                        if (children is List<Accessible>)
                                children.Clear ();
@@ -259,7 +260,7 @@
                        foreach (string iface in e.interfaces)
                                AddInterface (iface);
 
-                       stateSet = new StateSet (e.states);
+                       stateSet = new StateSet (this, e.states);
                        // Using at-spi StateChanged events to broadcast
                        // changes for now; needed for gail Focused handling
                        UpdateChildren (e.children);
@@ -276,7 +277,9 @@
                private void UpdateChildren (AccessiblePath [] childPaths)
                {
                        bool initializing = (children == null);
-                       if (StateSet.Contains (StateType.ManagesDescendants)) {
+                       if (StateSet.Contains (StateType.ManagesDescendants) ||
+                               (Role == Role.Filler)) {
+                               // Do not cache filler to work around BGO#577392
                                if (!(children is UncachedChildren))
                                        children = new UncachedChildren (this);
                        } else {
@@ -325,6 +328,8 @@
                                flag = Interfaces.Document;
                        } else if (name == "org.a11y.atspi.EditableText") {
                                flag = Interfaces.EditableText;
+                       } else if (name == "org.a11y.atspi.Hyperlink") {
+                               flag = Interfaces.Hyperlink;
                        } else if (name == "org.a11y.atspi.Hypertext") {
                                flag = Interfaces.Hypertext;
                        } else if (name == "org.a11y.atspi.Image") {
@@ -432,7 +437,7 @@
                                                stateSet.Add 
(StateType.Defunct);
                                                return stateSet;
                                        }
-                                       stateSet = new StateSet (states);
+                                       stateSet = new StateSet (this, states);
                                }
                                return stateSet;
                        }
@@ -562,6 +567,13 @@
                        return null;
                }
 
+               public Hyperlink QueryHyperlink ()
+               {
+                       if ((Interfaces & Interfaces.Hyperlink) != 0)
+                               return new Hyperlink (this, path);
+                       return null;
+               }
+
                public Hypertext QueryHypertext ()
                {
                        if ((Interfaces & Interfaces.Hypertext) != 0)
@@ -662,13 +674,14 @@
                Component = 0x0004,
                Document = 0x0008,
                EditableText = 0x0010,
-               Hypertext = 0x0020,
-               Image = 0x0040,
-               Selection = 0x0080,
-               StreamableContent = 0x0100,
-               Table = 0x0200,
-               Text = 0x0400,
-               Value = 0x0800,
+               Hyperlink = 0x0020,
+               Hypertext = 0x0040,
+               Image = 0x0080,
+               Selection = 0x0100,
+               StreamableContent = 0x0120,
+               Table = 0x0400,
+               Text = 0x0800,
+               Value = 0x1000,
                Invalid = 0x80000000
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/Application.cs 
new/at-spi-sharp-1.1.0/at-spi/Application.cs
--- old/at-spi-sharp-1.0.1/at-spi/Application.cs        2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/at-spi/Application.cs        2010-08-21 
00:08:37.000000000 +0200
@@ -62,7 +62,7 @@
                                return;
                        }
 
-                       proxy = Registry.Bus.GetObject<ICache> (name, new 
ObjectPath ("/org/at_spi/cache"));
+                       proxy = Registry.Bus.GetObject<ICache> (name, new 
ObjectPath ("/org/a11y/atspi/cache"));
 
                        proxy.AddAccessible += OnAddAccessible;
                        proxy.RemoveAccessible += OnRemoveAccessible;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/ChangeLog 
new/at-spi-sharp-1.1.0/at-spi/ChangeLog
--- old/at-spi-sharp-1.0.1/at-spi/ChangeLog     2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/ChangeLog     2010-08-21 00:08:37.000000000 
+0200
@@ -1,3 +1,19 @@
+2010-05-26  Mike Gorse  <mgo...@novell.com>
+
+       * Application.cs: Fix cache object path name to correspond with
+       what is now used by at-spi2-atk.
+
+2010-05-12  Mike Gorse  <mgo...@novell.com>
+
+       * Accessible.cs: Do not cache children of a Filler [BNC#600024]
+
+2010-04-20  Mike Gorse  <mgo...@novell.com>
+
+       * Accessible.cs, StateSet.cs: Make StateSet cache its accessible and
+       do not trust cache for StateType.Enabled (bug 596801)
+
+       * Accessible.cs: Recognize Hyperlink interface.
+
 2010-03-17  Mike Gorse  <mgo...@novell.com>
 
        * Accessible.cs: Recognize Application interface, and warn rather
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventDocument.cs 
new/at-spi-sharp-1.1.0/at-spi/EventDocument.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventDocument.cs      2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventDocument.cs      2010-08-21 
00:08:37.000000000 +0200
@@ -41,46 +41,56 @@
 
                public event EventSimple LoadComplete {
                        add {
+                               Registry.RegisterEventListener 
("Document:LoadComplete");
                                proxy.LoadComplete += GetDelegate (value);
                        }
                        remove {
                                proxy.LoadComplete -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Document:LoadComplete");
                        }
                }
 
                public event EventSimple Reload {
                        add {
+                               Registry.RegisterEventListener 
("Document:Reload");
                                proxy.Reload += GetDelegate (value);
                        }
                        remove {
                                proxy.Reload -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Document:Reload");
                        }
                }
 
                public event EventSimple LoadStopped {
                        add {
+                               Registry.RegisterEventListener 
("Document:LoadStopped");
                                proxy.LoadStopped += GetDelegate (value);
                        }
                        remove {
                                proxy.LoadStopped -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Document:LoadStopped");
                        }
                }
 
                public event EventSimple ContentChanged {
                        add {
+                               Registry.RegisterEventListener 
("Document:ContentChanged");
                                proxy.ContentChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.ContentChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Document:ContentChanged");
                        }
                }
 
                public event EventSimple AttributesChanged {
                        add {
+                               Registry.RegisterEventListener 
("Document:AttributesChanged");
                                proxy.AttributesChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.AttributesChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Document:AttributesChanged");
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventFocus.cs 
new/at-spi-sharp-1.1.0/at-spi/EventFocus.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventFocus.cs 2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventFocus.cs 2010-08-21 00:08:37.000000000 
+0200
@@ -42,9 +42,11 @@
                public event EventSimple Focus {
                        add {
                                proxy.Focus += GetDelegate (value);
+                               Registry.RegisterEventListener ("Focus");
                        }
                        remove {
                                proxy.Focus -= GetDelegate (value);
+                               Registry.DeregisterEventListener ("Focus");
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventKeyboard.cs 
new/at-spi-sharp-1.1.0/at-spi/EventKeyboard.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventKeyboard.cs      2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventKeyboard.cs      2010-08-21 
00:08:37.000000000 +0200
@@ -41,10 +41,12 @@
 
                public event EventII Modifiers {
                        add {
+                               Registry.RegisterEventListener 
("Keyboard:Modifiers");
                                proxy.Modifiers += GetDelegate (value);
                        }
                        remove {
                                proxy.Modifiers -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Keyboard:Modifiers");
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventMouse.cs 
new/at-spi-sharp-1.1.0/at-spi/EventMouse.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventMouse.cs 2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventMouse.cs 2010-08-21 00:08:37.000000000 
+0200
@@ -41,28 +41,34 @@
 
                public event EventII Abs {
                        add {
+                               Registry.RegisterEventListener ("Mouse:Abs");
                                proxy.Abs += GetDelegate (value);
                        }
                        remove {
                                proxy.Abs -= GetDelegate (value);
+                               Registry.DeregisterEventListener ("Mouse:Abs");
                        }
                }
 
                public event EventSimple Rel {
                        add {
+                               Registry.RegisterEventListener ("Mouse:Rel");
                                proxy.Rel += GetDelegate (value);
                        }
                        remove {
                                proxy.Rel -= GetDelegate (value);
+                               Registry.DeregisterEventListener ("Mouse:Rel");
                        }
                }
 
                public event EventSII Button {
                        add {
+                               Registry.RegisterEventListener ("Mouse:Button");
                                proxy.Button += GetDelegate (value);
                        }
                        remove {
                                proxy.Button -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Mouse:Button");
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventObject.cs 
new/at-spi-sharp-1.1.0/at-spi/EventObject.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventObject.cs        2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventObject.cs        2010-08-21 
00:08:37.000000000 +0200
@@ -45,190 +45,232 @@
 
                public event EventSV PropertyChange {
                        add {
+                               Registry.RegisterEventListener 
("Object:PropertyChange");
                                proxy.PropertyChange += GetDelegate (value);
                        }
                        remove {
                                proxy.PropertyChange -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:PropertyChange");
                        }
                }
 
                public event EventR BoundsChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:BoundsChanged");
                                proxy.BoundsChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.BoundsChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:BoundsChanged");
                        }
                }
 
                public event EventI LinkSelected {
                        add {
+                               Registry.RegisterEventListener 
("Object:LinkSelected");
                                proxy.LinkSelected += GetDelegate (value);
                        }
                        remove {
                                proxy.LinkSelected -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:LinkSelected");
                        }
                }
 
                public event EventSB StateChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:StateChanged");
                                proxy.StateChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.StateChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:StateChanged");
                        }
                }
 
                public event EventSIO ChildrenChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:ChildrenChanged");
                                proxy.ChildrenChanged += 
GetChildrenChangedDelegate (value);
                        }
                        remove {
                                proxy.ChildrenChanged -= 
GetChildrenChangedDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:ChildrenChanged");
                        }
                }
 
                public event EventSimple VisibleDataChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:VisibleDataChanged");
                                proxy.VisibleDataChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.VisibleDataChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:VisibleDataChanged");
                        }
                }
 
                public event EventSimple SelectionChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:SelectionChanged");
                                proxy.SelectionChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.SelectionChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:SelectionChanged");
                        }
                }
 
                public event EventSimple ModelChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:ModelChanged");
                                proxy.ModelChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.ModelChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:ModelChanged");
                        }
                }
 
                public event EventO ActiveDescendantChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:ActiveDescendantChanged");
                                proxy.ActiveDescendantChanged += GetDelegate 
(value);
                        }
                        remove {
                                proxy.ActiveDescendantChanged -= GetDelegate 
(value);
+                               Registry.DeregisterEventListener 
("Object:ActiveDescendantChanged");
                        }
                }
 
                public event EventII RowInserted {
                        add {
+                               Registry.RegisterEventListener 
("Object:RowInserted");
                                proxy.RowInserted += GetDelegate (value);
                        }
                        remove {
                                proxy.RowInserted -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:RowInserted");
                        }
                }
 
                public event EventSimple RowReordered {
                        add {
+                               Registry.RegisterEventListener 
("Object:RowReordered");
                                proxy.RowReordered += GetDelegate (value);
                        }
                        remove {
                                proxy.RowReordered -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:RowReordered");
                        }
                }
 
                public event EventII RowDeleted {
                        add {
+                               Registry.RegisterEventListener 
("Object:RowDeleted");
                                proxy.RowDeleted += GetDelegate (value);
                        }
                        remove {
                                proxy.RowDeleted -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:RowDeleted");
                        }
                }
 
                public event EventII ColumnInserted {
                        add {
+                               Registry.RegisterEventListener 
("Object:ColumnInserted");
                                proxy.ColumnInserted += GetDelegate (value);
                        }
                        remove {
                                proxy.ColumnInserted -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:ColumnInserted");
                        }
                }
 
                public event EventSimple ColumnReordered {
                        add {
+                               Registry.RegisterEventListener 
("Object:ColumnReordered");
                                proxy.ColumnReordered += GetDelegate (value);
                        }
                        remove {
                                proxy.ColumnReordered -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:ColumnReordered");
                        }
                }
 
                public event EventII ColumnDeleted {
                        add {
+                               Registry.RegisterEventListener 
("Object:ColumnDeleted");
                                proxy.ColumnDeleted += GetDelegate (value);
                        }
                        remove {
                                proxy.ColumnDeleted -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:ColumnDeleted");
                        }
                }
 
                public event EventSimple TextBoundsChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:TextBoundsChanged");
                                proxy.TextBoundsChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.TextBoundsChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:TextBoundsChanged");
                        }
                }
 
                public event EventSimple TextSelectionChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:TextSelectionChanged");
                                proxy.TextSelectionChanged += GetDelegate 
(value);
                        }
                        remove {
                                proxy.TextSelectionChanged -= GetDelegate 
(value);
+                               Registry.DeregisterEventListener 
("Object:TextSelectionChanged");
                        }
                }
 
                public event EventSIIS TextChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:TextChanged");
                                proxy.TextChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.TextChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:TextChanged");
                        }
                }
 
                public event EventSimple TextAttributesChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:TextAttributesChanged");
                                proxy.TextAttributesChanged += GetDelegate 
(value);
                        }
                        remove {
                                proxy.TextAttributesChanged -= GetDelegate 
(value);
+                               Registry.DeregisterEventListener 
("Object:TextAttributesChanged");
                        }
                }
 
                public event EventI TextCaretMoved {
                        add {
+                               Registry.RegisterEventListener 
("Object:TextCaretMoved");
                                proxy.TextCaretMoved += GetDelegate (value);
                        }
                        remove {
                                proxy.TextCaretMoved -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:TextCaretMoved");
                        }
                }
 
                public event EventSimple AttributesChanged {
                        add {
+                               Registry.RegisterEventListener 
("Object:AttributesChanged");
                                proxy.AttributesChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.AttributesChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Object:AttributesChanged");
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventTerminal.cs 
new/at-spi-sharp-1.1.0/at-spi/EventTerminal.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventTerminal.cs      2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventTerminal.cs      2010-08-21 
00:08:37.000000000 +0200
@@ -41,46 +41,56 @@
 
                public event EventSimple LineChanged {
                        add {
+                               Registry.RegisterEventListener 
("terminal:LineChanged");
                                proxy.LineChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.LineChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("terminal:LineChanged");
                        }
                }
 
                public event EventSimple ColumncountChanged {
                        add {
+                               Registry.RegisterEventListener 
("terminal:ColumnCountChanged");
                                proxy.ColumncountChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.ColumncountChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("terminal:ColumnCountChanged");
                        }
                }
 
                public event EventSimple LinecountChanged {
                        add {
+                               Registry.RegisterEventListener 
("Terminal:LineCountChanged");
                                proxy.LinecountChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.LinecountChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Terminal:LineCountChanged");
                        }
                }
 
                public event EventSimple ApplicationChanged {
                        add {
+                               Registry.RegisterEventListener 
("terminal:ApplicationChanged");
                                proxy.ApplicationChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.ApplicationChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("terminal:ApplicationChanged");
                        }
                }
 
                public event EventSimple CharwidthChanged {
                        add {
+                               Registry.RegisterEventListener 
("terminal:CharWidthChanged");
                                proxy.CharwidthChanged += GetDelegate (value);
                        }
                        remove {
                                proxy.CharwidthChanged -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("terminal:CharWidthChanged");
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/EventWindow.cs 
new/at-spi-sharp-1.1.0/at-spi/EventWindow.cs
--- old/at-spi-sharp-1.0.1/at-spi/EventWindow.cs        2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/at-spi/EventWindow.cs        2010-08-21 
00:08:37.000000000 +0200
@@ -39,174 +39,201 @@
                        proxy = Registry.Bus.GetObject<IEventWindow> 
(accessible.Application.Name, new ObjectPath (accessible.path));
                }
 
-               public event EventSimple PropertyChange {
-                       add {
-                               proxy.PropertyChange += GetDelegate (value);
-                       }
-                       remove {
-                               proxy.PropertyChange -= GetDelegate (value);
-                       }
-               }
-
                public event EventSimple Minimize {
                        add {
+                               Registry.RegisterEventListener 
("Window:Minimize");
                                proxy.Minimize += GetDelegate (value);
                        }
                        remove {
                                proxy.Minimize -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Minimize");
                        }
                }
 
                public event EventSimple Maximize {
                        add {
+                               Registry.RegisterEventListener 
("Window:Maximize");
                                proxy.Maximize += GetDelegate (value);
                        }
                        remove {
                                proxy.Maximize -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Maximize");
                        }
                }
 
                public event EventSimple Restore {
                        add {
+                               Registry.RegisterEventListener 
("Window:Restore");
                                proxy.Restore += GetDelegate (value);
                        }
                        remove {
                                proxy.Restore -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Restore");
                        }
                }
 
                public event EventSimple Close {
                        add {
+                               Registry.RegisterEventListener ("Window:Close");
                                proxy.Close += GetDelegate (value);
                        }
                        remove {
                                proxy.Close -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Close");
                        }
                }
 
                public event EventSimple Create {
                        add {
+                               Registry.RegisterEventListener 
("Window:Create");
                                proxy.Create += GetDelegate (value);
                        }
                        remove {
                                proxy.Create -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Create");
                        }
                }
 
                public event EventSimple Reparent {
                        add {
+                               Registry.RegisterEventListener 
("Window:Reparent");
                                proxy.Reparent += GetDelegate (value);
                        }
                        remove {
                                proxy.Reparent -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Reparent");
                        }
                }
 
                public event EventSimple DesktopCreate {
                        add {
+                               Registry.RegisterEventListener 
("Window:DesktopCreate");
                                proxy.DesktopCreate += GetDelegate (value);
                        }
                        remove {
                                proxy.DesktopCreate -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:DesktopCreate");
                        }
                }
 
                public event EventSimple DesktopDestroy {
                        add {
+                               Registry.RegisterEventListener 
("Window:DesktopDestroy");
                                proxy.DesktopDestroy += GetDelegate (value);
                        }
                        remove {
                                proxy.DesktopDestroy -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:DesktopDestroy");
                        }
                }
 
                public event EventSimple Destroy {
                        add {
+                               Registry.RegisterEventListener 
("Window:Destroy");
                                proxy.Destroy += GetDelegate (value);
                        }
                        remove {
                                proxy.Destroy -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Destroy");
                        }
                }
 
                public event EventSimple Activate {
                        add {
+                               Registry.RegisterEventListener 
("Window:Activate");
                                proxy.Activate += GetDelegate (value);
                        }
                        remove {
                                proxy.Activate -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Activate");
                        }
                }
 
                public event EventSimple Deactivate {
                        add {
+                               Registry.RegisterEventListener 
("Window:Deactivate");
                                proxy.Deactivate += GetDelegate (value);
                        }
                        remove {
                                proxy.Deactivate -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Deactivate");
                        }
                }
 
                public event EventSimple Raise {
                        add {
+                               Registry.RegisterEventListener ("Window:Raise");
                                proxy.Raise += GetDelegate (value);
                        }
                        remove {
                                proxy.Raise -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Raise");
                        }
                }
 
                public event EventSimple Lower {
                        add {
+                               Registry.RegisterEventListener ("Window:Lower");
                                proxy.Lower += GetDelegate (value);
                        }
                        remove {
                                proxy.Lower -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Lower");
                        }
                }
 
                public event EventSimple Move {
                        add {
+                               Registry.RegisterEventListener ("Window:Move");
                                proxy.Move += GetDelegate (value);
                        }
                        remove {
                                proxy.Move -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Move");
                        }
                }
 
                public event EventSimple Resize {
                        add {
+                               Registry.RegisterEventListener 
("Window:Resize");
                                proxy.Resize += GetDelegate (value);
                        }
                        remove {
+                               Registry.DeregisterEventListener 
("Window:Resize");
                                proxy.Resize -= GetDelegate (value);
                        }
                }
 
                public event EventSimple Shade {
                        add {
+                               Registry.RegisterEventListener ("Window:Shade");
                                proxy.Shade += GetDelegate (value);
                        }
                        remove {
                                proxy.Shade -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Shade");
                        }
                }
 
                public event EventSimple Unshade {
                        add {
+                               Registry.RegisterEventListener 
("Window:Unshade");
                                proxy.Unshade += GetDelegate (value);
                        }
                        remove {
                                proxy.Unshade -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Unshade");
                        }
                }
 
                public event EventSimple Restyle {
                        add {
+                               Registry.RegisterEventListener 
("Window:Restyle");
                                proxy.Restyle += GetDelegate (value);
                        }
                        remove {
                                proxy.Restyle -= GetDelegate (value);
+                               Registry.DeregisterEventListener 
("Window:Restyle");
                        }
                }
        }
@@ -214,7 +241,6 @@
        [Interface ("org.a11y.atspi.Event.Window")]
        internal interface IEventWindow
        {
-               event AtspiEventHandler PropertyChange;
                event AtspiEventHandler Minimize;
                event AtspiEventHandler Maximize;
                event AtspiEventHandler Restore;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/Hyperlink.cs 
new/at-spi-sharp-1.1.0/at-spi/Hyperlink.cs
--- old/at-spi-sharp-1.0.1/at-spi/Hyperlink.cs  2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/Hyperlink.cs  2010-08-21 00:08:37.000000000 
+0200
@@ -66,8 +66,8 @@
 
                public Accessible GetObject (int index)
                {
-                       ObjectPath path = proxy.GetObject (index);
-                       Accessible ret = application.GetElement (path, true);
+                       AccessiblePath path = proxy.GetObject (index);
+                       Accessible ret = Registry.GetElement (path, true);
                        // hack -- we get an object which we may not have
                        // received an event for.
                        if (ret != null)
@@ -84,7 +84,7 @@
        [Interface ("org.a11y.atspi.Hyperlink")]
        interface IHyperlink : Introspectable
        {
-                       ObjectPath GetObject (int index);
+                       AccessiblePath GetObject (int index);
                        string GetURI (int i);
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/Registry.cs 
new/at-spi-sharp-1.1.0/at-spi/Registry.cs
--- old/at-spi-sharp-1.0.1/at-spi/Registry.cs   2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/Registry.cs   2010-08-21 00:08:37.000000000 
+0200
@@ -44,12 +44,14 @@
                private volatile static Registry instance;
                private Bus bus;
                private IBus busProxy;
+               private IRegistry proxy;
                private Dictionary<string, Application> applications;
                private Desktop desktop;
                private bool suspendDBusCalls;
                private static object sync = new object ();
                private static Thread loopThread;
                internal static Queue<System.Action> pendingCalls = new 
Queue<System.Action> ();
+               private Dictionary<string, int> eventListeners;
 
                public static void Initialize ()
                {
@@ -94,6 +96,13 @@
                        if (bus == null)
                                bus = Bus.Session;
 
+                       ObjectPath op = new ObjectPath 
("/org/a11y/atspi/registry");
+                       proxy = Registry.Bus.GetObject<IRegistry> 
("org.a11y.atspi.Registry", op);
+                       eventListeners = new Dictionary<string, int> ();
+                       RegisterEventListener ("Object:ChildrenChanged");
+                       RegisterEventListener ("Object:StateChanged");
+                       RegisterEventListener ("Object:PropertyChange");
+
                        applications = new Dictionary<string, Application> ();
                        applications [name] = this;
                        desktop = new Desktop (this);
@@ -246,5 +255,32 @@
                                }
                        }
                }
+
+               internal static void RegisterEventListener (string name)
+               {
+                       if (!instance.eventListeners.ContainsKey (name))
+                               instance.eventListeners [name] = 1;
+                       else
+                               instance.eventListeners [name]++;
+                       if (instance.eventListeners [name] == 1)
+                               instance.proxy.RegisterEvent (name);
+               }
+
+               internal static void DeregisterEventListener (string name)
+               {
+                       if (!instance.eventListeners.ContainsKey (name) ||
+                               instance.eventListeners [name] == 0)
+                               return;
+                       instance.eventListeners [name]--;
+                       if (instance.eventListeners [name] == 0)
+                               instance.proxy.DeregisterEvent (name);
+               }
+       }
+
+       [Interface ("org.a11y.atspi.Registry")]
+       interface IRegistry
+       {
+               void RegisterEvent (string name);
+               void DeregisterEvent (string name);
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/at-spi/StateSet.cs 
new/at-spi-sharp-1.1.0/at-spi/StateSet.cs
--- old/at-spi-sharp-1.0.1/at-spi/StateSet.cs   2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/at-spi/StateSet.cs   2010-08-21 00:08:37.000000000 
+0200
@@ -33,14 +33,17 @@
        public class StateSet
        {
                private ulong states;
+               private Accessible accessible;
 
                public StateSet ()
                {
+                       accessible = null;
                        states = 0;
                }
 
-               public StateSet (uint [] states)
+               public StateSet (Accessible accessible, uint [] states)
                {
+                       this.accessible = accessible;
                        if (states.Length != 2)
                                throw new ArgumentException ("Expecting int 
[2]");
                        this.states = (ulong)(states [1] << (sizeof (int) * 8)) 
| (ulong)states [0];
@@ -48,12 +51,24 @@
 
                public bool Contains (StateType state)
                {
+                       // Do not trust cache for Enabled; see BNC#596801
+                       // TODO: Eventually remove this work-around
+                       if (accessible != null && state == StateType.Enabled && 
(states & (ulong)StateType.Defunct) == 0) {
+                               try {
+                                       uint [] data = 
accessible.proxy.GetState ();
+                                       states = (ulong)(data [1] << (sizeof 
(int) * 8)) | (ulong)data [0];
+                               } catch (System.Exception) {
+                                       return false;
+                               }
+                       }
                        return (states & (ulong)state) != 0? true: false;
                }
 
                public void Add (StateType state)
                {
                        states |= (ulong)state;
+                       if (state == StateType.Defunct)
+                               accessible = null;
                }
 
                public void Remove (StateType state)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/configure 
new/at-spi-sharp-1.1.0/configure
--- old/at-spi-sharp-1.0.1/configure    2010-03-17 17:43:05.000000000 +0100
+++ new/at-spi-sharp-1.1.0/configure    2010-08-21 00:08:43.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for at-spi-sharp 1.0.1.
+# Generated by GNU Autoconf 2.63 for at-spi-sharp 1.1.0.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@
 # Identity of this package.
 PACKAGE_NAME='at-spi-sharp'
 PACKAGE_TARNAME='at-spi-sharp'
-PACKAGE_VERSION='1.0.1'
-PACKAGE_STRING='at-spi-sharp 1.0.1'
+PACKAGE_VERSION='1.1.0'
+PACKAGE_STRING='at-spi-sharp 1.1.0'
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
@@ -1501,7 +1501,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures at-spi-sharp 1.0.1 to adapt to many kinds of systems.
+\`configure' configures at-spi-sharp 1.1.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1571,7 +1571,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of at-spi-sharp 1.0.1:";;
+     short | recursive ) echo "Configuration of at-spi-sharp 1.1.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1691,7 +1691,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-at-spi-sharp configure 1.0.1
+at-spi-sharp configure 1.1.0
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1705,7 +1705,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by at-spi-sharp $as_me 1.0.1, which was
+It was created by at-spi-sharp $as_me 1.1.0, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2554,7 +2554,7 @@
 
 # Define the identity of the package.
  PACKAGE='at-spi-sharp'
- VERSION='1.0.1'
+ VERSION='1.1.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12448,7 +12448,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by at-spi-sharp $as_me 1.0.1, which was
+This file was extended by at-spi-sharp $as_me 1.1.0, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12502,7 +12502,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-at-spi-sharp config.status 1.0.1
+at-spi-sharp config.status 1.1.0
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/configure.ac 
new/at-spi-sharp-1.1.0/configure.ac
--- old/at-spi-sharp-1.0.1/configure.ac 2010-03-17 17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/configure.ac 2010-08-21 00:08:37.000000000 +0200
@@ -1,5 +1,5 @@
 AC_PREREQ([2.54])
-AC_INIT([at-spi-sharp], [1.0.1])
+AC_INIT([at-spi-sharp], [1.1.0])
 AM_INIT_AUTOMAKE([foreign])
 
 # pkg-config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/data/at-spi-sharp.spec.in 
new/at-spi-sharp-1.1.0/data/at-spi-sharp.spec.in
--- old/at-spi-sharp-1.0.1/data/at-spi-sharp.spec.in    2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/data/at-spi-sharp.spec.in    2010-08-21 
00:08:37.000000000 +0200
@@ -1,3 +1,9 @@
+%define LIBDIR %{_prefix}/lib
+%if 0%{?fedora}
+Patch0:                at-spi-sharp-libdir-fedora.patch
+%define LIBDIR %{_libdir}
+%endif
+
 #
 # spec file for package at-spi-sharp
 #
@@ -12,9 +18,8 @@
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       mono-core >= 2.4
 BuildRequires: mono-devel >= 2.4
-BuildRequires: mono-uia >= 2.0
+BuildRequires: mono-uia-devel >= 2.0
 BuildRequires: ndesk-dbus-glib-devel
-BuildRequires: pkg-config
 
 Summary:        C# bindings for at-spi
 
@@ -31,28 +36,30 @@
 
 %prep
 %setup -q
+%if 0%{?fedora}
+%patch0 -p1
+%endif
 
 %build
 %configure --disable-tests
-#make %{?_smp_flags}
+#make %{?_smp_mflags}
 make
 
 %install
-%makeinstall
-
+make DESTDIR=%{buildroot} install
 
 %clean
 rm -rf %{buildroot}
 
 %files
 %defattr(-,root,root)
-%dir %{_prefix}/lib/mono/gac/at-spi-sharp/
-%{_prefix}/lib/mono/accessibility/at-spi-sharp.dll
-%{_prefix}/lib/mono/gac/at-spi-sharp/*
+%dir %{LIBDIR}/mono/gac/at-spi-sharp/
+%{LIBDIR}/mono/accessibility/at-spi-sharp.dll
+%{LIBDIR}/mono/gac/at-spi-sharp/*
 
 %files devel
 %defattr(-,root,root)
 %{_libdir}/pkgconfig/at-spi-sharp.pc
 
 
-%changelog
+%changelog
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/ndesk-dbus/Connection.cs 
new/at-spi-sharp-1.1.0/ndesk-dbus/Connection.cs
--- old/at-spi-sharp-1.0.1/ndesk-dbus/Connection.cs     2010-03-17 
17:43:08.000000000 +0100
+++ new/at-spi-sharp-1.1.0/ndesk-dbus/Connection.cs     2010-08-21 
00:08:47.000000000 +0200
@@ -150,7 +150,8 @@
                        // Should we throttle the maximum number of concurrent 
PendingCalls?
                        // Should we support timeouts?
                        PendingCall pending = new PendingCall (this);
-                       pendingCalls[msg.Header.Serial] = pending;
+                       lock (pendingCalls)
+                               pendingCalls[msg.Header.Serial] = pending;
 
                        Send (msg);
                        //WriteMessage (msg);
@@ -269,11 +270,13 @@
                                        uint reply_serial = (uint)field_value;
                                        PendingCall pending;
 
-                                       if (pendingCalls.TryGetValue 
(reply_serial, out pending)) {
-                                               if (pendingCalls.Remove 
(reply_serial))
-                                                       pending.Reply = msg;
+                                       lock (pendingCalls) {
+                                               if (pendingCalls.TryGetValue 
(reply_serial, out pending)) {
+                                                       if (pendingCalls.Remove 
(reply_serial))
+                                                               pending.Reply = 
msg;
 
-                                               return;
+                                                       return;
+                                               }
                                        }
 
                                        //we discard reply messages with no 
corresponding PendingCall
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/tests/ChangeLog 
new/at-spi-sharp-1.1.0/tests/ChangeLog
--- old/at-spi-sharp-1.0.1/tests/ChangeLog      2010-03-17 17:42:59.000000000 
+0100
+++ new/at-spi-sharp-1.1.0/tests/ChangeLog      2010-08-21 00:08:37.000000000 
+0200
@@ -1,3 +1,16 @@
+2010-05-12  Mike Gorse  <mgo...@novell.com>
+
+       * at-spi-sharp/AccessibleTest.cs, apps/gtkbutton.py: Add test for
+       BNC#600024.
+
+       * at-spi-sharp/Makefile.am: Fix to copy at-spi-sharp.dll.mdb
+
+2010-04-20  Mike Gorse  <mgo...@novell.com>
+
+       * apps/Document.cs: Fix NRE in GetText.
+
+       * at-spi-sharp/AccessibleTest.cs: Add test for bug 596801.
+
 2010-03-01  Mike Gorse  <mgo...@novell.com>
 
        * at-spi-sharp/Base.cs: Allow a fixture to open multiple apps.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/tests/apps/Document.cs 
new/at-spi-sharp-1.1.0/tests/apps/Document.cs
--- old/at-spi-sharp-1.0.1/tests/apps/Document.cs       2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/tests/apps/Document.cs       2010-08-21 
00:08:37.000000000 +0200
@@ -245,7 +245,11 @@
                {
                        if (end_offset == -1)
                                end_offset = text.Length - start_offset;
-                       return text.Substring (start_offset, end_offset);
+                       if (end_offset > text.Length)
+                               end_offset = text.Length;
+                       if (end_offset < start_offset)
+                               end_offset = start_offset;
+                       return text.Substring (start_offset, end_offset - 
start_offset);
                }
 
                public string GetTextAfterOffset (int offset, Atk.TextBoundary 
boundary_type, out int start_offset, out int end_offset)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/at-spi-sharp-1.0.1/tests/at-spi-sharp/AccessibleTest.cs 
new/at-spi-sharp-1.1.0/tests/at-spi-sharp/AccessibleTest.cs
--- old/at-spi-sharp-1.0.1/tests/at-spi-sharp/AccessibleTest.cs 2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/tests/at-spi-sharp/AccessibleTest.cs 2010-08-21 
00:08:37.000000000 +0200
@@ -33,14 +33,16 @@
        [TestFixture]
        public class AccessibleTest : Base
        {
-               Accessible frame = null;
+               Accessible radioButtonFrame = null;
+               Accessible buttonFrame = null;
                Accessible documentFrame = null;
                Accessible radioButton = null;
 
                public AccessibleTest ()
                {
-                       frame = GetFrame ("gtkradiobutton.py");
-                       radioButton = FindByRole (frame, Role.RadioButton, 
true);
+                       radioButtonFrame = GetFrame ("gtkradiobutton.py");
+                       buttonFrame = GetFrame ("gtkbutton.py");
+                       radioButton = FindByRole (radioButtonFrame, 
Role.RadioButton, true);
                        Assert.IsNotNull (radioButton, "Find radioButton");
                        documentFrame = GetFrame ("DocumentTest.exe", 
"DocumentTest");
                }
@@ -61,6 +63,16 @@
                }
 
                [Test]
+               public void Bug596801 ()
+               {
+                       EditableText et = documentFrame.QueryEditableText ();
+                       Accessible child = documentFrame.Children [0].Children 
[0];
+                       Assert.IsTrue (child.StateSet.Contains 
(StateType.Enabled), "Enabled");
+                       et.SetTextContents ("StateChanged");
+                       Assert.IsFalse (child.StateSet.Contains 
(StateType.Enabled), "Not enabled after disabling");
+               }
+
+               [Test]
                public void Relations ()
                {
                        Relation [] set = radioButton.RelationSet;
@@ -85,7 +97,7 @@
                [Test]
                public void ParentOfApplication ()
                {
-                       Accessible application = frame.Parent;
+                       Accessible application = radioButtonFrame.Parent;
                        Assert.AreEqual (Role.Application, application.Role, 
"Application Role");
                        Accessible parent = application.Parent;
                        Assert.IsNotNull (parent, "Parent of application should 
not be null");
@@ -100,6 +112,16 @@
                        Assert.AreEqual ("2.0", attributes ["left-margin"], 
"Document Attributes[\"left-margin\"]");
                        Assert.AreEqual ("org.a11y.Accessible", attributes 
["attribute-interface"], "Document Attributes[\"left-margin\"]");
                }
+
+               [Test]
+               public void Bug600024 ()
+               {
+                       Accessible button2 = Find (buttonFrame, 
Role.PushButton, "Button 2", true);
+                       button2.QueryAction ().DoAction (0);
+                       System.Threading.Thread.Sleep (1000);
+                       Accessible button4 = Find (buttonFrame, 
Role.PushButton, "Button 4", true);
+                       Assert.IsNotNull (button4, "Couldn't find the new 
button");
+               }
                #endregion
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/tests/at-spi-sharp/Makefile.am 
new/at-spi-sharp-1.1.0/tests/at-spi-sharp/Makefile.am
--- old/at-spi-sharp-1.0.1/tests/at-spi-sharp/Makefile.am       2010-03-17 
17:42:59.000000000 +0100
+++ new/at-spi-sharp-1.1.0/tests/at-spi-sharp/Makefile.am       2010-08-21 
00:08:37.000000000 +0200
@@ -19,12 +19,11 @@
 
 
 #AL=al2
-#SATELLITE_ASSEMBLY_NAME=MonoTests.Mono.UIAutomation.Winforms.resources.dll
 
 PROGRAMFILES = \
        $(ATSPISHARP_DLL) \
        $(ATSPITESTS_DLL_MDB) \
-       $(ATSPISHARP_DLL_CONFIG)  
+       $(ATSPISHARP_DLL_CONFIG) \
        $(ATSPISHARP_DLL_MDB)  
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi-sharp-1.0.1/tests/at-spi-sharp/Makefile.in 
new/at-spi-sharp-1.1.0/tests/at-spi-sharp/Makefile.in
--- old/at-spi-sharp-1.0.1/tests/at-spi-sharp/Makefile.in       2010-03-17 
17:43:04.000000000 +0100
+++ new/at-spi-sharp-1.1.0/tests/at-spi-sharp/Makefile.in       2010-08-21 
00:08:43.000000000 +0200
@@ -219,11 +219,11 @@
 ATSPISHARP_DLL_MDB = $(BUILD_DIR)/at-spi-sharp.dll.mdb
 
 #AL=al2
-#SATELLITE_ASSEMBLY_NAME=MonoTests.Mono.UIAutomation.Winforms.resources.dll
 PROGRAMFILES = \
        $(ATSPISHARP_DLL) \
        $(ATSPITESTS_DLL_MDB) \
-       $(ATSPISHARP_DLL_CONFIG)  
+       $(ATSPISHARP_DLL_CONFIG) \
+       $(ATSPISHARP_DLL_MDB)  
 
 RESGEN = resgen2
 FILES = \
@@ -574,7 +574,6 @@
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
        uninstall-binSCRIPTS uninstall-linuxpkgconfigDATA
 
-       $(ATSPISHARP_DLL_MDB)  
 
 all: $(ASSEMBLY) $(PROGRAMFILES)
 

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

Reply via email to