diff options
| -rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
| -rw-r--r-- | gtk/ScintillaGTKAccessible.cxx | 10 | ||||
| -rw-r--r-- | gtk/ScintillaGTKAccessible.h | 2 | 
3 files changed, 7 insertions, 9 deletions
| diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 198ffba68..7d7ef53d5 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -581,6 +581,10 @@  	<a href="https://sourceforge.net/p/scintilla/bugs/2094/">Bug #2094</a>.  	</li>   	<li> +	Fix text reported for deletion with accessibility on GTK. +	<a href="https://sourceforge.net/p/scintilla/bugs/2095/">Bug #2095</a>. +	</li> + 	<li>  	Fix flicker when inserting primary selection on GTK.  	<a href="https://sourceforge.net/p/scintilla/bugs/2087/">Bug #2087</a>.  	</li> diff --git a/gtk/ScintillaGTKAccessible.cxx b/gtk/ScintillaGTKAccessible.cxx index 714fde10d..3cea1573c 100644 --- a/gtk/ScintillaGTKAccessible.cxx +++ b/gtk/ScintillaGTKAccessible.cxx @@ -161,7 +161,6 @@ ScintillaGTKAccessible *ScintillaGTKAccessible::FromAccessible(GtkAccessible *ac  ScintillaGTKAccessible::ScintillaGTKAccessible(GtkAccessible *accessible_, GtkWidget *widget_) :  		accessible(accessible_),  		sci(ScintillaGTK::FromWidget(widget_)), -		deletionLengthChar(0),  		old_pos(-1) {  	SetAccessibility(true);  	g_signal_connect(widget_, "sci-notify", G_CALLBACK(SciNotify), this); @@ -887,14 +886,11 @@ void ScintillaGTKAccessible::Notify(GtkWidget *, gint, SCNotification *nt) {  				UpdateCursor();  			}  			if (nt->modificationType & SC_MOD_BEFOREDELETE) { -				// We cannot compute the deletion length in DELETETEXT as it requires accessing the -				// buffer, so that the character are still present.  So, we cache the value here, -				// and use it in DELETETEXT that fires quickly after. -				deletionLengthChar = sci->pdoc->CountCharacters(nt->position, nt->position + nt->length); +				int startChar = CharacterOffsetFromByteOffset(nt->position); +				int lengthChar = sci->pdoc->CountCharacters(nt->position, nt->position + nt->length); +				g_signal_emit_by_name(accessible, "text-changed::delete", startChar, lengthChar);  			}  			if (nt->modificationType & SC_MOD_DELETETEXT) { -				int startChar = CharacterOffsetFromByteOffset(nt->position); -				g_signal_emit_by_name(accessible, "text-changed::delete", startChar, deletionLengthChar);  				UpdateCursor();  			}  			if (nt->modificationType & SC_MOD_CHANGESTYLE) { diff --git a/gtk/ScintillaGTKAccessible.h b/gtk/ScintillaGTKAccessible.h index 00570acce..b9d94b0e2 100644 --- a/gtk/ScintillaGTKAccessible.h +++ b/gtk/ScintillaGTKAccessible.h @@ -18,8 +18,6 @@ private:  	GtkAccessible *accessible;  	ScintillaGTK *sci; -	// cached length of the deletion, in characters (see Notify()) -	int deletionLengthChar;  	// local state for comparing  	Sci::Position old_pos;  	std::vector<SelectionRange> old_sels; | 
