From 02b26babf827c0e7a33c6e1c63b9bff0729d3224 Mon Sep 17 00:00:00 2001 From: billh Date: Tue, 31 Jan 2006 11:45:25 +0000 Subject: [PATCH] Revved to 1.7.4; Fixes for cspi event handlers for EventDetails. 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 | 10 ++++++++++ NEWS | 8 ++++++++ README | 2 +- configure.in | 4 ++-- cspi/spi_event.c | 26 +++++++++++++++++++------- 5 files changed, 40 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7148459..074e964 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,18 @@ 2006-01-31 Bill Haneman + * 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 * Released 1.7.3. diff --git a/NEWS b/NEWS index 29290f2..fadf5a0 100644 --- 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 --- 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! *** diff --git a/configure.in b/configure.in index 9e61086..438e780 100644 --- a/configure.in +++ b/configure.in @@ -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) diff --git a/cspi/spi_event.c b/cspi/spi_event.c index 09e2673..bbed8e3 100644 --- a/cspi/spi_event.c +++ b/cspi/spi_event.c @@ -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)) { -- 2.7.4