aboutsummaryrefslogtreecommitdiff
path: root/src/scintilla_backports/6187_a80a6876c301.patch
blob: 9c6a92afbdb6e2804a491cfe2f44968c6f157b12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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