| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Fixes #63
|
|
|
|
| |
Makes it clear that the iter is being advanced, hopefully?
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
processing the event
Once we demarshal, the event.source should not be NULL. It can come
from the message path if it is *not* being a ScreenReader event, or
from a variant argument.
Fixes static-scan warnings of this sort:
../../../atspi/atspi-event-listener.c:248:9: warning: Access to field 'accessible_parent' results in a dereference of a null pointer (loaded from field 'source') [core.NullDereference]
if (event->source->accessible_parent)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
|
| |
is NULL
I don't know why the interface would be NULL, but
dbus_message_get_interface() can return that.
We return DBUS_HANDLER_RESULT_NOT_YET_HANDLED in the same way as the
other error case, but note that the caller of this function ignores
the return value.
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/at-spi2-core/issues/35
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/at-spi2-core/issues/30
|
|
|
|
|
|
|
|
|
|
|
| |
* Release memory before pointer overwrite.
* Reduce memory leaks reported in ref_accessible.
* Remove leak connected with atspi_state_type_get_type.
* Remove memory leak in
atspi_event_listener_register_from_callback_full.
* Reduce memory leaks reported on program exit.
Change-Id: Ifde65dd44643f2e58442cf70809703f979436e09
|
|
|
|
|
|
| |
We should not modify event_listeners while we are iterating through it.
Otherwise, we may crash. If an event listener is removed from within an event
callback, then defer the removal until the callback has ended.
|
|\
| |
| |
| |
| | |
Keep indentation
See merge request GNOME/at-spi2-core!47
|
| | |
|
|/
|
|
| |
Thanks to Shimwoo Kim for spotting.
|
|
|
|
|
|
| |
Properly remove event listeners from the list when they are deregistered.
Fixes a crash that can happen when orca exits. Similar issue to
https://gitlab.gnome.org/GNOME/at-spi2-core/issues/22
|
|
|
|
|
|
|
|
|
| |
For screen reader events, look at the name of the signal and convert it,
rather than hard-coding "RegionChanged." This is necessary to allow
screen_reader_signal_watcher to process signals that will be added in the
future.
https://gitlab.gnome.org/GNOME/orca/issues/36
|
| |
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/at-spi2-core/issues/2
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Normally, this is set to the application / root accessible from the
application corresponding to the event source, but screen-reader-generated
events are actually generated by the screen reader. The sender is set based on
the application that sent the signal over dbus, so, in the latter case, this
will be set to the screen reader.
Per discussion at https://gitlab.gnome.org/GNOME/orca/issues/36
|
|
|
|
|
|
|
| |
Remove atspi_text_notify_reading_position, and instead add a region_changed
signal. Also make the dbus API more like the API used for other events.
Per discussion at https://gitlab.gnome.org/GNOME/orca/issues/36
|
|
|
|
|
|
|
|
|
| |
Allow a client to receive notifications through AtspiEventListeners. This
involves special casing, since the event is generated by the screen reader,
not the GUI, and is, thus, handled by a different DBus interface, but, from
the client's perspective, it looks like a normal AT-SPI event.
Also renamed atspi_text_notify_read_position to
atspi_text_notify_reading_position and fixed a few warnings.
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/at-spi2-core/issues/5
|
|
|
|
| |
Error logs has different naming convention in atspi/ files.
|
|
|
|
|
|
| |
This mainly restores the gir entry for AtspiApplication.
https://bugzilla.gnome.org/show_bug.cgi?id=784481
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=764688
|
|
|
|
|
|
|
| |
The check for an unknown child path resulting in a NULL child
added in a614d447f was backwards.
https://bugzilla.gnome.org/show_bug.cgi?id=755951
|
|
|
|
|
|
|
|
| |
If we get a :children-changed event with the path for the child not matching
any accessible in the application, event->any_data would end up with a NULL
child, triggering a crash.
https://bugzilla.gnome.org/show_bug.cgi?id=755951
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original cache API was problematic for QT AT-SPI because it forces
enumeration of all children, preventing lazy instantiation of objects.
The API now sends the object's index in parent and child count (or -1 if
not known / children should not be cached) rather than an array of
children.
Also made cache of children a GPtrArray rather than a GList, since it
may contain holes. If an object has not yet been instantiated for a
particular child, then its value will be set to NULL, and
atspi_accessible_get_child_at_index will make a dbus call to fetch the
child, at which point it will be cached.
https://bugzilla.gnome.org/show_bug.cgi?id=650090
|
|
|
|
|
| |
When a cache is referenced in response to an event, it is supposed
to be unref'd after the event handler has been called.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=726243
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently, for some reason unknown to me, it is sometimes possible for
a jhbuild session to be running an at-spi2-registryd from the system
directory, rather than the jhbuild install, so it is useful to be
compatible with at-spi2-registryd <= 3.10. So, for now, if no properties
are being requested with an event, then let's leave off the (empty)
array.
Also modify at-spi2-registryd to accept the old form of RegisterEvent.
We may want to revert this eventually; it would be cleaner not to send
two different forms of RegisterEvent.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add atspi_event_listener_register_full, to request that particular data
be sent with an event, and cache the data for the duration of the event
callback.
This also extends the D-Bus protocol, adding an a{sv} to an event to send
this data along, but we will still read events without this array added for
backwards compatibility (and compatibilllity with QT-AT-SPI, which does not
send this data for now).
https://bugzilla.gnome.org/show_bug.cgi?id=708695
|
|
|
|
|
| |
AtspiEventListenerCb is currently defined as (transfer
full), so the caller owns the struct and needs to free it, so it should not be const.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=707010
|
|
|
|
|
|
| |
These are intended as C convenience functions. Gjs doesn't support
having a GDestroyNotify without a user_data and prints out a warning, so
might as well skip for purposes of introspection.
|
| |
|
| |
|
|
|
|
|
| |
If an event listener specifies a detail for an event, but an event
arrives with an empty detail, then libatspi might crash.
|
| |
|
|
|
|
|
| |
If an event listener is registered for an event more than once (ie,
registering both the event and its superset), then only notify it once.
|
|
|
|
|
|
|
|
| |
We update the cache in response to name, description, and parent
property-change signals, but we were missing code to handle signals for
role changes.
https://bugzilla.gnome.org/show_bug.cgi?id=685469
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=684033
|
|
|
|
|
| |
There isn't really any point in checking for GLib functions returning NULL
due to lack of memory, since they just abort instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes we get "focus" events from gtk, but the cache still does not
indicate that the object has STATE_FOCUSED. Really should get to the
bottom of this but don't have time to investigate more right now. Might
be some kind of issue with the accessible being added to the cache
before it is fully initialized--perhaps AddAccessible really doesn't
make sense.
https://bugzilla.gnome.org/show_bug.cgi?id=663992
|
|
|
|
|
|
| |
If we get an event with what appears to be an accessible as the variant
but we do not succeed in marshalling the accessible (possibly because it
is the null path), do not unref the null object. Stops a glib warning.
|