1. 19 Nov, 2021 1 commit
  2. 16 Nov, 2021 1 commit
  3. 17 Oct, 2021 1 commit
  4. 24 Sep, 2021 1 commit
  5. 06 Sep, 2021 1 commit
  6. 29 Jul, 2021 1 commit
  7. 22 Jul, 2021 2 commits
    • Matthias Clasen's avatar
      Add more sysprof marks · fce23c98
      Matthias Clasen authored
      Add a few more marks during gtk_init to figure out where
      our startup time goes, and avoid the sysprof initialization
      from distorting the first mark.
    • Matthias Clasen's avatar
      Add more sysprof marks · a10b1b73
      Matthias Clasen authored
      Add a few more marks during gtk_init to figure out where
      our startup time goes, and avoid the sysprof initialization
      from distorting the first mark.
  8. 22 May, 2021 1 commit
  9. 21 May, 2021 1 commit
    • Matthias Clasen's avatar
      docs: Reduce redundancy · 4a0d3d7a
      Matthias Clasen authored
      Remove a boatload of "or %NULL" from nullable parameters
      and return values. gi-docgen generates suitable text from
      the annotation that we don't need to duplicate.
      This adds a few missing nullable annotations too.
  10. 20 May, 2021 1 commit
  11. 25 Mar, 2021 1 commit
  12. 11 Mar, 2021 2 commits
  13. 17 Feb, 2021 1 commit
  14. 21 Dec, 2020 1 commit
  15. 09 Dec, 2020 1 commit
  16. 08 Dec, 2020 1 commit
    • Carlos Garnacho's avatar
      gtk/main: Keep implicit grab until all buttons are released · 43e48488
      Carlos Garnacho authored
      Currently, the implicit grab is broken on the first button release,
      in the case of pressing multiple buttons simultaneously. This means
      that we emit crossing events early, and the next button releases
      are sent to the pointer focus widget instead.
      Consider the implicit grab effective until all buttons are released,
      and only unset the pointer implicit grab (and emit crossing events)
      after there are no further buttons pressed. We do this by checking
      event modifiers, given button release events do contain the modifiers
      in effect at the time the event was generated, we have to look for
      exactly one active button modifier.
      Fixes weird pointer states after pressing multiple buttons on a
      Fixes: #3426
  17. 19 Nov, 2020 1 commit
    • Carlos Garnacho's avatar
      gtk/main: Do not unset active state on button release w/o implicit grab · 5ab14ff7
      Carlos Garnacho authored
      If an active grab gets undone on button press (e.g. closing a menu), we
      will receive a button release on the new target even though it didn't handle
      the button press, and disable ::active state.
      This causes warnings when handling the button release, as it tries to undo
      ::active state that is not really there.
      In order to fix this, check that the pointer focus actually had an implicit
      grab at the time of receiving the button release, before trying to unset
      the ::active state.
  18. 15 Nov, 2020 1 commit
    • Christoph Reiter's avatar
      Always parse GTK/GDK/GSK_DEBUG env vars and make some entries available in non-debug mode · afc73c38
      Christoph Reiter authored
      Currently GTK can be built with G_ENABLE_DEBUG which enables various debug code and parsing
      of those env vars, or without, which instead of parsing them prints a warning if they are set.
      While building with G_ENABLE_DEBUG isn't strictly needed it's the only way to make GTK_DEBUG=interactive work,
      which is a nice thing to have always.
      This enables parsing of those env vars in any case and allows specific values being marked as also
      available when not built with G_ENABLE_DEBUG (interactive for example). If not built with G_ENABLE_DEBUG
      then all unavailable values will be marked as such in the help output and a note is added that
      GTK needs to be built with G_ENABLE_DEBUG to use them, which should help discoverability.
  19. 14 Nov, 2020 1 commit
  20. 12 Nov, 2020 2 commits
  21. 14 Oct, 2020 2 commits
  22. 09 Oct, 2020 1 commit
    • Matthias Clasen's avatar
      Send focus events to the root · 115ed005
      Matthias Clasen authored
      We are not propagating focus change events, and that is the only
      place where we are listening for focus change events. If GtkWindow
      does not see focus-in events for its popovers, we end up with
      inadvertendly inactive windows.
      Fixes: #3240
  23. 19 Sep, 2020 1 commit
  24. 14 Sep, 2020 4 commits
  25. 28 Aug, 2020 1 commit
  26. 26 Aug, 2020 1 commit
  27. 20 Aug, 2020 1 commit
    • Matthias Clasen's avatar
      Trigger fontconfig initialization early · a6748326
      Matthias Clasen authored
      Add a pango call to create the fontmap already in gtk_init.
      This will let us hide the cost of FcInit() (which on font-heavy
      systems can be ~100ms) in a thread, on the pango side.
  28. 14 Aug, 2020 1 commit
  29. 28 Jul, 2020 1 commit
    • Carlos Garnacho's avatar
      gdk: Conflate GDK devices · cab1dcb6
      Carlos Garnacho authored
      Make GdkEvents hold a single GdkDevice. This device is closer to
      the logical device conceptually, although it must be sufficient for
      device checks (i.e. GdkInputSource), which makes it similar to the
      physical devices.
      Make the logical devices have a more accurate GdkInputSource where
      needed, and conflate the event devices altogether.
  30. 26 Jul, 2020 2 commits
    • Matthias Clasen's avatar
      Add GTK_DEBUG=accessibility · 01f31665
      Matthias Clasen authored and Emmanuele Bassi's avatar Emmanuele Bassi committed
      Add a debug flag for accessibility-related debug spew.
    • Emmanuele Bassi's avatar
      Remove ATK · c63087a5
      Emmanuele Bassi authored
      To build a better world sometimes means having to tear the old one down.
              -- Alexander Pierce, "Captain America: The Winter Soldier"
      ATK served us well for nearly 20 years, but the world has changed, and
      GTK has changed with it. Now ATK is mostly a hindrance towards improving
      the accessibility stack:
       - it maps to a very specific implementation, AT-SPI, which is Linux and
         Unix specific
       - it requires implementing the same functionality in three different
         layers of the stack: AT-SPI, ATK, and GTK
       - only GTK uses it; every other Linux and Unix toolkit and application
         talks to AT-SPI directly, including assistive technologies
      Sadly, we cannot incrementally port GTK to a new accessibility stack;
      since ATK insulates us entirely from the underlying implementation, we
      cannot replace it piecemeal. Instead, we're going to remove everything
      and then incrementally build on a clean slate:
       - add an "accessible" interface, implemented by GTK objects directly,
         which describe the accessible role and state changes for every UI
       - add an "assistive technology context" to proxy a native accessibility
         API, and assign it to every widget
       - implement the AT context depending on the platform
      For more information, see: #2833
  31. 24 Jul, 2020 2 commits