diff --git a/source/cell/cell.cpp b/source/cell/cell.cpp index 98dc1739..667212d8 100644 --- a/source/cell/cell.cpp +++ b/source/cell/cell.cpp @@ -750,7 +750,8 @@ void cell::format(const class format new_format) format().d_->references -= format().d_->references > 0 ? 1 : 0; } - d_->format_ = detail::reference(new_format.d_); + ++new_format.d_->references; + d_->format_ = new_format.d_; } calendar cell::base_date() const diff --git a/source/detail/implementations/stylesheet.hpp b/source/detail/implementations/stylesheet.hpp index 9863909d..0ec45161 100644 --- a/source/detail/implementations/stylesheet.hpp +++ b/source/detail/implementations/stylesheet.hpp @@ -419,7 +419,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -432,7 +431,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -445,7 +443,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -458,7 +455,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -471,7 +467,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -488,7 +483,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -501,7 +495,6 @@ struct stylesheet if (pattern->references == 0) { *pattern = new_format; - return pattern; } return find_or_create(new_format); } @@ -584,15 +577,5 @@ struct stylesheet std::vector colors; }; -inline format_impl* reference(format_impl *impl) -{ - ++impl->references; - if (impl->references == 1) - { - impl = impl->parent->find_or_create(*impl); - } - return impl; -} - } // namespace detail } // namespace xlnt