From f55a672d48235bf6ef18af303e299bc11b3a46ff Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Thu, 24 Aug 2017 16:35:09 +0200 Subject: [PATCH] IcingaObject: accept 'disable' on merge() fixes #1104 --- library/Director/Objects/IcingaObject.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/library/Director/Objects/IcingaObject.php b/library/Director/Objects/IcingaObject.php index 0f3ada18..9b1d714b 100644 --- a/library/Director/Objects/IcingaObject.php +++ b/library/Director/Objects/IcingaObject.php @@ -2444,7 +2444,16 @@ abstract class IcingaObject extends DbObject implements IcingaConfigRenderer $object->set('vars', []); } - $this->setProperties((array) $object->toPlainObject(null, true)); + $plain = (array) $object->toPlainObject(null, false); + unset($plain['vars']); + foreach ($plain as $p => $v) { + if ($v === null) { + // We want default values, but no null values + continue; + } + + $this->set($p, $v); + } if ($object->supportsCustomVars()) { $myVars = $this->vars();