diff options
author | Neil <nyamatongwe@gmail.com> | 2020-09-18 15:31:30 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2020-09-18 15:31:30 +1000 |
commit | f8ce3f08b5b8e49ef41dd72760ca617d4907acec (patch) | |
tree | afc65dca71a5d4b45f7e9772678ca4087074c4ec /src | |
parent | 07e5d8494434df8385720fa627318e783983ba25 (diff) | |
download | scintilla-mirror-f8ce3f08b5b8e49ef41dd72760ca617d4907acec.tar.gz |
Fix building with Xcode 12 by defining move constructors for FontAlias, Style,
and PositionCacheEntry.
Diffstat (limited to 'src')
-rw-r--r-- | src/PositionCache.h | 2 | ||||
-rw-r--r-- | src/Style.cxx | 5 | ||||
-rw-r--r-- | src/Style.h | 6 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/PositionCache.h b/src/PositionCache.h index cdcc3ef74..7573a2dc3 100644 --- a/src/PositionCache.h +++ b/src/PositionCache.h @@ -187,8 +187,8 @@ public: PositionCacheEntry() noexcept; // Copy constructor not currently used, but needed for being element in std::vector. PositionCacheEntry(const PositionCacheEntry &); + PositionCacheEntry(PositionCacheEntry &&) noexcept = default; // Deleted so PositionCacheEntry objects can not be assigned. - PositionCacheEntry(PositionCacheEntry &&) = delete; void operator=(const PositionCacheEntry &) = delete; void operator=(PositionCacheEntry &&) = delete; ~PositionCacheEntry(); diff --git a/src/Style.cxx b/src/Style.cxx index 00497db67..ff2b49bc2 100644 --- a/src/Style.cxx +++ b/src/Style.cxx @@ -24,6 +24,11 @@ FontAlias::FontAlias(const FontAlias &other) noexcept : Font() { SetID(other.fid); } +FontAlias::FontAlias(FontAlias &&other) noexcept : Font() { + SetID(other.fid); + other.ClearFont(); +} + FontAlias::~FontAlias() { SetID(FontID{}); // ~Font will not release the actual font resource since it is now 0 diff --git a/src/Style.h b/src/Style.h index 432dcf946..071d752ca 100644 --- a/src/Style.h +++ b/src/Style.h @@ -33,9 +33,9 @@ struct FontSpecification { class FontAlias : public Font { public: FontAlias() noexcept; - // FontAlias objects can not be assigned except for initialization + // FontAlias objects can be copy or move constructed but not be assigned FontAlias(const FontAlias &) noexcept; - FontAlias(FontAlias &&) = delete; + FontAlias(FontAlias &&) noexcept; FontAlias &operator=(const FontAlias &) = delete; FontAlias &operator=(FontAlias &&) = delete; ~FontAlias() override; @@ -72,7 +72,7 @@ public: Style(); Style(const Style &source) noexcept; - Style(Style &&) = delete; + Style(Style &&) noexcept = default; ~Style(); Style &operator=(const Style &source) noexcept; Style &operator=(Style &&) = delete; |