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.
+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
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))
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);
{
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))
{