1. 04 Nov, 2013 1 commit
  2. 28 Oct, 2013 5 commits
  3. 20 Oct, 2013 2 commits
  4. 19 Oct, 2013 1 commit
  5. 15 Oct, 2013 1 commit
    • Simon Feltman's avatar
      Add dir method to GObject props accessor · a2fa531b
      Simon Feltman authored
      Remove special case __members__ attribute from the props accessor
      objects getattr method. This has been deprecated since Python 2.3 and
      removed in Python 3. Replace this with a __dir__ method making use of the
      old members list building code. Additionally fix error where the
      GObjectClass was being unref'd too many times when using dir(Object.props),
      causing a GLib critical.
  6. 14 Oct, 2013 6 commits
  7. 11 Oct, 2013 1 commit
    • Simon Feltman's avatar
      Use qdata for wrapper retrieval in toggle reference notifications · 27e9f6ed
      Simon Feltman authored
      Replace usage of user data holding PyGObject wrappers in toggle ref
      notifications with GObject qdata retrieval. This fixes thread safety issues
      where a toggle notify may be called from another thread during the PyGObject
      wrappers dealloc. In this case the toggle notify is blocked because the GIL
      is held in dealloc, and when it continues, the user data would be holding an
      invalid PyGObject wrapper. Using qdata solves this by ensuring the wrapper
      retrieval is done within the safety of the GIL and may turn up as NULL.
  8. 10 Oct, 2013 1 commit
  9. 09 Oct, 2013 1 commit
  10. 08 Oct, 2013 3 commits
    • Simon Feltman's avatar
      Fix to Python marshaling leaks for arrays holding GVariants · 31263ac1
      Simon Feltman authored
      Add early check for array items holding pointers and simply assign the
      pointer to GIArgument.v_pointer prior giving it to the per-item marshaler.
      This simplifies marshaling and fixes leaks regarding arrays of GVariants by
      removing the unneeded g_variant_ref_sink (variants are always pointers).
      Conditionalize the use of g_variant_ref_sink based on transfer mode in the
      per-item marshaler. This fixes a reference leak where we are given ownership
      of the variant (transfer full) but added a new ref anyway.
    • Simon Feltman's avatar
      Cleanup per-item array marshaling code for flat arrays · c9580ce1
      Simon Feltman authored
      Add an early per-item check which tests if the item being marshaled is a
      pointer and simply copies the pointer into the array. This takes care of the
      GdkAtom and GVariant special cases because these items are always reported
      as pointers.
      Fix error condition cleanup code when an item fails marshaling in the middle
      of an array.
    • Simon Feltman's avatar
      Fix GValue array marshaling leaks and crash fallout · 4623caa7
      Simon Feltman authored
      * Decrement references for results of PySequence_GetItem. There were a few
      places we were not decrementing the Python reference, leaking the value.
      * Add tracking of Python arguments with recursive marshaling cleanup. This
      allows arrays of GValues which have been coerced from Python types to be
      properly free'd (also fixes bug 703662).
      * Use g_variant_ref for variant arguments marked as transfer everything.
      This fixes double free's caused by the decrementing of PySequence_GetItem
  11. 07 Oct, 2013 11 commits
  12. 05 Oct, 2013 2 commits
  13. 04 Oct, 2013 3 commits
  14. 26 Sep, 2013 2 commits