Skip to content
  • Allison Karlitskaya's avatar
    Make 4 incompatible changes to the GAction API · 5ff65d86
    Allison Karlitskaya authored and Sébastien Bacher's avatar Sébastien Bacher committed
    This commit represents an API break to GAction in the following ways:
    
      - the 'set_state' entry in the GActionInterface vtable has been
        renamed to 'change_state'.  The number and order of vtable items has
        not otherwise changed.
    
      - g_action_set_state() has been renamed to g_action_change_state() to
        match the updated vtable entry.
    
      - the "state" property of the GAction interface has been changed to
        read-only to reflect the fact that g_action_set_state() no longer
        exists.
    
      - GSimpleActionClass has been hidden.  GSimpleAction can no longer be
        subclassed.
    
    >> Rationale
    
    g_action_set_state() has never been a true setter in the sense that
    calling it will update the value of the "state" property.  It has always
    been closer to "request 'state' to be changed to this value" with
    semantics defined by the implementor of the interface.  This is why the
    equivalent method in GActionGroup had its name changed from 'set' to
    'change'.  This change...
    5ff65d86