summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk/a11y/atkwrapper.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2016-11-21 23:01:31 -0500
committerKohei Yoshida <libreoffice@kohei.us>2016-11-22 13:17:40 +0000
commita0ef7474521413c8967559a635e6fdc0d88f1df6 (patch)
tree4d60cec609d6d1c79319702b89f0a004e337dd7c /vcl/unx/gtk/a11y/atkwrapper.hxx
parente010834dc1a82fcb80dc23025001a752a0fb60a4 (diff)
tdf#71409: Use weak reference to avoid potential circular references.
AtkListener shouldn't be holding a reference back to the context / broadcaster it listens to, as the latter also holds a reference to the former. Change-Id: Ie75cc4667f614752db710c20acbb83b93783654f Reviewed-on: https://gerrit.libreoffice.org/31063 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
Diffstat (limited to 'vcl/unx/gtk/a11y/atkwrapper.hxx')
-rw-r--r--vcl/unx/gtk/a11y/atkwrapper.hxx34
1 files changed, 2 insertions, 32 deletions
diff --git a/vcl/unx/gtk/a11y/atkwrapper.hxx b/vcl/unx/gtk/a11y/atkwrapper.hxx
index e8ab83b5c778..87ff3b49cb2c 100644
--- a/vcl/unx/gtk/a11y/atkwrapper.hxx
+++ b/vcl/unx/gtk/a11y/atkwrapper.hxx
@@ -22,49 +22,19 @@
#include <atk/atk.h>
#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <cppuhelper/weakref.hxx>
extern "C" {
-namespace com { namespace sun { namespace star { namespace accessibility {
- class XAccessibleAction;
- class XAccessibleComponent;
- class XAccessibleEditableText;
- class XAccessibleHypertext;
- class XAccessibleImage;
- class XAccessibleMultiLineText;
- class XAccessibleSelection;
- class XAccessibleTable;
- class XAccessibleText;
- class XAccessibleTextMarkup;
- class XAccessibleTextAttributes;
- class XAccessibleValue;
-} } } }
-
struct AtkObjectWrapper
{
AtkObject aParent;
css::uno::Reference<css::accessibility::XAccessible> mpAccessible;
- css::uno::Reference<css::accessibility::XAccessibleContext> mpContext;
- css::uno::Reference<css::accessibility::XAccessibleAction> mpAction;
- css::uno::Reference<css::accessibility::XAccessibleComponent> mpComponent;
- css::uno::Reference<css::accessibility::XAccessibleEditableText>
- mpEditableText;
- css::uno::Reference<css::accessibility::XAccessibleHypertext> mpHypertext;
- css::uno::Reference<css::accessibility::XAccessibleImage> mpImage;
- css::uno::Reference<css::accessibility::XAccessibleMultiLineText>
- mpMultiLineText;
- css::uno::Reference<css::accessibility::XAccessibleSelection> mpSelection;
- css::uno::Reference<css::accessibility::XAccessibleTable> mpTable;
- css::uno::Reference<css::accessibility::XAccessibleText> mpText;
- css::uno::Reference<css::accessibility::XAccessibleTextMarkup> mpTextMarkup;
- css::uno::Reference<css::accessibility::XAccessibleTextAttributes>
- mpTextAttributes;
- css::uno::Reference<css::accessibility::XAccessibleValue> mpValue;
+ css::uno::WeakReference<css::accessibility::XAccessibleContext> mpContext;
AtkObject *child_about_to_be_removed;
gint index_of_child_about_to_be_removed;
-// OString * m_pKeyBindings
};
struct AtkObjectWrapperClass