1. 22 Apr, 2018 1 commit
  2. 21 Apr, 2018 1 commit
    • Andy Holmes's avatar
      overrides: support Gtk template callbacks · bcfa6ce7
      Andy Holmes authored
      * 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
      bcfa6ce7
  3. 20 Apr, 2018 2 commits
    • Philip Chimento's avatar
      Merge branch 'gbsneto/weak-ref-warning' into 'master' · 1cdb06c7
      Philip Chimento authored
      object: Only weak unref if GObject is still alive
      
      See merge request !127
      1cdb06c7
    • Georges Basile Stavracas Neto's avatar
      object: Only weak unref if GObject is still alive · 8d50e2b4
      Georges Basile Stavracas Neto authored
      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.
      8d50e2b4
  4. 19 Apr, 2018 1 commit
  5. 18 Apr, 2018 3 commits
    • Georges Basile Stavracas Neto's avatar
      object: Queue a forced GC when toggling down · e9e96955
      Georges Basile Stavracas Neto authored
      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
      e9e96955
    • Georges Basile Stavracas Neto's avatar
      context: Add API to force GC schedule · 09029851
      Georges Basile Stavracas Neto authored
      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.
      09029851
    • Philip Chimento's avatar
      Merge branch 'wip/gcampax/679688-make-gc-much-more-aggressive' into 'master' · a6b6fc13
      Philip Chimento authored
      object: don't use toggle references unless necessary
      
      Closes #62
      
      See merge request !50
      a6b6fc13
  6. 17 Apr, 2018 5 commits
  7. 16 Apr, 2018 3 commits
  8. 15 Apr, 2018 3 commits
  9. 14 Apr, 2018 1 commit
  10. 12 Apr, 2018 1 commit
  11. 10 Apr, 2018 9 commits
  12. 09 Apr, 2018 2 commits
  13. 08 Apr, 2018 5 commits
  14. 07 Apr, 2018 2 commits
  15. 04 Apr, 2018 1 commit