1. 03 Feb, 2014 5 commits
  2. 14 Oct, 2013 1 commit
    • Simon Feltman's avatar
      Add cleanup_data argument used for Python to C marshaler cleanup · 7407367f
      Simon Feltman authored
      Add a new output argument to all from_py marshalers which is used for
      keeping track of marshaling data that later needs cleanup. Previously most
      marshalers would rely on the GIArgument->v_pointer as the means for data
      cleanup. However, this pointer would get clobbered in the case of
      bi-directional arguments (inout) and the memory lost.
      Use the new cleanup_data for storing temporarily wrapped C arrays so we
      don't need to re-calculate the length argument during cleanup.
      
      Additionally delay the from_py marshaling cleanup function until after
      _invoke_marshal_out_args is called. This gives inout arguments which don't
      modify the pointer sufficient time to exist until they marshaled back to
      Python (gi_marshalling_tests_gvalue_inout).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=693402
      7407367f
  3. 26 Sep, 2013 1 commit
  4. 27 Jul, 2013 2 commits
  5. 26 Jul, 2013 4 commits
  6. 25 Jul, 2013 1 commit
  7. 05 Apr, 2013 1 commit
  8. 16 Feb, 2013 3 commits
  9. 08 Feb, 2013 1 commit
    • Simon Feltman's avatar
      Fix reference leaks with transient floating objects · 5efe2e5c
      Simon Feltman authored
      Unify and refactor caller and callee GObject argument marshalers.
      Combine code from the large switch statement used to marshal
      arguments to and from vfuncs/closures with the marshalers used
      for direct calls to gi functions. This fixes a reference leak
      when marshalling GObjects to Python with transfer=full due to
      the diverging code paths.
      Replace ability in gobject_new_full to optionally sink objects
      with ability to optionaly "steal" objects. This fits the premise
      that binding layers should always sink objects initially. The
      steal argument is then used for marshalling arguments which are
      transfer=full.
      Add hacks and comments to work around GTK+ bugs 693393 and 693400.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=687522
      5efe2e5c
  10. 20 Aug, 2012 1 commit
  11. 12 Sep, 2011 1 commit
    • John (J5) Palmieri's avatar
      refactor in/out marshalling to be to_py/from_py · a4e4318b
      John (J5) Palmieri authored
      * in/out make sense from a C perspective but when you get to the
         python layers it makes more sense to label them as to_py and
         from_py to denote which way we are marshalling
       * this helps clear up the difference between callbacks which
         call into python and invoked functions which call into C
       * in the callback case we marshal in values to Python objects
         and out values to C types but in the invoke case we do the
         reverse.  Dealing with to_py/from_py makes the code much more
         resuable and consistant
      
      https://bugzilla.gnome.org/show_bug.cgi?id=658362
      a4e4318b