1. 24 Apr, 2018 2 commits
  2. 23 Apr, 2018 2 commits
  3. 22 Apr, 2018 1 commit
  4. 21 Apr, 2018 1 commit
    • overrides: support Gtk template callbacks · bcfa6ce7
      * Throw an error if template signal uses the 'object' attribute since we don't support GObject.signal_connect_object()
      * Throw an error if template signal sets the 'swapped' attribute to 'true' since we don't support GObject.signal_connect_swapped() or @user_data
      * Respect the flag for GObject.signal_connect_after()
      
      * Throw an error if template signal uses the 'object' attribute
      * Amend error messages to make it clearer they are template errors
      * call set_connect_func() on the constructor object
      Andy Holmes authored
  5. 20 Apr, 2018 2 commits
    • Merge branch 'gbsneto/weak-ref-warning' into 'master' · 1cdb06c7
      object: Only weak unref if GObject is still alive
      
      See merge request !127
      Philip Chimento authored
    • object: Only weak unref if GObject is still alive · 8d50e2b4
      The function disassociate_js_gobject() is currently unconditionally
      removing the weak reference of the wrapped GObject. This is because
      we were previously assuming that there was always a toggle ref, and
      so we would never reach this code path after the wrapped GObject was
      destroyed.
      
      Turns out, with commit 0cc23474 it is now a regular case to call
      this function after the GObject is finalized. When that happens, it
      will reach wrapped_gobj_dispose_notify() and the wrapped GObject will
      be marked as finalized. disassociate_js_gobject(), however, will try
      to weak unref it, without checking if the GObject was finalized already.
      
      This commit fix that by simply checking if the wrapped GObject was
      finalized before trying to weak unref it.
      Georges Basile Stavracas Neto authored
  6. 19 Apr, 2018 1 commit
  7. 18 Apr, 2018 3 commits
    • object: Queue a forced GC when toggling down · e9e96955
      During a GC, the collector asks each object which other
      objects that it wants to hold on to so if there's an entire
      section of the heap graph that's not connected to anything
      else, and not reachable from the root set, then it can be
      trashed all at once.
      
      GObjects, however, don't work like that, there's only a
      reference count but no notion of who owns the reference so,
      a JS object that's proxying a GObject is unconditionally held
      alive as long as the GObject has >1 references.
      
      Since we cannot know how many more wrapped GObjects are going
      be marked for garbage collection after the owner is destroyed,
      always queue a garbage collection when a toggle reference goes
      down.
      
      Issue: #140
      Georges Basile Stavracas Neto authored
    • context: Add API to force GC schedule · 09029851
      There are situations where we cannot run the
      GC right away, but we also cannot ignore the
      need of running it.
      
      For those cases, add a new private function
      that forces GC to happen on idle.
      Georges Basile Stavracas Neto authored
    • Merge branch 'wip/gcampax/679688-make-gc-much-more-aggressive' into 'master' · a6b6fc13
      object: don't use toggle references unless necessary
      
      Closes #62
      
      See merge request !50
      Philip Chimento authored
  8. 17 Apr, 2018 5 commits
  9. 16 Apr, 2018 3 commits
  10. 15 Apr, 2018 3 commits
  11. 14 Apr, 2018 1 commit
  12. 12 Apr, 2018 1 commit
  13. 10 Apr, 2018 9 commits
  14. 09 Apr, 2018 2 commits
  15. 08 Apr, 2018 4 commits