elm_atspi_bridge: fix unregister object usage 67/231367/3
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Tue, 21 Apr 2020 11:31:23 +0000 (13:31 +0200)
committerLukasz Oleksak <l.oleksak@samsung.com>
Wed, 22 Apr 2020 10:42:40 +0000 (10:42 +0000)
All objects paths in accessible_reading_material_get
method should be registered before return them to user.

Change-Id: Idd5f824cc25ef083a0ec490e4fdfe911c3e11373

src/lib/elementary/elm_atspi_bridge.c

index 01b8217..08ae9da 100644 (file)
@@ -1423,7 +1423,10 @@ _accessible_reading_material_get(const Eldbus_Service_Interface *iface, const El
    if ((!parent) && (EFL_ACCESS_ROLE_APPLICATION == role))
      _object_desktop_reference_append(iter);
    else
-     _bridge_iter_object_reference_append(bridge, iter, parent);
+     {
+        _bridge_iter_object_reference_append(bridge, iter, parent);
+        if (parent) _bridge_object_register(bridge, parent);
+     }
 
    /* parent - states */
    iter_array = eldbus_message_iter_container_new(iter, 'a', "u");
@@ -1461,7 +1464,10 @@ _accessible_reading_material_get(const Eldbus_Service_Interface *iface, const El
              break;
           }
      }
+
    _bridge_iter_object_reference_append(bridge, iter, relation_obj);
+   if (relation_obj) _bridge_object_register(bridge, relation_obj);
+
    efl_access_relation_set_free(&rels);
 
    return ret;