[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdelibs/KDE/4.8] solid/solid/backends/udisks: Ensure slotChanged is called in all instances
From: Jacopo De Simoi <wilderkde () gmail ! com>
Date: 2012-08-19 16:17:48
Message-ID: 20120819161748.20ACAA622F () git ! kde ! org
[Download RAW message or body]
Git commit f817675abe83982b99634a0be663800fd65d18ee by Jacopo De Simoi.
Committed on 19/08/2012 at 17:17.
Pushed by jacopods into branch 'KDE/4.8'.
Ensure slotChanged is called in all instances
Move slotChanged call to the broadcastDone slot
so that it is called in all instances of the device; in fact broadcastDone
is called by dbus. This makes sure that the device state is correctly updated
when modified by some out-of-process routine, e.g. when mounted via
kde-runtime/soliduiserver actions.
This *should* fix bug 268020, please check
CCBUG: 268020
M +4 -8 solid/solid/backends/udisks/udisksstorageaccess.cpp
http://commits.kde.org/kdelibs/f817675abe83982b99634a0be663800fd65d18ee
diff --git a/solid/solid/backends/udisks/udisksstorageaccess.cpp \
b/solid/solid/backends/udisks/udisksstorageaccess.cpp index 71a4d43..3773927 100644
--- a/solid/solid/backends/udisks/udisksstorageaccess.cpp
+++ b/solid/solid/backends/udisks/udisksstorageaccess.cpp
@@ -153,8 +153,6 @@ void UDisksStorageAccess::slotDBusReply( const QDBusMessage & \
reply ) {
m_setupInProgress = false;
m_device->broadcastActionDone("setup");
-
- slotChanged();
}
}
else if (m_teardownInProgress)
@@ -169,9 +167,6 @@ void UDisksStorageAccess::slotDBusReply( const QDBusMessage & \
reply ) }
else
{
- m_teardownInProgress = false;
- m_device->broadcastActionDone("teardown");
-
if (m_device->prop("DriveIsMediaEjectable").toBool() &&
m_device->prop("DeviceIsMediaAvailable").toBool() &&
!m_device->prop("DeviceIsOpticalDisc").toBool()) // optical \
drives have their Eject method @@ -206,7 +201,8 @@ void \
UDisksStorageAccess::slotDBusReply( const QDBusMessage & reply ) c.call(msg, \
QDBus::NoBlock); }
- slotChanged();
+ m_teardownInProgress = false;
+ m_device->broadcastActionDone("teardown");
}
}
}
@@ -219,14 +215,12 @@ void UDisksStorageAccess::slotDBusError( const QDBusError & \
error )
m_device->broadcastActionDone("setup", \
m_device->errorToSolidError(error.name()),
m_device->errorToString(error.name()) + ": " \
+error.message());
- slotChanged();
}
else if (m_teardownInProgress)
{
m_teardownInProgress = false;
m_device->broadcastActionDone("teardown", \
m_device->errorToSolidError(error.name()),
m_device->errorToString(error.name()) + ": " + \
error.message());
- slotChanged();
}
}
@@ -240,6 +234,7 @@ void UDisksStorageAccess::slotSetupDone(int error, const QString \
&errorString) {
m_setupInProgress = false;
emit setupDone(static_cast<Solid::ErrorType>(error), errorString, \
m_device->udi()); + slotChanged();
}
void UDisksStorageAccess::slotTeardownRequested()
@@ -252,6 +247,7 @@ void UDisksStorageAccess::slotTeardownDone(int error, const \
QString &errorString {
m_teardownInProgress = false;
emit teardownDone(static_cast<Solid::ErrorType>(error), errorString, \
m_device->udi()); + slotChanged();
}
bool UDisksStorageAccess::mount()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic