diff --git a/common/src/app/common/files/validate.cljc b/common/src/app/common/files/validate.cljc index 93753f5cea..5b0e1d74d4 100644 --- a/common/src/app/common/files/validate.cljc +++ b/common/src/app/common/files/validate.cljc @@ -466,19 +466,20 @@ children (map #(ctst/get-shape page %) shapes) prop-names (cfv/extract-properties-names (first children) (:data file))] (doseq [child children] - (if (not (ctk/is-variant? child)) - (report-error :not-a-variant - (str/ffmt "Shape % should be a variant" (:id child)) - child file page) - (do - (when (not= (:variant-id child) shape-id) - (report-error :invalid-variant-id - (str/ffmt "Variant % has invalid variant-id %" (:id child) (:variant-id child)) - child file page)) - (when (not= prop-names (cfv/extract-properties-names child (:data file))) - (report-error :invalid-variant-properties - (str/ffmt "Variant % has invalid properties %" (:id child) (vec prop-names)) - child file page))))))) + (when child + (if (not (ctk/is-variant? child)) + (report-error :not-a-variant + (str/ffmt "Shape % should be a variant" (:id child)) + child file page) + (do + (when (not= (:variant-id child) shape-id) + (report-error :invalid-variant-id + (str/ffmt "Variant % has invalid variant-id %" (:id child) (:variant-id child)) + child file page)) + (when (not= prop-names (cfv/extract-properties-names child (:data file))) + (report-error :invalid-variant-properties + (str/ffmt "Variant % has invalid properties %" (:id child) (vec prop-names)) + child file page)))))))) (defn- check-variant "Shape is a variant, so @@ -627,7 +628,8 @@ main-component (if (:deleted component) (dm/get-in component [:objects (:main-instance-id component)]) (ctst/get-shape component-page (:main-instance-id component)))] - (when-not (ctk/is-variant? main-component) + (when (and main-component + (not (ctk/is-variant? main-component))) (report-error :not-a-variant (str/ffmt "Shape % should be a variant" (:id main-component)) main-component file component-page))))