diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2016-11-21 23:01:31 -0500 |
---|---|---|
committer | Kohei Yoshida <libreoffice@kohei.us> | 2016-11-22 13:17:40 +0000 |
commit | a0ef7474521413c8967559a635e6fdc0d88f1df6 (patch) | |
tree | 4d60cec609d6d1c79319702b89f0a004e337dd7c /vcl/unx/gtk/a11y/atkwrapper.hxx | |
parent | e010834dc1a82fcb80dc23025001a752a0fb60a4 (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.hxx | 34 |
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 |