1. 27 Apr, 2022 1 commit
  2. 21 Mar, 2022 1 commit
  3. 20 Mar, 2022 1 commit
  4. 11 Jan, 2022 1 commit
  5. 07 Dec, 2021 1 commit
  6. 02 Nov, 2021 1 commit
  7. 20 Oct, 2021 1 commit
  8. 16 Oct, 2021 1 commit
  9. 06 Oct, 2021 1 commit
  10. 29 Sep, 2021 2 commits
  11. 20 Sep, 2021 1 commit
  12. 11 Sep, 2021 1 commit
  13. 09 Sep, 2021 3 commits
  14. 04 Sep, 2021 2 commits
  15. 02 Sep, 2021 1 commit
  16. 29 Aug, 2021 5 commits
  17. 21 Aug, 2021 1 commit
  18. 18 Aug, 2021 1 commit
  19. 04 Aug, 2021 1 commit
    • Matthias Clasen's avatar
      xkb: Clear cached layouts when necessary · 8e4d5731
      Matthias Clasen authored
      The value of the show-all-sources setting influences
      what layouts we provide, so monitor the setting, and
      when it changes, clear the cached layouts and emit
      the new GnomeXkbInfo::layouts-changed signal.
      
      Fixes: #195
      8e4d5731
  20. 22 Jul, 2021 1 commit
  21. 16 Jul, 2021 1 commit
  22. 03 Jul, 2021 1 commit
  23. 25 Jun, 2021 1 commit
  24. 18 Jun, 2021 1 commit
  25. 10 May, 2021 1 commit
  26. 22 Apr, 2021 3 commits
    • Peter Hutterer's avatar
      xkbinfo: continue after skipping a duplicate layout, don't return · bab26981
      Peter Hutterer authored
      Copy-paste error introduced in aa7e3440. We're inside the loop listing
      through all layouts here so returning early means we skip any layout after the
      duplicate one.
      
      Before:
          $ test-xkb-info | wc -l
          3913
      Now:
          $ test-xkb-info | wc -l
          3923
      
      Fixes aa7e3440
      Found by Jason Francis (@jf)
      bab26981
    • Peter Hutterer's avatar
      xkbinfo: only insert new layouts, skip over duplicate ones · aa7e3440
      Peter Hutterer authored
      This matches the behavior to the one in the old code path before
      libxkbregistry.
      
      This also fixes a use-after-free bug when a duplicate layout is present. The
      same layout struct is a member of multiple hashtables, specifically
      priv->layouts_table, priv->layouts_by_language and  priv->layouts_by_country.
      
      When the duplicate layout is added, add_layouts calls g_hash_table_replace
      (priv->layouts_table, l->id, l) which frees the original layout - but the
      layouts_by_{country|language} still have that now-freed layout.
      Immediately afterwards, add_layouts calls add_layout_to_locale_tables () which
      calls add_layout_to_table () which triggers a use-after-free.
      
      Avoid all this by simply skipping any duplicate layout.
      
      Reproducible with
        gsettings set org.gnome.desktop.input-sources show-all-sources true
        valgrind /usr/libexec/gnome-desktop-debug/test-xkb-info
      
      Requires xkeyboard-config <= 2.32, it has a duplicate cm(mmuock) entry
      (one is marked exotic, hence the need for show-all-sources).
      
      Fixes #190
      
      Bug analysis by Barnabás Pőcze (@pobrn
      
      )
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      aa7e3440
    • Peter Hutterer's avatar
      test: plug two memory leaks in the xkbinfo test · bd3ec220
      Peter Hutterer authored
      g_uri_escape_string() returns an allocated string, we need to free it.
      bd3ec220
  27. 20 Apr, 2021 1 commit
  28. 15 Apr, 2021 3 commits