From 6a983da8c3157e7558e0b6c4066388593e2821d0 Mon Sep 17 00:00:00 2001 From: Simon Giesecke Date: Thu, 30 Apr 2020 09:36:26 +0000 Subject: [PATCH] Bug 1626570 - Improve handling of copying arrays in extensions/spellcheck. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D72319 --- extensions/spellcheck/src/mozInlineSpellChecker.cpp | 4 ++-- extensions/spellcheck/src/mozPersonalDictionary.cpp | 2 +- extensions/spellcheck/src/mozSpellChecker.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/spellcheck/src/mozInlineSpellChecker.cpp b/extensions/spellcheck/src/mozInlineSpellChecker.cpp index 881f9f156889..cb29a41e0171 100644 --- a/extensions/spellcheck/src/mozInlineSpellChecker.cpp +++ b/extensions/spellcheck/src/mozInlineSpellChecker.cpp @@ -1430,7 +1430,7 @@ void mozInlineSpellChecker::CheckCurrentWordsNoSuggest( uint32_t token = mDisabledAsyncToken; mSpellCheck->CheckCurrentWordsNoSuggest(aWords)->Then( GetMainThreadSerialEventTarget(), __func__, - [self, spellCheckerSelection, aRanges, + [self, spellCheckerSelection, ranges = aRanges.Clone(), token](const nsTArray& aIsMisspelled) { if (token != self->mDisabledAsyncToken) { // This result is never used @@ -1453,7 +1453,7 @@ void mozInlineSpellChecker::CheckCurrentWordsNoSuggest( } RefPtr wordRange = - mozInlineSpellWordUtil::MakeRange(aRanges[i]); + mozInlineSpellWordUtil::MakeRange(ranges[i]); // If we somehow can't make a range for this word, just ignore // it. if (wordRange) { diff --git a/extensions/spellcheck/src/mozPersonalDictionary.cpp b/extensions/spellcheck/src/mozPersonalDictionary.cpp index 82b47444da25..c8c19d114877 100644 --- a/extensions/spellcheck/src/mozPersonalDictionary.cpp +++ b/extensions/spellcheck/src/mozPersonalDictionary.cpp @@ -77,7 +77,7 @@ class mozPersonalDictionarySave final : public mozilla::Runnable { nsCOMPtr aFile, nsTArray&& aDictWords) : mozilla::Runnable("mozPersonalDictionarySave"), - mDictWords(aDictWords), + mDictWords(std::move(aDictWords)), mFile(aFile), mDict(aDict) {} diff --git a/extensions/spellcheck/src/mozSpellChecker.h b/extensions/spellcheck/src/mozSpellChecker.h index a8d2a04f1cc1..694c77be54a0 100644 --- a/extensions/spellcheck/src/mozSpellChecker.h +++ b/extensions/spellcheck/src/mozSpellChecker.h @@ -21,7 +21,7 @@ class mozEnglishWordUtils; namespace mozilla { class RemoteSpellcheckEngineChild; class TextServicesDocument; -typedef MozPromise, nsresult, false> CheckWordPromise; +typedef MozPromise, nsresult, false> CheckWordPromise; } // namespace mozilla class mozSpellChecker final {