From 74fb2e94d5ff09d4b5871ca33160862f72a641b6 Mon Sep 17 00:00:00 2001 From: Dees_Troy Date: Mon, 15 Apr 2013 14:35:47 +0000 Subject: Fix some issues with wipe partition list Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7 --- partitionmanager.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'partitionmanager.cpp') diff --git a/partitionmanager.cpp b/partitionmanager.cpp index a78705ba3..d7f1600ef 100644 --- a/partitionmanager.cpp +++ b/partitionmanager.cpp @@ -1191,6 +1191,9 @@ int TWPartitionManager::Wipe_Media_From_Data(void) { return -1; if (dat->Has_Data_Media) { dat->Recreate_Media_Folder(); + // Unmount and remount - slightly hackish way to ensure that the "/sdcard" folder is still mounted properly after wiping + dat->UnMount(false); + dat->Mount(false); } return true; } else { @@ -1417,6 +1420,7 @@ int TWPartitionManager::Decrypt_Device(string Password) { dat->Is_Decrypted = true; dat->Decrypted_Block_Device = crypto_blkdev; dat->Setup_File_System(false); + dat->Current_File_System = dat->Fstab_File_System; // Needed if we're ignoring blkid because encrypted devices start out as emmc gui_print("Data successfully decrypted, new block device: '%s'\n", crypto_blkdev); #ifdef CRYPTO_SD_FS_TYPE @@ -1848,6 +1852,13 @@ void TWPartitionManager::Get_Partition_List(string ListType, std::vectorpush_back(part); } + if ((*iter)->Has_Data_Media) { + struct PartitionList datamedia; + datamedia.Display_Name = (*iter)->Storage_Name; + datamedia.Mount_Point = "INTERNAL"; + datamedia.selected = 0; + Partition_List->push_back(datamedia); + } } } else { LOGERR("Unknown list type '%s' requested for TWPartitionManager::Get_Partition_List\n", ListType.c_str()); -- cgit v1.2.3