From: Marcin Niesluchowski Date: Tue, 18 Oct 2016 10:25:39 +0000 (+0200) Subject: [tizen] Fix deadlock on plug's interfaces for getting size and position X-Git-Tag: submit/tizen/20161026.040418~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F58%2F92758%2F1;p=platform%2Fupstream%2Fat-spi2-atk.git [tizen] Fix deadlock on plug's interfaces for getting size and position Deadlock occured when plug interfaces for getting were accessed position and size were accessed. Override interfaces for getting plug size and position only if none were defined. Change-Id: Ic8a208916cac6479e56552c74f7e2f2730bc7851 --- diff --git a/atk-adaptor/adaptors/socket-adaptor.c b/atk-adaptor/adaptors/socket-adaptor.c index ed6faa3..c031d5b 100644 --- a/atk-adaptor/adaptors/socket-adaptor.c +++ b/atk-adaptor/adaptors/socket-adaptor.c @@ -180,9 +180,18 @@ impl_Embedded (DBusConnection *bus, { AtkComponent *component = ATK_COMPONENT (object); AtkComponentIface *iface = ATK_COMPONENT_GET_IFACE (component); - iface->get_extents = atspi_plug_component_get_extents; - iface->get_size = atspi_plug_component_get_size; - iface->get_position = atspi_plug_component_get_position; + if (!iface->get_extents) + { + iface->get_extents = atspi_plug_component_get_extents; + } + if (!iface->get_size) + { + iface->get_size = atspi_plug_component_get_size; + } + if (!iface->get_position) + { + iface->get_position = atspi_plug_component_get_position; + } } /* Retrieve some info about the children, if they exist, when