aboutsummaryrefslogtreecommitdiffhomepage
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
parent07e5d8494434df8385720fa627318e783983ba25 (diff)
downloadscintilla-mirror-f8ce3f08b5b8e49ef41dd72760ca617d4907acec.tar.gz
Fix building with Xcode 12 by defining move constructors for FontAlias, Style,
and PositionCacheEntry.
-rw-r--r--doc/ScintillaHistory.html12
-rw-r--r--src/PositionCache.h2
-rw-r--r--src/Style.cxx5
-rw-r--r--src/Style.h6
4 files changed, 21 insertions, 4 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 6293b880a..1fcfee6fd 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -573,6 +573,18 @@
</li>
</ul>
<h3>
+ <a href="https://www.scintilla.org/scite445.zip">Release 4.4.6</a>
+ </h3>
+ <ul>
+ <li>
+ Released 11 September 2020.
+ </li>
+ <li>
+ Fix building with Xcode 12.
+ <a href="https://sourceforge.net/p/scintilla/bugs/2187/">Bug #2187</a>.
+ </li>
+ </ul>
+ <h3>
<a href="https://www.scintilla.org/scite445.zip">Release 4.4.5</a>
</h3>
<ul>
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;