1. 03 Dec, 2019 1 commit
    • Colomban Wendling's avatar
      adaptor: Fix missing events at startup · 8cdf4d30
      Colomban Wendling authored
      We need to register the application before anything else happens,
      otherwise we might miss some events sent before registration.
      
      As we want to register only from the main loop to avoid registering
      an application that won't respond to calls [1], we used an idle
      callback; but it doesn't run early enough in all cases, e.g. in
      Firefox.  So, switch to a high-priority 0-timeout so that it should be
      dispatched among the first ones in the next main loop iteration, then
      being run before other callbacks that might generate events.
      
      Fixes gtk#2186
      
      [1] at-spi2-core#16
      8cdf4d30
  2. 28 Aug, 2019 1 commit
  3. 27 Aug, 2019 1 commit
  4. 15 Aug, 2019 1 commit
  5. 01 Apr, 2019 1 commit
  6. 17 May, 2018 3 commits
  7. 26 Oct, 2016 1 commit
  8. 31 Aug, 2016 1 commit
  9. 31 Mar, 2016 2 commits
  10. 21 Jul, 2015 1 commit
  11. 18 Dec, 2014 1 commit
    • Benjamin Otte's avatar
      Don't parse non-existing arguments · 790dc102
      Benjamin Otte authored
      The definition of the signal declares 0 arguments, so the listener can't
      assume there are any.
      
      Found by Michael Stahl via this valgrind snippet:
      
      ==4770== Conditional jump or move depends on uninitialised value(s)
      ==4770==    at 0x3104C10812: text_selection_changed_event_listener
      (event.c:1036)
      ==4770==    by 0x30EF42160A: signal_emit_unlocked_R (gsignal.c:3519)
      ==4770==    by 0x30EF42A180: g_signal_emit_valist (gsignal.c:3309)
      ==4770==    by 0x30EF42A8F9: g_signal_emit_by_name (gsignal.c:3405)
      ==4770==    by 0x1835EE96:
      AtkListener::notifyEvent(com::sun::star::accessibility::AccessibleEventObject
      const&) (atklistener.cxx:454)
      ==4770==    by 0x56E46BA:
      comphelper::AccessibleEventNotifier::addEvent(unsigned int,
      
      https://bugzilla.gnome.org/show_bug.cgi?id=741734
      790dc102
  12. 24 Sep, 2014 1 commit
  13. 28 Apr, 2014 1 commit
  14. 03 Feb, 2014 1 commit
  15. 02 Dec, 2013 1 commit
  16. 05 Sep, 2013 1 commit
  17. 01 Jul, 2013 1 commit
    • Mike Gorse's avatar
      Fix deadlock with key event listeners in our own process · c1914639
      Mike Gorse authored
      If a key event was sent out and there was also a listener in the same
      process, then the listener would never see the event, since the main
      loop was being run in a separate context, while libatspi would defer
      handling of the event, adding an idle handler into the default context.
      We should call atspi_set_main_context (new function) to let libatspi
      know which context to use when adding an idle callback. This was
      previously hacked around by setting ATSPI_CLIENT in pyatspi and avoiding
      switching main loop contexts if it was set, but this was specific to
      pyatspi (ie, did not take into account direct usage of libatspi or use
      directly through introspection, such as in Javascript), so this check
      was removed in 2.9.3.
      c1914639
  18. 16 Jun, 2013 1 commit
    • Mike Gorse's avatar
      Use atspi_is_initialized to decide whether to expose p2p connection · 683739de
      Mike Gorse authored
      Previously, direct D-Bus connections were not exposed if AT_SPI_CLIENT
      was set in the environment, since they are causing deadlock if the
      application and the AT are in the same process. However, AT_SPI_CLIENT
      was only being set by pyatspi, meaning that libatspi consumers not using
      pyatspi (Javascript embedded in gnome-shell that uses the libatspi
      introspection bindings directly, for instance) would still have problems
      when attempting to inspect their own accessibles.
      
      Also removed the code in event.c to disable main loop context switching
      when AT_SPI_CLIENT was set. Modifying it to also check
      atspi_is_initialized would cause deadlock with gnome-shell when Orca is
      running. Hopefully that code is not needed anymore.
      683739de
  19. 30 Apr, 2013 1 commit
  20. 09 Jul, 2012 1 commit
  21. 06 Jul, 2012 1 commit
  22. 05 Jul, 2012 1 commit
  23. 25 Jun, 2012 1 commit
  24. 14 Jun, 2012 1 commit
  25. 10 Feb, 2012 1 commit
  26. 03 Jan, 2012 1 commit
  27. 19 Dec, 2011 1 commit
  28. 15 Dec, 2011 1 commit
    • Mike Gorse's avatar
      Change a : to a / in the suffix to an event · 024cd955
      Mike Gorse authored
      at-spi2-core now uses arg0path to create match rules to catch events
      with suffixes (ie, :system), but this is kind of stretching the intended
      purpose of arg*path, which expects paths delimited with /'s, so replace
      a : with a /. The / is changed back to a : in at-spi2-core.
      024cd955
  29. 24 Sep, 2011 1 commit
  30. 19 Sep, 2011 1 commit
    • Mike Gorse's avatar
      BGO#658013: Add timeout to check for disconnect on a key listener · ecba2419
      Mike Gorse authored
      For some reason, if the dbus connection goes away during a call to
      NotifyListenersSync, the DBusPendingCall is not notified.  This may be a
      libdbus bug.  Working around the issue by adding a timeout that will
      check for a disconnect and abort the call as needed.
      ecba2419
  31. 29 Aug, 2011 1 commit
    • Alejandro Piñeiro's avatar
      Using new format to register to window events · 9c6a0bf2
      Alejandro Piñeiro authored
      Now ATK has AtkWindow, so the format to register to window events
      is like any other ATK event
      
      We check if we need to register using the old format, assuming that
      if you are able to register to a window event using the old format
      is because the ATK implementor is still using the old one. This
      check should be temporal.
      9c6a0bf2
  32. 15 Aug, 2011 1 commit
  33. 27 Jul, 2011 1 commit
    • Mike Gorse's avatar
      Some refactoring to remove duplicate code and other clean-ups · 20958d89
      Mike Gorse authored
      Remove "common" directory (it was an artifact of at-spi2-core and
      at-spi2-atk originally living in the same repository).  Where constants
      essentially duplicated other constants in libatspi, use the constants defined
      in libatspi, renaming as needed.  Otherwise move code from common into
      atk-adaptor.
      20958d89
  34. 11 Jul, 2011 1 commit
  35. 23 Jun, 2011 1 commit
    • Mike Gorse's avatar
      BGO#652858: Deregister objects on state-changed::defunct · c72a4b4b
      Mike Gorse authored
      When a state-change:defunct is received, remove the object from the
      dbus-path-to-object-mapping hash.  Also, avoid enumerating an object's
      children in a call to GetItems if the object is marked defunct.  This
      should mostly shield the ATK implementation from being called on objects
      that have been marked defunct.
      
      Also removed a seemingly unnecessary g_strdup/g_free pair.
      c72a4b4b
  36. 21 Jun, 2011 1 commit
    • Mike Gorse's avatar
      Only register for events when something is listening · d0f7dd49
      Mike Gorse authored
      Track whether clients are listening, based on calls to GetItems and
      event listener registrations, and disable event handlers if no clients
      are listening.  Note that this currently handles event listeners in bulk
      and could be refined to only connect to individual signals that are
      being listened to.
      d0f7dd49
  37. 22 May, 2011 1 commit