Use qdata for wrapper retrieval in toggle reference notifications
Use qdata for wrapper retrieval in toggle reference notifications

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.

https://bugzilla.gnome.org/show_bug.cgi?id=709223

sfeltman/pygobject,pexip/pygobject,GNOME/pygobject,GNOME/pygobject,sfeltman/pygobject,sfeltman/pygobject,davibe/pygobject,pexip/pygobject,davibe/pygobject,davibe/pygobject,davibe/pygobject,GNOME/pygobject,pexip/pygobject