Revved to 1.7.4; Fixes for cspi event handlers for EventDetails.
authorbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Tue, 31 Jan 2006 11:45:25 +0000 (11:45 +0000)
committerbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Tue, 31 Jan 2006 11:45:25 +0000 (11:45 +0000)
Re-dist to include Accessibility_Selector.idl which was previously missing
from tarballs.

git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@793 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
NEWS
README
configure.in
cspi/spi_event.c

index 7148459..074e964 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,18 @@
 2006-01-31  Bill Haneman <billh@gnome.org>
 
+       * configure.in: Rev to 1.7.4 (to include build fix below).
+       
        * idl/Makefile.am: Include Selector.idl in dist.
        Fixes bug #328859.
 
+       * cspi/spi_event.c:
+       (cspi_internal_event_get_object): Handle case where
+       "object" isn't present, i.e. CORBA_TC_Object doesn't match
+       the EventDetails data.
+       (cspi_internal_event_get_text): Handle NULL string.
+       (cspi_internal_event_get_rect): Handle missing/empty rect
+       data, Accessibility_TC_RectBounds doesn't match any_data.
+
 2006-01-30  Bill Haneman <billh@gnome.org>
 
        * Released 1.7.3.
diff --git a/NEWS b/NEWS
index 29290f2..fadf5a0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+What's new in at-spi-1.7.4:
+
+* Fixed dist to include Accessibility_Selector.idl (missing from dist though
+  in cvs since 1.7.3).
+
+* Bugfixes to EventDetails event support, and fixed event emission for 
+  implementors of SPI_REMOTE_OBJECT.
+
 What's new in at-spi-1.7.0 through 1.7.3:
 
 * Added idl/Accessibility_Selector.idl to the repository (missing in 1.7.0
diff --git a/README b/README
index 545bb22..155690b 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 README
 
-at-spi version 1.7.3
+at-spi version 1.7.4
 
 *** Welcome to the Gnome Accessibility Project! ***
 
index 9e61086..438e780 100644 (file)
@@ -2,7 +2,7 @@ AC_INIT(idl/Accessibility.idl)
 
 AT_SPI_MAJOR_VERSION=1
 AT_SPI_MINOR_VERSION=7
-AT_SPI_MICRO_VERSION=3
+AT_SPI_MICRO_VERSION=4
 AT_SPI_INTERFACE_AGE=0
 AT_SPI_BINARY_AGE=0
 AT_SPI_VERSION="$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION.$AT_SPI_MICRO_VERSION"
@@ -16,7 +16,7 @@ AC_SUBST(AT_SPI_BINARY_AGE)
 # libtool versioning
 LT_RELEASE=$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION
 LT_CURRENT=10
-LT_REVISION=6
+LT_REVISION=7
 LT_AGE=10
 LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
 AC_SUBST(LT_VERSION_INFO)
index 09e2673..bbed8e3 100644 (file)
@@ -339,6 +339,10 @@ cspi_internal_event_get_text (const InternalEvent *e)
   if (CORBA_TypeCode_equivalent (any->_type, TC_Accessibility_EventDetails, NULL)) 
     {
       Accessibility_EventDetails *details = (Accessibility_EventDetails *)any->_value;
+      if (CORBA_TypeCode_equal (details->any_data._type, TC_CORBA_string, cspi_ev()))
+         return CORBA_string_dup (* (char **) (details->any_data._value));
+      else
+         return CORBA_string_dup ("");
       return CORBA_string_dup (* (char **) (details->any_data._value));
     }
   else if (CORBA_TypeCode_equivalent (any->_type, TC_CORBA_string, NULL)) 
@@ -367,7 +371,10 @@ cspi_internal_event_get_object (const InternalEvent *e)
   if (CORBA_TypeCode_equivalent (any->_type, TC_Accessibility_EventDetails, NULL)) 
     {
       Accessibility_EventDetails *details = (Accessibility_EventDetails *)any->_value;
-      return cspi_object_take (* (CORBA_Object *) (details->any_data._value));
+      if (CORBA_TypeCode_equal (details->any_data._type, TC_CORBA_Object, cspi_ev()))
+         return cspi_object_take (* (CORBA_Object *) (details->any_data._value));
+      else
+         return NULL;
     }
   else if (CORBA_TypeCode_equal (any->_type, TC_CORBA_Object, cspi_ev()))
     return cspi_object_take (* (CORBA_Object *) any->_value);
@@ -386,12 +393,17 @@ cspi_internal_event_get_rect (const InternalEvent *e)
     {
       Accessibility_EventDetails *details = (Accessibility_EventDetails *)any->_value;
       SPIRect *rect = g_new (SPIRect, 1);
-      Accessibility_BoundingBox *bounds = (Accessibility_BoundingBox *) details->any_data._value;
-      rect->x = bounds->x;
-      rect->y = bounds->y;
-      rect->width = bounds->width;
-      rect->height = bounds->height;
-      return rect;
+      if (CORBA_TypeCode_equal (details->any_data._type, TC_Accessibility_BoundingBox, cspi_ev()))
+      {
+         Accessibility_BoundingBox *bounds = (Accessibility_BoundingBox *) details->any_data._value;
+         rect->x = bounds->x;
+         rect->y = bounds->y;
+         rect->width = bounds->width;
+         rect->height = bounds->height;
+         return rect;
+      }
+      else
+         return NULL;
     }
   if (CORBA_TypeCode_equivalent (any->_type, TC_Accessibility_BoundingBox, NULL)) 
     {