summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk/a11y/atkwrapper.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-08-13 16:58:58 +0200
committerStephan Bergmann <sbergman@redhat.com>2015-08-13 17:08:22 +0200
commit07ebec47da4a096aaab53bf6a90bb219ce29bfbf (patch)
tree55b125e7256c576e19415e319b84ea342aeb7c6b /vcl/unx/gtk/a11y/atkwrapper.hxx
parentdd8fbd4c8ae18421975f45c7aa7befbf74f0b0d7 (diff)
rhbz#1247588: Hold UNO objects by css::uno::Reference
...instead of raw pointer and manual acquire/relase. It is unclear to me why the original code thought it was necessary (or merely "better") to hold by raw pointer; but at least from the backtrace in rhbz#1247588, it seems plausible that UNO method calls through such raw pointers could recursively call into atk_object_wrapper_dispose and make the raw pointer stale. Change-Id: Idc0a4f9e2f7ffe610261c1b7b98ce9c5e040db43
Diffstat (limited to 'vcl/unx/gtk/a11y/atkwrapper.hxx')
-rw-r--r--vcl/unx/gtk/a11y/atkwrapper.hxx31
1 files changed, 17 insertions, 14 deletions
diff --git a/vcl/unx/gtk/a11y/atkwrapper.hxx b/vcl/unx/gtk/a11y/atkwrapper.hxx
index 95625ad4bca8..5662625a3493 100644
--- a/vcl/unx/gtk/a11y/atkwrapper.hxx
+++ b/vcl/unx/gtk/a11y/atkwrapper.hxx
@@ -47,20 +47,23 @@ struct _AtkObjectWrapper
{
AtkObject aParent;
- ::com::sun::star::accessibility::XAccessible *mpAccessible;
- ::com::sun::star::accessibility::XAccessibleContext *mpContext;
- ::com::sun::star::accessibility::XAccessibleAction *mpAction;
- ::com::sun::star::accessibility::XAccessibleComponent *mpComponent;
- ::com::sun::star::accessibility::XAccessibleEditableText *mpEditableText;
- ::com::sun::star::accessibility::XAccessibleHypertext *mpHypertext;
- ::com::sun::star::accessibility::XAccessibleImage *mpImage;
- ::com::sun::star::accessibility::XAccessibleMultiLineText *mpMultiLineText;
- ::com::sun::star::accessibility::XAccessibleSelection *mpSelection;
- ::com::sun::star::accessibility::XAccessibleTable *mpTable;
- ::com::sun::star::accessibility::XAccessibleText *mpText;
- ::com::sun::star::accessibility::XAccessibleTextMarkup *mpTextMarkup;
- ::com::sun::star::accessibility::XAccessibleTextAttributes *mpTextAttributes;
- ::com::sun::star::accessibility::XAccessibleValue *mpValue;
+ 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;
AtkObject *child_about_to_be_removed;
gint index_of_child_about_to_be_removed;