2009-02-19 Mark Doffman <mark.doffman@codethink.co.uk>
authorMark Doffman <mdoff@silver-wind.(none)>
Thu, 19 Feb 2009 15:27:33 +0000 (15:27 +0000)
committerMark Doffman <mdoff@silver-wind.(none)>
Thu, 19 Feb 2009 15:27:33 +0000 (15:27 +0000)
        Remove all g_asserts and they could be rude and
        abort your program. Replace them with g_return_val_if_fail
        where appropriate. Add a warning when the root
        accessible is NULL.

atk-adaptor/accessible-adaptor.c
atk-adaptor/accessible-register.c
atk-adaptor/bridge.c
atk-adaptor/selection-adaptor.c

index d93a57f..5abd827 100644 (file)
@@ -432,7 +432,7 @@ impl_getRole (DBusConnection *bus, DBusMessage *message, void *user_data)
 static char *
 impl_get_role_str (void *datum)
 {
-  g_assert (ATK_IS_OBJECT (datum));
+  g_return_val_if_fail (ATK_IS_OBJECT (datum), g_strdup (""));
   return g_strdup_printf ("%d",
                          spi_accessible_role_from_atk_role
                          (atk_object_get_role ((AtkObject *) datum)));
index 81dac6b..3595f3e 100644 (file)
@@ -153,7 +153,7 @@ static void
 deregister_accessible (gpointer data, GObject *accessible)
 {
   guint ref;
-  g_assert (ATK_IS_OBJECT (accessible));
+  g_return_if_fail (ATK_IS_OBJECT (accessible));
 
   ref = object_to_ref (ATK_OBJECT(accessible));
   if (ref != 0)
@@ -169,7 +169,7 @@ static void
 register_accessible (AtkObject *accessible)
 {
   guint ref;
-  g_assert(ATK_IS_OBJECT(accessible));
+  g_return_if_fail (ATK_IS_OBJECT(accessible));
 
   ref = assign_reference();
 
@@ -313,7 +313,7 @@ static void
 update_accessible (AtkObject *accessible)
 {
   guint  ref = 0;
-  g_assert(ATK_IS_OBJECT(accessible));
+  g_return_if_fail (ATK_IS_OBJECT(accessible));
 
   ref = object_to_ref (accessible);
   if (ref)
@@ -339,7 +339,7 @@ atk_dbus_path_to_object (const char *path)
   guint index;
   void *data;
 
-  g_assert (path);
+  g_return_val_if_fail (path, NULL);
 
   if (strncmp(path, SPI_ATK_OBJECT_PATH_PREFIX, SPI_ATK_PATH_PREFIX_LENGTH) != 0)
     return NULL;
@@ -408,7 +408,7 @@ tree_update_listener (GSignalInvocationHint *signal_hint,
    * have their signals processed.
    */
   accessible = g_value_get_object (&param_values[0]);
-  g_assert (ATK_IS_OBJECT (accessible));
+  g_return_val_if_fail (ATK_IS_OBJECT (accessible), TRUE);
 
   if (object_to_ref (accessible))
     {
@@ -459,7 +459,7 @@ tree_update_children_listener (GSignalInvocationHint *signal_hint,
    * have their signals processed.
    */
   accessible = g_value_get_object (&param_values[0]);
-  g_assert (ATK_IS_OBJECT (accessible));
+  g_return_val_if_fail (ATK_IS_OBJECT (accessible), TRUE);
 
   if (object_to_ref (accessible))
     {
index a63539e..f5dc9de 100644 (file)
@@ -253,6 +253,8 @@ adaptor_init (gint *argc, gchar **argv[])
   atk_adaptor_app_data = g_new0 (SpiAppData, 1);
   atk_misc = atk_misc_get_instance ();
   atk_adaptor_app_data->root = atk_get_root();
+  if (!atk_adaptor_app_data->root)
+      g_warning("AT-SPI Root accessible is NULL");
 
   /* Set up D-Bus connection and register bus name */
   dbus_error_init (&error);
index c348655..b46651f 100644 (file)
@@ -41,7 +41,7 @@ impl_get_nSelectedChildren (DBusMessageIter * iter,
 /*static char *
 impl_get_nSelectedChildren_str (void *datum)
 {
-  g_assert (ATK_IS_HYPERLINK (datum));
+  g_return_val_if_fail (ATK_IS_SELECTION (user_data), FALSE);
   return g_strdup_printf ("%d",
                           atk_selection_get_selection_count ((AtkSelection *)
                                                              datum));