diff --git a/lib/private/User/User.php b/lib/private/User/User.php index 48c913db2a93b07f86d81936ed0c6b30182c3fd7..12af787a5a6e6b128d635f0bedb97ba9f50ad5a5 100644 --- a/lib/private/User/User.php +++ b/lib/private/User/User.php @@ -138,11 +138,12 @@ class User implements IUser { */ public function setDisplayName($displayName) { $displayName = trim($displayName); - if ($this->backend->implementsActions(Backend::SET_DISPLAYNAME) && !empty($displayName)) { + $oldDisplayName = $this->getDisplayName(); + if ($this->backend->implementsActions(Backend::SET_DISPLAYNAME) && !empty($displayName) && $displayName !== $oldDisplayName) { $result = $this->backend->setDisplayName($this->uid, $displayName); if ($result) { $this->displayName = $displayName; - $this->triggerChange('displayName', $displayName); + $this->triggerChange('displayName', $displayName, $oldDisplayName); } return $result !== false; } diff --git a/tests/lib/Util/User/Dummy.php b/tests/lib/Util/User/Dummy.php index e77902d6f4e32e0e235670fd2789fcc7a2a5eb7d..3db519cedfcc6f630b4a66d6ffe38d3be63375d4 100644 --- a/tests/lib/Util/User/Dummy.php +++ b/tests/lib/Util/User/Dummy.php @@ -164,6 +164,7 @@ class Dummy extends Backend implements \OCP\IUserBackend { public function setDisplayName($uid, $displayName) { $this->displayNames[$uid] = $displayName; + return true; } public function getDisplayName($uid) {