Check before casting to interfaces
authorMike Gorse <mgorse@boston.site>
Thu, 24 Apr 2008 22:44:10 +0000 (18:44 -0400)
committerMike Gorse <mgorse@boston.site>
Thu, 24 Apr 2008 22:44:10 +0000 (18:44 -0400)
libspi/action.c
libspi/component.c
libspi/document.c
libspi/editabletext.c
libspi/hyperlink.c
libspi/hypertext.c
libspi/image.c
libspi/selection.c
libspi/table.c
libspi/text.c
libspi/value.c

index 7ee015e..4953384 100644 (file)
@@ -37,7 +37,7 @@ static AtkAction *
 get_action_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_ACTION(obj))
     return NULL;
   return ATK_ACTION (obj);
 }
index da54a5e..12b0e2a 100644 (file)
@@ -37,7 +37,7 @@ static AtkComponent *
 get_component_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_COMPONENT(obj))
     return NULL;
   return ATK_COMPONENT (obj);
 }
index 1bf323e..c43f15e 100644 (file)
@@ -37,7 +37,7 @@ static AtkDocument *
 get_document_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_DOCUMENT(obj))
     return NULL;
   return ATK_DOCUMENT (obj);
 }
index 667614a..0d7ce58 100644 (file)
@@ -37,7 +37,7 @@ static AtkEditableText *
 get_editable_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_EDITABLE_TEXT(obj))
     return NULL;
   return ATK_EDITABLE_TEXT (obj);
 }
index 6fc93a4..d719fa8 100644 (file)
@@ -37,7 +37,7 @@ static AtkHyperlink *
 get_hyperlink_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_HYPERLINK(obj))
     return NULL;
   return ATK_HYPERLINK (obj);
 }
index ca61853..f6e0249 100644 (file)
@@ -37,7 +37,7 @@ static AtkHypertext *
 get_hypertext_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_HYPERTEXT(obj))
     return NULL;
   return ATK_HYPERTEXT (obj);
 }
index 9ac31dc..54e03ce 100644 (file)
@@ -37,7 +37,7 @@ static AtkImage *
 get_image_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_IMAGE(obj))
     return NULL;
   return ATK_IMAGE (obj);
 }
index d961351..2b3321e 100644 (file)
@@ -37,7 +37,7 @@ static AtkSelection *
 get_selection_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || ~ATK_IS_SELECTION(obj))
     return NULL;
   return ATK_SELECTION (obj);
 }
index 09392db..8fc1d09 100644 (file)
@@ -37,7 +37,7 @@ static AtkTable *
 get_table_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_TABLE(obj))
     return NULL;
   return ATK_TABLE (obj);
 }
index 8bfff4e..653e0bd 100644 (file)
@@ -38,7 +38,7 @@ static AtkText *
 get_text_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_TEXT(obj))
     return NULL;
   return ATK_TEXT (obj);
 }
index d085d6e..929c484 100644 (file)
@@ -29,7 +29,7 @@ static AtkValue *
 get_value_from_path (const char *path, void *user_data)
 {
   AtkObject *obj = spi_dbus_get_object (path);
-  if (!obj)
+  if (!obj || !ATK_IS_VALUE(obj))
     return NULL;
   return ATK_VALUE (obj);
 }