Do not return intermediate results 99/277499/2 accepted/tizen/unified/20230220.174440
authorLukasz Oleksak <l.oleksak@samsung.com>
Thu, 7 Jul 2022 19:00:49 +0000 (21:00 +0200)
committerLukasz Oleksak <l.oleksak@samsung.com>
Fri, 8 Jul 2022 09:10:07 +0000 (09:10 +0000)
Intermediate result is a non-navigable Proxy object that is used only to
continue searching of UI element in embeded GUIs. It should never be returned
as a final result of search.

Change-Id: I1c8962154e8955526074f37f32039100b68ea363

atspi/atspi-accessible.c

index dddb8fe..d461055 100644 (file)
@@ -493,10 +493,12 @@ atspi_accessible_get_navigable_at_point (AtspiAccessible *root,
       }
       break;
     }
-
-    if (return_value)
-      g_object_unref(return_value);
-    return_value = root = tmp;
+    root = tmp;
+    if (!recurse) {
+      if (return_value)
+        g_object_unref(return_value);
+      return_value = tmp;
+    }
   } while(recurse);
   return return_value;
 }