> On March 11, 2013, 4:19 p.m., Dan Vrátil wrote: > > The patch looks fine in general. > > > > Could you however look whether following solution would work? I think that > > cleaner approach would be if the backend would emit changed() when a new > > interface is added or removed. This way, if signals are first deliver to > > Manager (which therefore passes "outdated" Device to user) would not be a > > problem. Later, when the signals are delivered to the DeviceBackend, it > > would emit changed() and UI would be updated with the new values. > > > > Alexander Mezin wrote: > It won't work. If signals are delivered to Manager first, then > deviceAdded will be emitted even before InterfaceAdded will be delivered to > Backend. And receivers of deviceAdded will read old property values before > Backend emits changed(). Or maybe I didn't understand you. > > Clean approach is reworking Manager/Backend in a way that only Manager or > only Backend receives signals from D-Bus and propagates them to other. I > consider this patch only as temporary workaround.
Ok, I hope this won't become a permanent temporary solution :-) I'll try to come with a proper fix next week. - Dan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/109418/#review28980 ----------------------------------------------------------- On March 11, 2013, 7:50 p.m., Alexander Mezin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/109418/ > ----------------------------------------------------------- > > (Updated March 11, 2013, 7:50 p.m.) > > > Review request for Solid and Lukáš Tinkl. > > > Description > ------- > > DeviceManager and DeviceBackends are subscribed to the same signals. > DeviceManager's slots can be executed earlier than DeviceBackend's, so when > deviceAdded signals are emitted by DeviceManager, DeviceBackend could contain > non-updated data. > Usually the problem appears with optical disks: device notifier shows > inserted disks as generic storage volumes or shows wrong label. > > Possible workaround is forcing refresh of DeviceBackend's property cache > before emitting deviceAdded signal. For optical disks drive's properties > should also be updated, because OpticalDisc reads drive's properties > > > This addresses bug 314778. > http://bugs.kde.org/show_bug.cgi?id=314778 > > > Diffs > ----- > > solid/solid/backends/udisks2/udisksdevicebackend.h 829fa41 > solid/solid/backends/udisks2/udisksdevicebackend.cpp 2a01b86 > solid/solid/backends/udisks2/udisksmanager.h fb929ce > solid/solid/backends/udisks2/udisksmanager.cpp 71b9e3e > > Diff: http://git.reviewboard.kde.org/r/109418/diff/ > > > Testing > ------- > > Tested on KDE 4.10.1 > > > Thanks, > > Alexander Mezin > >
_______________________________________________ Kde-hardware-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-hardware-devel
