solid: unmount the optical drive before ejecting it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-09-07 20:43:21 +03:00
parent 4d6cc60bc6
commit b77a8b70fd

View file

@ -20,6 +20,8 @@
#include "udevopticaldrive.h"
#include <QDBusInterface>
#include <QDBusReply>
#include <QDebug>
#include <cdio/mmc.h>
@ -61,6 +63,10 @@ OpticalDrive::~OpticalDrive()
bool OpticalDrive::eject()
{
// cdio fails to unmount unless current user is root
QDBusInterface soliduiserver("org.kde.kded", "/modules/soliduiserver", "org.kde.SolidUiServer");
soliduiserver.call("unmountUdi", m_device->udi());
emit ejectRequested(m_device->udi());
const QByteArray devicename(m_device->deviceProperty("DEVNAME").toLocal8Bit());