I just added tasks for the packages mentioned in comment #65.

Some things learned today:

 - the sub-component of QNetwork that's most likely the cause is called
Bearer Management.  One of it's classes, QNetworkSession includes a
plugin for NetworkManager which creates listeners for new AccessPoint
DBus objects.

 - msyncd ( part of buteo-syncfw ) includes it's own internal
NetworkManager class ( dated from 2010 ) which in turn uses
QNetworkSession.

 - unity8 appears to use QNetworkAccessManager, which uses
QNetworkSession.

 - sync-monitor uses QNetworkConfigurationManager, which is also part of
Bearer Management, and most likely causes a QNetworkSession to be
instantiated.

- maliit-framework is the only puzzle, as it doesn't seem to have any
network code.  It does use QGuiApplication however, which might in turn
hook into the network code.

 - the bulk of the code involved on the Qt side can be found in the
qtbase-opensource-base source package.

 - I'm no expert in QtDBus, but from what I can tell, to listen to a
DBus signal ( which causes a match rule to be created ), you need to
call connect on an instance of a DBusConnection, similar to what you'd
do with a native Qt signal and slot.  Conversely, to remove a signal
watch, you need to call the disconnect() function.

 - The connect to for a new new AccessPoint object can be found in
src/plugins/bearer/networkmanager/networkmanagerservice.cpp in the
funcion
QNetworkManagerInterfaceAccessPoint::QNetworkManagerInterfaceAccessPoint().

 - I don't see any corresponding cleanup code when an access point is
removed ( ie. there's no disconnect() call made to the bus )

That's all I have for now...

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1480877

Title:
  Access points' "PropertiesChanged" dbus signals freeze UI on mobile
  devices

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1480877/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to