diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 57cf9f5bb..d5daeafaf 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -496,6 +496,7 @@ PartitionCoreModule::setBootLoaderInstallPath( const QString& path ) void PartitionCoreModule::revert() { + QMutexLocker locker( &m_revertMutex ); qDeleteAll( m_deviceInfos ); m_deviceInfos.clear(); init(); @@ -504,6 +505,16 @@ PartitionCoreModule::revert() } +void +PartitionCoreModule::revertAllDevices() +{ + foreach ( DeviceInfo* devInfo, m_deviceInfos ) + { + revertDevice( devInfo->device.data() ); + } +} + + void PartitionCoreModule::revertDevice( Device* dev ) { diff --git a/src/modules/partition/core/PartitionCoreModule.h b/src/modules/partition/core/PartitionCoreModule.h index c18d472e7..a6a049581 100644 --- a/src/modules/partition/core/PartitionCoreModule.h +++ b/src/modules/partition/core/PartitionCoreModule.h @@ -98,6 +98,7 @@ public: QList< Partition* > efiSystemPartitions() const; void revert(); + void revertAllDevices(); void revertDevice( Device* dev ); void asyncRevertDevice( Device* dev, std::function< void() > callback );