vv-file: Use "versions" in min version check

This tries to use the list of versions added to .vv files by the
previous commit. If remote-viewer was built with an os-id specified, and
if it's found in the 'versions' .vv file key, then the version
associated with it is used for version checks, otherwise the 'version'
field is used if present.
This commit is contained in:
Christophe Fergeau 2015-04-16 17:28:57 +02:00
parent 1856dbfa24
commit 809d097cfd

View File

@ -774,8 +774,27 @@ virt_viewer_file_check_min_version(VirtViewerFile *self, GError **error)
gchar *min_version = NULL;
gint version_cmp;
if (virt_viewer_file_is_set(self, "version")) {
min_version = virt_viewer_file_get_version(self);
#ifdef REMOTE_VIEWER_OS_ID
if (virt_viewer_file_is_set(self, "versions")) {
GHashTable *versions;
versions = virt_viewer_file_get_versions(self);
min_version = g_strdup(g_hash_table_lookup(versions, REMOTE_VIEWER_OS_ID));
g_hash_table_unref(versions);
}
#endif
if (min_version == NULL) {
if (virt_viewer_file_is_set(self, "version")) {
min_version = virt_viewer_file_get_version(self);
}
}
if (min_version == NULL) {
return TRUE;
}
version_cmp = virt_viewer_compare_version(min_version, PACKAGE_VERSION);