So I think I've got things sorted out by (a) switching to call SetReportCrashes async to avoid blocking the UI, and (b) not calling SetReportCrashes if we're asked to set it to the current (cached) value of the property.
I've noticed that if whoopsie-preferences exits while the privacy panel is open, I get a bit of a bounce when toggling the switch next. This seems to be due to whoopsie-preferences sending out a stray change notification signal on start up:
So essentially whoopsie-preferences is sending out an unsolicited PropertiesChanged signal on startup with the initial values before processing the SetReportCrashes method call. Then gnome-control-center responds by trying to match the switch state leading to the bounce.
So I guess I'll have to dive into the whoopsie-preferences code to see if I can silence the stray signal.
So I think I've got things sorted out by (a) switching to call SetReportCrashes async to avoid blocking the UI, and (b) not calling SetReportCrashes if we're asked to set it to the current (cached) value of the property.
I've noticed that if whoopsie- preferences exits while the privacy panel is open, I get a bit of a bounce when toggling the switch next. This seems to be due to whoopsie- preferences sending out a stray change notification signal on start up:
method call time=1507538340 .672978 sender=:1.1499 -> destination= com.ubuntu. WhoopsiePrefere nces serial=30 path=/com/ ubuntu/ WhoopsiePrefere nces; interface= com.ubuntu. WhoopsiePrefere nces; member= SetReportCrashe s .756225 sender=:1.1507 -> destination=(null destination) serial=9 path=/com/ ubuntu/ WhoopsiePrefere nces; interface= org.freedesktop .DBus.Propertie s; member= PropertiesChang ed WhoopsiePrefere nces"
variant boolean true
variant boolean true .756590 sender=:1.1499 -> destination=:1.1507 serial=31 path=/com/ ubuntu/ WhoopsiePrefere nces; interface= org.freedesktop .DBus.Propertie s; member=GetAll WhoopsiePrefere nces" .757395 sender=:1.1499 -> destination= com.ubuntu. WhoopsiePrefere nces serial=32 path=/com/ ubuntu/ WhoopsiePrefere nces; interface= com.ubuntu. WhoopsiePrefere nces; member= SetReportCrashe s .034321 sender=:1.1507 -> destination=(null destination) serial=14 path=/com/ ubuntu/ WhoopsiePrefere nces; interface= org.freedesktop .DBus.Propertie s; member= PropertiesChang ed WhoopsiePrefere nces"
variant boolean false .035076 sender=:1.1499 -> destination=:1.1507 serial=33 path=/com/ ubuntu/ WhoopsiePrefere nces; interface= com.ubuntu. WhoopsiePrefere nces; member= SetReportCrashe s
boolean false
signal time=1507538340
string "com.ubuntu.
array [
dict entry(
string "ReportMetrics"
)
dict entry(
string "ReportCrashes"
)
]
array [
]
method call time=1507538340
string "com.ubuntu.
method call time=1507538340
boolean true
signal time=1507538341
string "com.ubuntu.
array [
dict entry(
string "ReportCrashes"
)
]
array [
]
method call time=1507538341
boolean false
So essentially whoopsie- preferences is sending out an unsolicited PropertiesChanged signal on startup with the initial values before processing the SetReportCrashes method call. Then gnome-control- center responds by trying to match the switch state leading to the bounce.
So I guess I'll have to dive into the whoopsie- preferences code to see if I can silence the stray signal.