From e8e1c8a50bcd24e445f9b8fa75a19d881d2f0a5e Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Fri, 29 Jun 2018 12:10:08 +0200
Subject: [PATCH] =?UTF-8?q?=20#45=20ParamValues.hasMultipleValues()=20:=20?=
 =?UTF-8?q?correction=20de=20crash=20(de=20l'appel=20=C3=A0=20this.getValu?=
 =?UTF-8?q?esIterator())=20dans=20le=20cas=20du=20mode=20LINK=20sans=20auc?=
 =?UTF-8?q?une=20valeur=20liable=20compatible?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/param/param-values.ts | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/param/param-values.ts b/src/param/param-values.ts
index 651c3dcd..f30e70d5 100644
--- a/src/param/param-values.ts
+++ b/src/param/param-values.ts
@@ -329,7 +329,17 @@ export class ParamValues implements INubReference, IterableValues {
     }
 
     public get hasMultipleValues(): boolean {
-        const it = this.isReferenceDefined ? this.referencedValuesIterator : this.getValuesIterator();
+        if (this.isReferenceDefined)
+            var it = this.referencedValuesIterator;
+        else {
+            // dans certains cas (mode LINK mais aucune valeur liable compatible), on ne peut avoir d'itérateur
+            if (this._valueMode !== ParamValueMode.LINK)
+                it = this.getValuesIterator();
+        }
+
+        if (it === undefined)
+            return false;
+
         let n = 0;
         for (const v of it) {
             n++;
-- 
GitLab