1. 06 Nov, 2012 2 commits
    • Simon Feltman's avatar
      Remove DynamicGLibModule and DynamicGObjectModule · 2cbb54e7
      Simon Feltman authored
      Move final bits of _glib static binding imports directly into
      the GLib override. Change _glib/option use the .so directly
      rather than the staged variables in _glib/__init__.py.
      Remove DynamicGLibModule and DynamicGObjectModule and update
    • Daniel Drake's avatar
      Fix property lookup in class hierarchy · 901c1b6e
      Daniel Drake authored
      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.
  2. 05 Nov, 2012 10 commits
  3. 03 Nov, 2012 8 commits
  4. 31 Oct, 2012 2 commits
  5. 29 Oct, 2012 2 commits
  6. 28 Oct, 2012 6 commits
  7. 27 Oct, 2012 1 commit
  8. 26 Oct, 2012 3 commits
  9. 25 Oct, 2012 4 commits
  10. 24 Oct, 2012 2 commits