Skip to content

Commit

Permalink
Prevent duplicate no fills (#1086)
Browse files Browse the repository at this point in the history
* Merge branch 'master' of C:\Projects\PHPOffice\PHPSpreadsheet\develop with conflicts.

* Ignore colours for hash generation when fill style in NONE

* Update changelog
  • Loading branch information
Mark Baker committed Jul 16, 2019
1 parent 987147e commit 5f7ed98
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org).

### Fixed

- Eliminate duplicate fill none style entries [Issue #1066](https://github.com/PHPOffice/PhpSpreadsheet/issues/1066)
- Fix number format masks containing literal (non-decimal point) dots [Issue #1079](https://github.com/PHPOffice/PhpSpreadsheet/issues/1079)
- Fix number format masks containing named colours that were being misinterpreted as date formats; and add support for masks that fully replace the value with a full text string [Issue #1009](https://github.com/PHPOffice/PhpSpreadsheet/issues/1009)
- Stricter-typed comparison testing in COUNTIF() and COUNTIFS() evaluation [Issue #1046](https://github.com/PHPOffice/PhpSpreadsheet/issues/1046)
Expand Down
7 changes: 4 additions & 3 deletions src/PhpSpreadsheet/Style/Fill.php
Expand Up @@ -313,12 +313,13 @@ public function getHashCode()
if ($this->isSupervisor) {
return $this->getSharedComponent()->getHashCode();
}

// Note that we don't care about colours for fill type NONE, but could have duplicate NONEs with
// different hashes if we don't explicitly prevent this
return md5(
$this->getFillType() .
$this->getRotation() .
$this->getStartColor()->getHashCode() .
$this->getEndColor()->getHashCode() .
($this->getFillType() !== self::FILL_NONE ? $this->getStartColor()->getHashCode() : '') .
($this->getFillType() !== self::FILL_NONE ? $this->getEndColor()->getHashCode() : '') .
__CLASS__
);
}
Expand Down

0 comments on commit 5f7ed98

Please sign in to comment.