From aa9cc401d65383184bc0e38ff3cc82690a5846e1 Mon Sep 17 00:00:00 2001 From: Dees_Troy Date: Sat, 13 Oct 2012 12:14:05 -0400 Subject: Fix problem with sizes of images after reset default --- partitionmanager.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/partitionmanager.cpp b/partitionmanager.cpp index 2e90ecc49..fdc3fba44 100644 --- a/partitionmanager.cpp +++ b/partitionmanager.cpp @@ -1457,6 +1457,43 @@ void TWPartitionManager::Update_System_Details(void) { DataManager::SetValue(TW_BACKUP_SP2_SIZE, backup_display_size); } #endif +#ifdef SP3_NAME + if ((*iter)->Backup_Name == EXPAND(SP3_NAME)) { + int backup_display_size = (int)((*iter)->Backup_Size / 1048576LLU); + DataManager::SetValue(TW_BACKUP_SP3_SIZE, backup_display_size); + } +#endif + } else { + // Handle unmountable partitions in case we reset defaults + if ((*iter)->Mount_Point == "/boot") { + int backup_display_size = (int)((*iter)->Backup_Size / 1048576LLU); + DataManager::SetValue(TW_BACKUP_BOOT_SIZE, backup_display_size); + if ((*iter)->Backup_Size == 0) { + DataManager::SetValue(TW_HAS_BOOT_PARTITION, 0); + DataManager::SetValue(TW_BACKUP_BOOT_VAR, 0); + } else + DataManager::SetValue(TW_HAS_BOOT_PARTITION, 1); + } else if ((*iter)->Mount_Point == "/recovery") { + int backup_display_size = (int)((*iter)->Backup_Size / 1048576LLU); + DataManager::SetValue(TW_BACKUP_RECOVERY_SIZE, backup_display_size); + if ((*iter)->Backup_Size == 0) { + DataManager::SetValue(TW_HAS_RECOVERY_PARTITION, 0); + DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 0); + } else + DataManager::SetValue(TW_HAS_RECOVERY_PARTITION, 1); + } +#ifdef SP1_NAME + if ((*iter)->Backup_Name == EXPAND(SP1_NAME)) { + int backup_display_size = (int)((*iter)->Backup_Size / 1048576LLU); + DataManager::SetValue(TW_BACKUP_SP1_SIZE, backup_display_size); + } +#endif +#ifdef SP2_NAME + if ((*iter)->Backup_Name == EXPAND(SP2_NAME)) { + int backup_display_size = (int)((*iter)->Backup_Size / 1048576LLU); + DataManager::SetValue(TW_BACKUP_SP2_SIZE, backup_display_size); + } +#endif #ifdef SP3_NAME if ((*iter)->Backup_Name == EXPAND(SP3_NAME)) { int backup_display_size = (int)((*iter)->Backup_Size / 1048576LLU); -- cgit v1.2.3