From ff100493ee35d022903061c6b6e8897ad98a1db2 Mon Sep 17 00:00:00 2001 From: Marcin Niesluchowski Date: Tue, 18 Oct 2016 12:25:39 +0200 Subject: [PATCH] [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 --- atk-adaptor/adaptors/socket-adaptor.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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 -- 2.34.1