action: Only unmount /vendor if it actually exists

* Since commit 168bc4caaedfdf655a71ba24a1c5a7f2b905a122 the vendor partition gets unmounted prior to switching the slots. However, devices without a vendor partition (e.g. tissot's stock partition table) will have errors since the partition doesn't actually exist
* Therefore, it should be only mounted if that partition exists in the partition table

Change-Id: Id16ab55e25d05964ca0de1bf218914d66c2b0205
diff --git a/gui/action.cpp b/gui/action.cpp
index 9672751..819e4ad 100755
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1942,15 +1942,15 @@
 {
 	operation_start("Set Boot Slot");
 	if (!simulate) {
-		if (!PartitionManager.UnMount_By_Path("/vendor", false)) {
-			// PartitionManager failed to unmount /vendor, this should not happen,
-			// but in case it does, do a lazy unmount
-			LOGINFO("WARNING: vendor partition could not be unmounted normally!\n");
-			umount2("/vendor", MNT_DETACH);
-			PartitionManager.Set_Active_Slot(arg);
-		} else {
-			PartitionManager.Set_Active_Slot(arg);
+		if (PartitionManager.Find_Partition_By_Path("/vendor")) {
+			if (!PartitionManager.UnMount_By_Path("/vendor", false)) {
+				// PartitionManager failed to unmount /vendor, this should not happen,
+				// but in case it does, do a lazy unmount
+				LOGINFO("WARNING: vendor partition could not be unmounted normally!\n");
+				umount2("/vendor", MNT_DETACH);
+			}
 		}
+		PartitionManager.Set_Active_Slot(arg);
 	} else {
 		simulate_progress_bar();
 	}