1. 30 Nov, 2012 4 commits
  2. 29 Nov, 2012 1 commit
    • Fix array arguments on 32 bit · 82f4d157
      In _pygi_argument_from_object() we never put the actual element GType into the
      constructed array. The array contains GIArguments, or bytes in the case of
      passing a string as an array.
      
      This happened to work on 64 bit machines where GIArgument and char* have the
      same size, but not on 32 bit machines (test_gi.TestPropertiesObject.test_strv
      fails there).
      Martin Pitt committed
  3. 27 Nov, 2012 1 commit
    • Fix property lookup in class hierarchy · 776088b4
      Commit 4bfe7972 introduced a bug where
      a Python subclass of a gi-provided base class overrides a property from the
      base class.
      
      The new behaviour in the above commit causes pygobject to seek the property
      in the base class and try to read it from there (resulting in confusion)
      rather than noticing that the property is overridden and present in the
      Python object instance.
      
      To provide a nicer solution here, we can exploit the fact that
      g_object_class_find_property() will traverse the hierarchy in order to
      find the right GParamSpec, and the returned GParamSpec can tell us exactly
      which GType introduces the property. The strategy is:
      
       1. Find pspec with g_object_class_find_property()
       2. Find the class that owns that property (pspec->owner_type)
       3. See if girepository owns that class.
       3a. If yes, get property from there.
       3b. If not, get property "directly"
      
      And the same for property setting.
      
      Now that _pygi_lookup_property_from_g_type is always passed the type that
      implements the property, it no longer has to go recursing through parent
      classes, which was the original cause of confusion.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=686942
      Daniel Drake committed
  4. 26 Nov, 2012 4 commits
  5. 20 Nov, 2012 1 commit
  6. 12 Nov, 2012 6 commits
  7. 24 Oct, 2012 3 commits
    • Fix various bugs in GLib.IOChannel · 702fe63f
      - Fix segfault when using an IOChannel as an iterator: PyIter_Next() returns
        NULL on the last element, instead of raising a StopIteration.
      
      - The default encoding of a stream is 'UTF-8', not NULL. NULL means that the
        stream is being used in binary mode; in that case, we should not attempt to
        do any automagic conversion to an Unicode object. As this special case is
        inconsistent and has never worked anyway, and the current buggy
        implementation breaks binary streams, just drop it without replacement.
        (Introduced in commit de9eae4d)
      
      These bugs were uncovered by the previously committed tests.
      Martin Pitt committed
    • Add tests for GLib.IOChannel · 35ff2a6f
      This did not have any code coverage at all. The tests uncover a range of bugs,
      which will be fixed in the next commit.
      
      This drops the verification of the set priority in
      test_add_watch_data_priority(), as find_source_by_id() is not yet available in
      this pygobject version.
      Martin Pitt committed
    • Work around wrong 64 bit constants in GLib Gir · 4922b050
      GLib's gir currently has wrong constants for MININT64 and MAXUINT64; explicitly
      set them in an override, until this gets fixed properly.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=685022
      Martin Pitt committed
  8. 23 Oct, 2012 1 commit
  9. 20 Oct, 2012 1 commit
  10. 17 Oct, 2012 3 commits
  11. 15 Oct, 2012 4 commits
  12. 12 Oct, 2012 2 commits
  13. 11 Oct, 2012 3 commits
  14. 05 Oct, 2012 1 commit
  15. 04 Oct, 2012 5 commits