diff --git a/src/libcalamares/partition/PartitionQuery.cpp b/src/libcalamares/partition/PartitionQuery.cpp index beba6b9bc..4c9c1549d 100644 --- a/src/libcalamares/partition/PartitionQuery.cpp +++ b/src/libcalamares/partition/PartitionQuery.cpp @@ -27,14 +27,14 @@ using ::Device; using ::Partition; bool -isPartitionFreeSpace( Partition* partition ) +isPartitionFreeSpace( const Partition* partition ) { return partition->roles().has( PartitionRole::Unallocated ); } bool -isPartitionNew( Partition* partition ) +isPartitionNew( const Partition* partition ) { #if defined( WITH_KPMCORE4API ) constexpr auto NewState = Partition::State::New; @@ -67,11 +67,15 @@ findPartitionByPath( const QList< Device* >& devices, const QString& path ) } for ( auto device : devices ) + { for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + { if ( ( *it )->partitionPath() == path.simplified() ) { return *it; } + } + } return nullptr; } @@ -81,11 +85,15 @@ findPartitions( const QList< Device* >& devices, std::function< bool( Partition* { QList< Partition* > results; for ( auto device : devices ) + { for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + { if ( criterionFunction( *it ) ) { results.append( *it ); } + } + } return results; } diff --git a/src/libcalamares/partition/PartitionQuery.h b/src/libcalamares/partition/PartitionQuery.h index 817966d35..9ef5f41f6 100644 --- a/src/libcalamares/partition/PartitionQuery.h +++ b/src/libcalamares/partition/PartitionQuery.h @@ -34,14 +34,14 @@ using ::Device; using ::Partition; /** @brief Is this a free-space area? */ -bool isPartitionFreeSpace( Partition* ); +bool isPartitionFreeSpace( const Partition* ); /** @brief Is this partition newly-to-be-created? * * Returns true if the partition is planned to be created by the installer as * opposed to already existing on the disk. */ -bool isPartitionNew( Partition* ); +bool isPartitionNew( const Partition* ); /** * Iterates on all devices and return the first partition which is (already)