Commit 65614047 authored by Committed by Ross BurtonBrowse files
gupnp-service: don't hold a reference on ourselves
GUPnPService used to hold a reference on itself for the run-time of the initial asynchronous introspection. Due to this reference the object can't be disposed until this call has finished. Now if you create a device with services and immidiately destroy it, the service will still be alive holding a pointer to the XML device description that is not any longer valid. This leads to a crash when the asynchronous introspection finishes. Fix this crash by not keeping a reference on ourselves. The pending introspection is then cancelled from the dispose handler.