aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2020-09-18 15:31:30 +1000
committerNeil <nyamatongwe@gmail.com>2020-09-18 15:31:30 +1000
commitf8ce3f08b5b8e49ef41dd72760ca617d4907acec (patch)
treeafc65dca71a5d4b45f7e9772678ca4087074c4ec /src
parent07e5d8494434df8385720fa627318e783983ba25 (diff)
downloadscintilla-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.h2
-rw-r--r--src/Style.cxx5
-rw-r--r--src/Style.h6
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;