Fix restore of subpartitions

Change-Id: If76cd08cdac7e2af4e0f5f00d420eed1f30897d3
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index 1c7a970..20c2aee 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -898,6 +898,7 @@
 		for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
 			part_settings->Part = *subpart;
 			if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == parentPart->Mount_Point) {
+				part_settings->Backup_FileName = (*subpart)->Backup_Name + "." +  (*subpart)->Current_File_System + ".win";
 				part_settings->Part = (*subpart);
 				if (!(*subpart)->Restore(part_settings)) {
 					TWFunc::SetPerformanceMode(false);
@@ -968,7 +969,7 @@
 					std::vector<TWPartition*>::iterator subpart;
 
 					for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
-						part_settings.Backup_FileName = parentPart->Backup_Name + "." +  parentPart->Current_File_System + ".win";
+						part_settings.Backup_FileName = (*subpart)->Backup_Name + "." +  (*subpart)->Current_File_System + ".win";
 						part_settings.Part = *subpart;
 						if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == parentPart->Mount_Point) {
 							if (check_md5 > 0 && !(*subpart)->Check_MD5(&part_settings))