1. 24 Sep, 2022 1 commit
  2. 11 May, 2022 1 commit
  3. 04 Apr, 2022 1 commit
  4. 29 Nov, 2021 1 commit
  5. 06 Sep, 2021 1 commit
  6. 22 May, 2021 1 commit
  7. 20 May, 2021 1 commit
  8. 11 Mar, 2021 3 commits
  9. 12 Dec, 2020 1 commit
  10. 21 Nov, 2020 1 commit
  11. 21 Aug, 2020 2 commits
  12. 24 Jul, 2020 2 commits
  13. 18 Jun, 2020 1 commit
  14. 22 May, 2020 1 commit
    • Matthias Clasen's avatar
      gtkapplication: Drop app menu support · 79d6a77d
      Matthias Clasen authored
      Drop apis and code related to appmenus from
      both GtkApplication and GtkApplicationWindow.
      We still keep the menubar support, since it
      is needed for system integration on OS X.
      Fixes: #2731
  15. 11 May, 2020 1 commit
  16. 06 Apr, 2020 1 commit
  17. 26 Mar, 2020 1 commit
  18. 20 Mar, 2020 1 commit
    • Christian Hergert's avatar
      widget: fix class private data usage to be _init() safe · ccac404f
      Christian Hergert authored
      Before this commit, adding GtkWidgetAction to class private data would
      require copying the actions to each subclass as they were built or
      modified. This was convenient in that it is a sort of "copy on write"
      However, due to the way that GTypeInstance works with base _init()
      functions, the "g_class" pointer in GTypeInstance is updated as each
      _init() function is called. That means you cannot access the subclasses
      class private data, but only the parent class private data.
      If instead we use a singly linked list of GtkWidgetAction, each subclass
      has their own "head" yet all subclasses share the tail of the
      GtkWidgetAction chain.
      This creates one bit of complexity though. You need a stable way to know
      which "bit" is the "enabled" bit of the action so we can track enabled
      GAction state. That is easily solved by calculating the distance to the
      end of the chain for a given action so that base classes sort ahead of
      subclasses. Since the parent class always knows its parent's actions, the
      position is stable.
      A new dynamic bitarray helper also helps us avoid allocations in all the
      current cases (up to 64 actions per widget) and dynamically switches to
      malloc if that is to ever be exceeded.
  19. 19 Mar, 2020 2 commits
  20. 12 Feb, 2020 3 commits
    • Alexander Larsson's avatar
      profiler: Add _end_mark() version of _add_mark() · 2890cd84
      Alexander Larsson authored
      These don't take a duration, instead they call g_get_monotonic_time() to
      and subtract the start time for it.
      Almost all our calls are like this, and this makes the callsites clearer
      and avoids inlining the clock call into the call site.
    • Alexander Larsson's avatar
      profiler: Make profiler-is-running a macro · 01d5ad20
      Alexander Larsson authored
      When we use if (GDK_PROFILER_IS_RUNNING) this means we get an
      inlined if (FALSE) when the compiler support is not compiled in, which
      gets rid of all the related code completely.
      We also expand to  G_UNLIKELY(gdk_profiler_is_running ()) in the supported
      case which might cause somewhat better code generation.
    • Alexander Larsson's avatar
      Convert all profiler times from nsec to usec · cc643df8
      Alexander Larsson authored
      usec is the scale of the monotonic timer which is where we get almost
      all the times from. The only actual source of nsec is the opengl
      GPU time (but who knows what the actual resulution of that is).
      Changing this to usec allows us to get rid of " * 1000" in a *lot* of
      places all over the codebase, which are ugly and confusing.
  21. 04 Feb, 2020 1 commit
  22. 25 Jan, 2020 1 commit
  23. 23 Jan, 2020 2 commits
  24. 22 Jun, 2019 1 commit
  25. 18 Jun, 2019 2 commits
    • Matthias Clasen's avatar
      Allow registering actions per-class · ef031e1a
      Matthias Clasen authored
      Add a facility to register and install actions
      at class init time. The intended use for these
      actions is for
      a) context and other model-based menus
      b) key bindings
      Most of these actions are going to be stateless,
      so add separate apis for the simple and stateful
      We avoid creating an action group for these by
      teaching the action muxer about these actions.
      The action muxer also maintains the enabled
      state for these actions.
    • Matthias Clasen's avatar
      Give the action muxer a widget · 9b62da10
      Matthias Clasen authored
      This will be used in the future to obtain
      widget class actions.
  26. 07 Jun, 2019 1 commit
  27. 31 May, 2019 1 commit
    • Christian Hergert's avatar
      gtk: rely on default marshallers · bd26cce8
      Christian Hergert authored
      Similar to previous removals of g_cclosure_marshal_VOID__VOID we can remove
      other marshallers for which are a simple G_TYPE_NONE with single parameter.
      In those cases, GLib will setup both a c_marshaller and va_marshaller for
      us. Before this commit, we would not get a va_marshaller because the
      c_marshaller is set.
      Related to Initiatives#10
  28. 19 May, 2019 1 commit
  29. 14 May, 2019 2 commits
  30. 08 May, 2019 1 commit