diff --git a/src/kits/storage/disk_device/Partition.cpp b/src/kits/storage/disk_device/Partition.cpp index 06db7ae3b7..e97e77148c 100644 --- a/src/kits/storage/disk_device/Partition.cpp +++ b/src/kits/storage/disk_device/Partition.cpp @@ -1598,6 +1598,5 @@ BPartition::_IsModified() const if (!fDelegate) return false; - // TODO: Implement! - return false; + return fDelegate->IsModified(); } diff --git a/src/kits/storage/disk_device/PartitionDelegate.cpp b/src/kits/storage/disk_device/PartitionDelegate.cpp index 111f67cc21..32ebf68b7c 100644 --- a/src/kits/storage/disk_device/PartitionDelegate.cpp +++ b/src/kits/storage/disk_device/PartitionDelegate.cpp @@ -118,6 +118,14 @@ BPartition::Delegate::CountChildren() const } +// IsModified +bool +BPartition::Delegate::IsModified() const +{ + return fMutablePartition.ChangeFlags() != 0; +} + + // SupportedOperations uint32 BPartition::Delegate::SupportedOperations(uint32 mask) diff --git a/src/kits/storage/disk_device/PartitionDelegate.h b/src/kits/storage/disk_device/PartitionDelegate.h index 62123d54d2..a5b5ed2414 100644 --- a/src/kits/storage/disk_device/PartitionDelegate.h +++ b/src/kits/storage/disk_device/PartitionDelegate.h @@ -33,6 +33,8 @@ public: Delegate* ChildAt(int32 index) const; int32 CountChildren() const; + bool IsModified() const; + uint32 SupportedOperations(uint32 mask); uint32 SupportedChildOperations(Delegate* child, uint32 mask);