Diffusion Solid 4aa39aed1bd6

[udisks2] fix media change detection for external optical drives

Authored by rokmandeljc on Nov 12 2019, 5:20 PM.


[udisks2] fix media change detection for external optical drives

If an external optical drive is connected after Solid does its initial introspection, the resulting UDI does not get a mediaChanged signal/slot connection, and thus fails to react to the media change. Consequently, disc content is not properly updated after the medium is ejected, causing bug #394348.

This patch assumes that an addition of "org.freedesktop.UDisks2.Block" interface means that a new device has been added; in this case, it performs Device::mightBeOpticalDisc() check to add the slotMediaChanged() connection.

BUG: 394348
FIXED-IN: 5.65

Test Plan:
Test steps:

  1. Start KDE Plasma session. Make sure K3b is installed.
  2. Connect an external USB optical drive.
  3. Insert the disc
  4. Observe Device action notifications for the inserted disc.
  5. Eject the disc.
  6. Observe Device action notifications.

Behavior before patch: after disc is ejected, a "Copy with K3b" action remains available for the drive
See: https://bugs.kde.org/show_bug.cgi?id=394348

Behavior after patch: after disc is ejected, no actions remain available for the drive

Reviewers: bruns, broulik, dfaure, Frameworks, ngraham

Reviewed By: ngraham

Subscribers: ngraham, bugseforuns, kde-frameworks-devel

Tags: Frameworks

Differential Revision: https://phabricator.kde.org/D20508


ngrahamNov 12 2019, 5:38 PM
Differential Revision
D20508: [udisks2] fix media change detection for external optical drives
R245:e9852ad05ea4: GIT_SILENT Upgrade KF5 version to 5.65.0.