Index: trunk/ChameleonPrefPane/Sources/process.cpp =================================================================== --- trunk/ChameleonPrefPane/Sources/process.cpp (revision 26) +++ trunk/ChameleonPrefPane/Sources/process.cpp (revision 27) @@ -138,8 +138,10 @@ partInfo.disk(disk); partInfo.partition(part); partInfo.label(checkForRename(label, partInfo.toHdStr().c_str())); + size_t len = partInfo.label().length(); // filter useless partitions: - if (partInfo.label()!="*" && + if ( len > 0 && + partInfo.clabel()[len-1] !='*' && partInfo.fsType()!="EFI" && partInfo.fsType()!="Apple_partition_scheme" && partInfo.fsType()!="Apple_partition_map" && Index: trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 26) +++ trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 27) @@ -429,8 +429,8 @@ snprintf(partDesc, sizeof(partDesc)-1, "%d%c%d%c%s%c%s", p.disk(), cPartDescSep, p.partition(), cPartDescSep, - p.label().c_str(), cPartDescSep, - p.fsType().c_str()); + p.clabel(), cPartDescSep, + p.cfsType()); // write it to the dictionary NSString * key = [[NSString alloc] initWithUTF8String: keyPartN]; @@ -529,13 +529,11 @@ } else if (tableColumn == mFileSystemColumn) { - ret = [NSString stringWithFormat: @"%s", partInfo[row].fsType().c_str() ]; + ret = [NSString stringWithFormat: @"%s", partInfo[row].cfsType() ]; } else if (tableColumn == mPartitionNameColumn) { - ret = [NSString stringWithFormat: @"%s", - partInfo[row].label().c_str() - ]; + ret = [NSString stringWithFormat: @"%s", partInfo[row].clabel() ]; } else if (tableColumn == mPartitionIDColumn) { Index: trunk/ChameleonPrefPane/Sources/process.h =================================================================== --- trunk/ChameleonPrefPane/Sources/process.h (revision 26) +++ trunk/ChameleonPrefPane/Sources/process.h (revision 27) @@ -45,12 +45,14 @@ void partition(int part) { _part=part;} int partition () const { return _part;} + const char * clabel() const { return _label.c_str();} const std::string& label() const { return _label; } void label(const char * l) { if (l) _label = l; removeSpaces(_label); } + const char * cfsType() const { return _fsType.c_str();} const std::string& fsType() const { return _fsType;} void fsType(const char * fs) { if (fs) _fsType = fs; Index: trunk/ChameleonPrefPane/CHANGES =================================================================== --- trunk/ChameleonPrefPane/CHANGES (revision 26) +++ trunk/ChameleonPrefPane/CHANGES (revision 27) @@ -1,3 +1,4 @@ +- Fixed dmg archives would appear in dynamic partition listing - Added FREEZE (lock) features, see README. - Refined cosmetics for the GUI - Added images icon on the first column of each partition entries Index: trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj =================================================================== --- trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj (revision 26) +++ trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj (revision 27) @@ -122,10 +122,10 @@ children = ( 01B0E80E1108B85A00ACF21B /* ChameleonPrefPane.h */, 01B0E80F1108B85A00ACF21B /* ChameleonPrefPane.mm */, + 01B0E8111108B85A00ACF21B /* process.h */, 01B0E8101108B85A00ACF21B /* process.cpp */, - 01B0E8111108B85A00ACF21B /* process.h */, + 01B0E8131108B85A00ACF21B /* property_list.h */, 01B0E8121108B85A00ACF21B /* property_list.cpp */, - 01B0E8131108B85A00ACF21B /* property_list.h */, ); name = Classes; sourceTree = "";