diff options
| author | Neil <nyamatongwe@gmail.com> | 2019-09-28 11:22:58 +1000 | 
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2019-09-28 11:22:58 +1000 | 
| commit | 9e62956c361fe1a7cb1efab31162ac647fa962d2 (patch) | |
| tree | bbccf874ef07219132d812dc12bf6b6a053f7c57 /qt/ScintillaEditBase/ScintillaQt.cpp | |
| parent | dba67afa3d383e1a7447d8484968e4e6b0252f1e (diff) | |
| download | scintilla-mirror-9e62956c361fe1a7cb1efab31162ac647fa962d2.tar.gz | |
Avoid calling virtual methods during destruction to stop warnings.
This code worked correctly before this change.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaQt.cpp')
| -rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.cpp | 29 | 
1 files changed, 21 insertions, 8 deletions
diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp index 98a8000fa..80e1f9949 100644 --- a/qt/ScintillaEditBase/ScintillaQt.cpp +++ b/qt/ScintillaEditBase/ScintillaQt.cpp @@ -52,10 +52,8 @@ ScintillaQt::ScintillaQt(QAbstractScrollArea *parent)  ScintillaQt::~ScintillaQt()  { -	for (TickReason tr = tickCaret; tr <= tickDwell; tr = static_cast<TickReason>(tr + 1)) { -		FineTickerCancel(tr); -	} -	SetIdle(false); +	CancelTimers(); +	ChangeIdle(false);  }  void ScintillaQt::execCommand(QAction *action) @@ -145,9 +143,7 @@ void ScintillaQt::Init()  void ScintillaQt::Finalise()  { -	for (TickReason tr = tickCaret; tr <= tickDwell; tr = static_cast<TickReason>(tr + 1)) { -		FineTickerCancel(tr); -	} +	CancelTimers();  	ScintillaBase::Finalise();  } @@ -417,6 +413,18 @@ void ScintillaQt::FineTickerStart(TickReason reason, int millis, int /* toleranc  	timers[reason] = startTimer(millis);  } +// CancelTimers cleans up all fine-ticker timers and is non-virtual to avoid warnings when +// called during destruction. +void ScintillaQt::CancelTimers() +{ +	for (TickReason tr = tickCaret; tr <= tickDwell; tr = static_cast<TickReason>(tr + 1)) { +		if (timers[tr]) { +			killTimer(timers[tr]); +			timers[tr] = 0; +		} +	} +} +  void ScintillaQt::FineTickerCancel(TickReason reason)  {  	if (timers[reason]) { @@ -433,7 +441,7 @@ void ScintillaQt::onIdle()  	}  } -bool ScintillaQt::SetIdle(bool on) +bool ScintillaQt::ChangeIdle(bool on)  {  	QTimer *qIdle;  	if (on) { @@ -459,6 +467,11 @@ bool ScintillaQt::SetIdle(bool on)  	return true;  } +bool ScintillaQt::SetIdle(bool on) +{ +	return ChangeIdle(on); +} +  int ScintillaQt::CharacterSetOfDocument() const  {  	return vs.styles[STYLE_DEFAULT].characterSet;  | 
