summaryrefslogtreecommitdiffstats
path: root/src/launcher/version.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/launcher/version.rs')
-rw-r--r--src/launcher/version.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/launcher/version.rs b/src/launcher/version.rs
index f857b93..328f0a9 100644
--- a/src/launcher/version.rs
+++ b/src/launcher/version.rs
@@ -281,7 +281,9 @@ impl VersionList {
pub fn get_version_lazy(&self, id: &str) -> VersionResult {
self.remote.as_ref()
- .map_or_else(|| self.local.versions.get(id).into(), |r| r.versions.get(id).into())
+ .map_or(None, |r| r.versions.get(id).map(VersionResult::from))
+ .or_else(|| self.local.versions.get(id).map(VersionResult::from))
+ .unwrap_or(VersionResult::None)
}
pub fn get_profile_version_id<'v>(&self, ver: &'v ProfileVersion) -> Option<Cow<'v, str>> {
@@ -336,7 +338,7 @@ impl VersionList {
let mut inherit = inherit.clone();
loop {
- if seen.insert(inherit.clone()) {
+ if !seen.insert(inherit.clone()) {
warn!("Version inheritance loop detected in {}: {} transitively inherits from itself.", ver.id, inherit);
return Err(VersionResolveError::InheritanceLoop(inherit));
}