1. 03 Jan, 2015 1 commit
    • Emmanuele Bassi's avatar
      WARNING: Massive revert commit · 77ec8774
      Emmanuele Bassi authored
      Revert all the work that happened on the master branch.
      
      Sadly, this is the only way to merge the current development branch back
      into master.
      
      It is now abundantly clear that I merged the 1.99 branch far too soon,
      and that Clutter 2.0 won't happen any time soon, if at all.
      
      Since having the development happen on a separate branch throws a lot of
      people into confusion, let's undo the clutter-1.99 → master merge, and
      move back the development of Clutter to the master branch.
      
      In order to do so, we need to do some surgery to the Git repository.
      
      First, we do a massive revert in a single commit of all that happened
      since the switch to 1.99 and the API version bump done with the
      89a2862b commit. The history is too long
      to be reverted commit by commit without being extremely messy.
      77ec8774
  2. 15 Dec, 2014 1 commit
  3. 05 Apr, 2013 2 commits
  4. 17 Mar, 2012 1 commit
  5. 09 Feb, 2012 1 commit
  6. 16 Jan, 2012 6 commits
    • Emmanuele Bassi's avatar
      Deprecate the old raise/lower API · b835e1f8
      Emmanuele Bassi authored
      We have a replacement in ClutterActor, now.
      
      The old ClutterContainer API needs to be deprecated, and the raise() and
      lower() virtual functions need a default implementation, so we can check
      for implementations overriding them, by using the diagnostic mode like
      we do for add(), remove(), and foreach().
      
      The sort_depth_order() virtual function just doesn't do anything, as it
      should have been made ages ago.
      
      The Actor wrappers for the Container methods also need to be deprecated.
      b835e1f8
    • Emmanuele Bassi's avatar
      docs: Clean up ClutterContainer's description · e6082fe4
      Emmanuele Bassi authored
      The API to add/remove/iterate over children is in ClutterActor, now.
      e6082fe4
    • Emmanuele Bassi's avatar
      container: Add diagnostic warnings for deprecated vfuncs · 7f092af1
      Emmanuele Bassi authored
      The old add(), remove(), and foreach() virtual functions are deprecated;
      ClutterContainer should warn if the public API detects that the vfuncs
      have been overridden.
      
      Strictly speaking, it's still legal to override those vfuncs: you can
      chain up to the default vtable, or you could just provide an equivalent
      implementation. The goal is to avoid having to override the Container
      interface, until we can safely deprecate it and remove it in Clutter
      2.0.
      7f092af1
    • Emmanuele Bassi's avatar
      container: Provide default implementation of vfuncs · 477c60c1
      Emmanuele Bassi authored
      Instead of making ClutterActor implement the basic add/remove/foreach
      virtual functions of ClutterContainer, we can simply do that from
      within the ClutterContainer implementation.
      477c60c1
    • Emmanuele Bassi's avatar
      container: Deprecate more methods · 959f875c
      Emmanuele Bassi authored
      The get_children(), foreach(), and foreach_with_internals() methods and
      virtual functions are superceded by the Actor API, and should not be
      used in newly written code.
      959f875c
    • Emmanuele Bassi's avatar
      Deprecate Container add() and remove() methods · 59590994
      Emmanuele Bassi authored
      This will make things interesting.
      
      We have better replacements in ClutterActor, that do The Right Thing
      instead of deferring control and requiring reimplementation in every
      single container actor.
      59590994
  7. 29 Jul, 2011 1 commit
  8. 26 Jul, 2011 1 commit
  9. 15 Feb, 2011 1 commit
    • Emmanuele Bassi's avatar
      introspection: Override the GParamSpec type · 6309fd6c
      Emmanuele Bassi authored
      About other assorted boneheadedness, the GType for GParamSpec is
      called 'GParam'. Why? Who knows. I assume alcohol was involved,
      but I honestly don't want to know.
      
      This removes the last g-ir-scanner warning in Clutter.
      6309fd6c
  10. 10 Jan, 2011 1 commit
  11. 09 Dec, 2010 1 commit
  12. 18 Oct, 2010 2 commits
  13. 03 Oct, 2010 2 commits
  14. 30 Sep, 2010 2 commits
    • Emmanuele Bassi's avatar
      container: Add child_notify() wrapper · 7ac84cf7
      Emmanuele Bassi authored
      The child_notify() virtual function on ClutterContainer does not have a
      wrapper for implementations to call.
      7ac84cf7
    • Emmanuele Bassi's avatar
      container: Implement ::child-notify · fc344fb9
      Emmanuele Bassi authored
      Since we added child properties to the Container interface we made a
      guarantee that the ::child-notify signal would be emitted whenever a
      property was set using clutter_container_child_set*().
      
      We were lying.
      
      The child_notify virtual function was not implemented, and the signal
      was never emitted.
      
      We also used a G_LIKELY() macro while checking for non-NULL on a
      function pointer that was by default set to NULL, thus making the
      setting of child properties far less efficient than needed.
      fc344fb9
  15. 08 Sep, 2010 2 commits
  16. 03 Sep, 2010 1 commit
  17. 11 Jun, 2010 1 commit
    • Emmanuele Bassi's avatar
      Hide the marshallers · b2c905ff
      Emmanuele Bassi authored
      The marshallers we use for the signals are declared in a private header,
      and it stands to reason that they should also be hidden in the shared
      object by using the common '_' prefix. We are also using some direct
      g_cclosure_marshal_* symbol from GLib, instead of consistently use the
      clutter_marshal_* symbol.
      b2c905ff
  18. 05 May, 2010 1 commit
  19. 01 Mar, 2010 1 commit
    • Emmanuele Bassi's avatar
      Remove mentions of the FSF address · 79acb088
      Emmanuele Bassi authored
      Since using addresses that might change is something that finally
      the FSF acknowledge as a plausible scenario (after changing address
      twice), the license blurb in the source files should use the URI
      for getting the license in case the library did not come with it.
      
      Not that URIs cannot possibly change, but at least it's easier to
      set up a redirection at the same place.
      
      As a side note: this commit closes the oldes bug in Clutter's bug
      report tool.
      
      http://bugzilla.openedhand.com/show_bug.cgi?id=521
      79acb088
  20. 25 Feb, 2010 2 commits
    • Emmanuele Bassi's avatar
      container: Expose create and destroy ChildMeta methods · 543e2d3f
      Emmanuele Bassi authored
      It is conceivable that Container implementations might add children
      outside of the Container::add() implementation - e.g. for packing at
      a specific index. Since the addition (and removal) might happen outside
      the common path we need to expose all the API that is implicitly called
      by ClutterContainer when adding and removing a child - namely the
      ChildMeta creation and destruction.
      543e2d3f
    • Emmanuele Bassi's avatar
      Conditionally use G_VALUE_COLLECT_INIT() macro · 26e22b2e
      Emmanuele Bassi authored
      GLib 2.24 (but starting from the 2.23.2 unstable release) added a new
      macro for collecting GValues from a va_list.
      
      The newly added G_VALUE_COLLECT_INIT() macro should be used in place
      of initializing the GValue and calling G_VALUE_COLLECT(), and improves
      the collection performances by avoiding multiple checks, free and
      initialization calls.
      26e22b2e
  21. 22 Sep, 2009 1 commit
  22. 21 Sep, 2009 3 commits
  23. 15 Sep, 2009 1 commit
  24. 24 Apr, 2009 1 commit
  25. 17 Mar, 2009 1 commit
  26. 20 Feb, 2009 1 commit
  27. 16 Oct, 2008 1 commit
    • Emmanuele Bassi's avatar
      2008-10-16 Emmanuele Bassi <ebassi@linux.intel.com> · 6d4667cb
      Emmanuele Bassi authored
      	* clutter/clutter-container.[ch]: Add checks to the Container
      	interface invocation methods, to avoid crashing or corrupting
      	the stack when an actor does not implement every virtual
      	function of the Container interface vtable. GObject allows this
      	to happen so we must handle the case gracefully. This also means
      	that we can classify some virtual function as mandatory (as is
      	the case for ::add, ::remove and ::foreach) and some other
      	optional.
      6d4667cb