aboutsummaryrefslogtreecommitdiff
path: root/src/scintilla_backports/6187_a80a6876c301.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/scintilla_backports/6187_a80a6876c301.patch')
-rw-r--r--src/scintilla_backports/6187_a80a6876c301.patch91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/scintilla_backports/6187_a80a6876c301.patch b/src/scintilla_backports/6187_a80a6876c301.patch
new file mode 100644
index 00000000..9c6a92af
--- /dev/null
+++ b/src/scintilla_backports/6187_a80a6876c301.patch
@@ -0,0 +1,91 @@
+# HG changeset patch
+# User Neil Hodgson <nyamatongwe@gmail.com>
+# Date 1492240107 -36000
+# Node ID a80a6876c301ec0caf29ef20eb2161f6af9a8552
+# Parent 044d2d0302639d08d3e0aa72886afcbd47fa39f8
+Avoid calling virtual functions in destructor. Mark overridden methods.
+
+diff -r 044d2d030263 -r a80a6876c301 cocoa/ScintillaCocoa.h
+--- a/cocoa/ScintillaCocoa.h Sat Apr 15 16:47:52 2017 +1000
++++ b/cocoa/ScintillaCocoa.h Sat Apr 15 17:08:27 2017 +1000
+@@ -129,7 +129,6 @@
+ void Redraw() override;
+
+ void Init();
+- void Finalise() override;
+ CaseFolder *CaseFolderForEncoding() override;
+ std::string CaseMapString(const std::string &s, int caseMapping) override;
+ void CancelModes() override;
+@@ -137,6 +136,7 @@
+ public:
+ ScintillaCocoa(ScintillaView* sciView_, SCIContentView* viewContent, SCIMarginView* viewMargin);
+ ~ScintillaCocoa() override;
++ void Finalise() override;
+
+ void SetDelegate(id<ScintillaNotificationProtocol> delegate_);
+ void RegisterNotifyCallback(intptr_t windowid, SciNotifyFunc callback);
+diff -r 044d2d030263 -r a80a6876c301 cocoa/ScintillaCocoa.mm
+--- a/cocoa/ScintillaCocoa.mm Sat Apr 15 16:47:52 2017 +1000
++++ b/cocoa/ScintillaCocoa.mm Sat Apr 15 17:08:27 2017 +1000
+@@ -429,7 +429,6 @@
+
+ ScintillaCocoa::~ScintillaCocoa()
+ {
+- Finalise();
+ [timerTarget ownerDestroyed];
+ [timerTarget release];
+ }
+diff -r 044d2d030263 -r a80a6876c301 cocoa/ScintillaView.mm
+--- a/cocoa/ScintillaView.mm Sat Apr 15 16:47:52 2017 +1000
++++ b/cocoa/ScintillaView.mm Sat Apr 15 17:08:27 2017 +1000
+@@ -1559,6 +1559,7 @@
+ - (void) dealloc
+ {
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
++ mBackend->Finalise();
+ delete mBackend;
+ mBackend = NULL;
+ mContent.owner = nil;
+diff -r 044d2d030263 -r a80a6876c301 src/ScintillaBase.h
+--- a/src/ScintillaBase.h Sat Apr 15 16:47:52 2017 +1000
++++ b/src/ScintillaBase.h Sat Apr 15 17:08:27 2017 +1000
+@@ -60,12 +60,12 @@
+ ScintillaBase();
+ virtual ~ScintillaBase();
+ void Initialise() {}
+- virtual void Finalise();
++ void Finalise();
+
+- virtual void AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS=false);
++ void AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS=false);
+ void Command(int cmdId);
+- virtual void CancelModes();
+- virtual int KeyCommand(unsigned int iMessage);
++ void CancelModes();
++ int KeyCommand(unsigned int iMessage);
+
+ void AutoCompleteInsert(Sci::Position startPos, int removeLen, const char *text, int textLen);
+ void AutoCompleteStart(int lenEntered, const char *list);
+@@ -87,16 +87,16 @@
+ bool ShouldDisplayPopup(Point ptInWindowCoordinates) const;
+ void ContextMenu(Point pt);
+
+- virtual void ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);
+- virtual void ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
+- virtual void RightButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);
++ void ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);
++ void ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
++ void RightButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);
+
+- void NotifyStyleToNeeded(Sci::Position endStyleNeeded);
+- void NotifyLexerChanged(Document *doc, void *userData);
++ void NotifyStyleToNeeded(Sci::Position endStyleNeeded);
++ void NotifyLexerChanged(Document *doc, void *userData);
+
+ public:
+ // Public so scintilla_send_message can use it
+- virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
++ sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
+ };
+
+ #ifdef SCI_NAMESPACE