| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
If this is not done, then the device might be finalized from under us during
a callback, leading to a crash.
|
| |
|
|
|
|
|
|
|
| |
Add a stamp to AtspiAccessiblePrivate for use when iterating through a
tree, and don't touch accessibles that have already been touched. This should
further protect against buggy or malicious applications causing infinite
recursion.
Fixes #113
|
| |
|
|
|
|
| |
for the cached children array
Fixes #114.
|
| | |
|
| |
|
|
|
|
|
|
| |
This can happen if a buggy application returns an accessible with itself as
its parent. This can cause problems later if something recurses through
an object's descendants (atspi_accessible_clear_cache for instance).
Helps #113
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This matches the behavior of atspi_accessible_get_role_name. We already hav
translations from atk, so we can use those.
Also, move the table for role name translations into atspi, since it seems
that atk is increasingly becoming a legacy tool.
Add a note to the xml indicating that it is optional to implement
GetRoleName and GetLocalizedRoleName.
Fixes #110
|
| |
|
|
|
| |
There is no point in having them mutable, and makes the API look more
awkward and harder to use than it actually is.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Fixes "Unknown interface org.gnome.atspi.Socket"
Also remove LoginHelper interface from the same array. It has never exited
in AT-SPI 2.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the root window was being passed to XIGrabKeycode. This had the
annoying side effect of briefly taking focus from the window when one of our
key grabs was used, leading to a window:deactive event that would confuse
orca.
The challenge with the new approach is that we need to reset any active grabs
when the focus changes. Now the X event watcher will listen for FocusIn
events and refresh the key grabs when it sees one. As a backup, we also
listen for window:activate and window:deactivate events and also refresh the
key grabs when we see one.
Fixes #101
|
| |
|
|
|
|
|
|
| |
guards
So that the comment doesn't get expanded multiple times in the
includes of other files; g-ir-scanner complains about multiple
definitions then.
|
| | |
|
| |
|
|
|
|
|
|
| |
This method is still used, but is in the process of deprecation by the
atspi-device-listener functions.
I'm documenting it to have a reference of what the dbus demarshalling
code is supposed to do.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I ran this on each directory with C files:
clang-format -i *.[ch]
"-i" is the in-place option.
I also adjusted the order of #includes for some files which failed to
build after that:
Clang-format reorders blocks of #include directives alphabetically,
but they can be grouped and separated by blank lines. If there is a
blank line between blocks, like
#include "zork.h"
#include "bar.h"
#include "foo.h"
then it will not put zork.h after the other two. The last two header
files will be sorted alphabetically.
We can adjust the formatting of chunks of code by hand with comments
like these:
/* clang-format off */
this code {
is, formatted, by, hand;
}
/* clang-format on */
See https://clang.llvm.org/docs/ClangFormat.html for the general
manual and https://clang.llvm.org/docs/ClangFormatStyleOptions.html
for the style options and the comments described above.
|
| |
|
|
|
| |
Per the previous commits, this function is never called from pyatspi2
nor orca. They do monitoring of mouse events via the Registry interface.
|
| |
|
|
|
|
|
|
|
| |
This function is never called from pyatspi2 nor from orca. It was
meant to be the way to register for mouse events, but that is done
with the Registry.RegisterEvent("mouse", ...) method instead.
I've turned the function into a no-op to avoid ABI breakage. We can
remove it when we have an ABI break.
|
| |
|
|
| |
Fixes #93
|
| | |
|
| |
|
|
| |
Same as the last commit, fix the docs for atspi_component_set_position().
|
| |
|
|
|
| |
Also fix the docs for atspi_component_set_extents() - the "horizontal"
and "vertical" were switched around in the argument descriptions.
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
misc: call queue cleanup function
See merge request GNOME/at-spi2-core!106
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This function was introduced in !53 with 7fdbb0f9 but was not called.
I've updated the function to avoid possible complains if the pointer
is NULL.
Fixes warning:
../atspi/atspi-misc.c:785:1: warning: ‘cleanup_deferred_message’ defined but not used [-Wunused-function]
785 | cleanup_deferred_message(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
| |/
|
|
|
|
|
| |
This file is licenced under the gpl, not the lgpl, and there is no version 2.1
of the gpl.
Fixes #87
|
| | |
|
| |
|
|
| |
Fixes #63
|
| |
|
|
|
| |
This role allows to specify a button will open a menu. It's widely used
in Hamburger buttons, and Qt has QAccessible:ButtonMenu role for it.
|
| |
|
|
| |
Makes it clear that the iter is being advanced, hopefully?
|
| | |
|
| |
|
|
|
|
| |
_atspi_dbus_return_accessible_from_iter
They are equivalent.
|
| |
|
|
| |
It is already done in _atspi_dbus_set_interfaces().
|
| |
|
|
|
|
|
|
|
| |
First we demarshal the DBusMessageIter into an InterfaceNames struct.
Then we convert the InterfaceNames to a bitmask suitable for the field
AtspiAccessible.interfaces.
This will make it easier to replace libdbus with gdbus.
|
| | |
|
| |
|
|
|
| |
This was added in 6395af932862454ed292d3623c18c59218ecbe7e but never
used.
|
| |
|
|
| |
Copied descriptions from AtspiRole, and fixed some inconsistencies in those.
|
| |
|
|
|
|
|
|
| |
Copied the documentation from AtspiRelationType.
Also, put the order of descriptions for AtspiRelationType in the same
order as the enum values; DESCRIPTION_FOR was incorrectly below
ERROR_MESSAGE.
|
| |
|
|
|
|
|
|
| |
notifications"
This breaks ABI for atk. Reverting for now.
This reverts commit 28d732a20180b5b3f07cb0079b9d9943b881b929.
|
| |
|
|
|
|
| |
Allows an event listener to be registered only for a given application.
Fixes #52
|
| |
|
|
| |
Fixes #63
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
This allows an application to expose a textual representation of the value.
A similar API was added to atk a few years ago, but it was never exposed
via AT-SPI.
See https://bugzilla.gnome.org/show_bug.cgi?id=684576
|
| |
|
|
|
| |
destroy_deferred_message_item() already frees a whole BusDataClosure;
no need to spell it out elsewhere.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The comment "TODO this is still memory leak on c->data" from
destroy_deferred_message_item() caught my eye, so I went looking for
what uses it.
defer_message() is the only place that creates BusDataClosure structs,
and gets passed the data field. However, the only caller of
defer_message() is dbus_connection_add_filter(), and *that* call is
done with both NULL user_data and free_data_function. So,
defer_message() will always get data=NULL.
This commit also removes all the "void *user_data" arguments from the
functions called by process_deferred_message(); they just got passed
the closure->data but none of them actually use it.
|
| |
|
|
| |
Seems to be a cut&paste typo of the prototype just below for _atspi_dbus_handle_event
|