diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-08-13 16:58:58 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-08-13 17:08:22 +0200 |
commit | 07ebec47da4a096aaab53bf6a90bb219ce29bfbf (patch) | |
tree | 55b125e7256c576e19415e319b84ea342aeb7c6b /vcl/unx/gtk/a11y/atkwrapper.hxx | |
parent | dd8fbd4c8ae18421975f45c7aa7befbf74f0b0d7 (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.hxx | 31 |
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; |