12 Commits

Author SHA1 Message Date
Colomban Wendling
3fa7576e13 Update Scintilla to version 3.10.0
Scintilla 3.7.6/4.0.0 deprecated `SCE_*STYLEBITS*` and moved it to
deprecated features that require a build-time flag to be available.

Thus, drop use of those (as they are now no-ops anyway) and bump the
ABI (so plugins depending on those don't build mistakenly load) and API
(so a developer can guard use of those if wanted) version accordingly.
2018-08-01 14:51:52 +02:00
Colomban Wendling
18360460ab Update Scintilla to version 3.7.5 (#1503)
* Update Scintilla to version 3.7.5

This now requires a C++11-capable compiler.

Closes #1308.

* Test using newer dist on Travis

Since Scintilla needs C++11

* Add debugging code for when configure fails

* Workaround a pkg-config-corsswrapper bug on Ubuntu 14.04

See https://bugs.launchpad.net/ubuntu/+source/mingw-w64/+bug/1327242
2017-07-25 09:24:05 +10:00
Colomban Wendling
6d0062201e Scintilla: speed up converting byte offsets to character offsets
Use a per-line cache to avoid re-computing the offset from the start of
the buffer each time. This dramatically speeds up multiple replacements
on large files.

X-Scintilla-Bug-ID: https://sourceforge.net/p/scintilla/bugs/1910/
2017-02-27 14:16:20 +01:00
Colomban Wendling
1421a3f9c5 scintilla: Fix crash after destroying the widget on GTK < 3.3.6
On GTK2 and GTK3 < 3.3.6 there is no GtkAccessibleClass::widget_unset()
method, so we can't destroy our accessible object right away.  So, to
avoid accessing a destroyed widget, we need to check whether the widget
still exists in the the ScintillaGTKAccessible destructor.

In other methods it's not necessary because the wrapping GObject class
makes sure not to forward other when the widget has been destroyed, but
we still have to destroy the C++ instance no matter what, so the check
has to be on this side.

Fixes #1410.
2017-02-26 20:07:33 +01:00
Colomban Wendling
170ebf610f scintilla: Fix build with older GCC
Don't convert function pointer to non-function pointer.  This is
undefined behavior, and some older GCC don't like it.
2017-02-08 22:43:27 +01:00
Colomban Wendling
0df7d5a03a scintilla: Prevent running signal handlers on a destroyed a11y object
Avoid crash when detaching the widget from the accessible object
without destroying that widget.

In such situations, the widget is still valid but we will have
destroyed the orphaned accessible object.  Thus, we must make sure we
disconnected the signal handlers the late accessible had set up on the
widget, as they won't be implicitly disconnected by widget
finalization in this case.

Fixes #1385.
2017-02-02 14:42:38 +01:00
Colomban Wendling
07c665197f GTK: Ensure styles are valid when retrieving them for accessibility purposes 2016-12-20 21:45:29 +01:00
Colomban Wendling
a31a43efe1 GTK: Fix reporting deletion length in the accessible
We cannot compute the length in characters after the text has been
deleted, so we need to compute it in BEFOREDELETE.  However, we need to
emit the signal once the buffer has actually changed, so we need to
cache the value in-between those events.
2016-12-20 21:45:29 +01:00
Colomban Wendling
745d15de2e GTK: Fix off-by-one error in accessible attribute runs 2016-12-20 21:45:29 +01:00
Colomban Wendling
2f327b767b GTK: Fix accessible object lifetime on GTK < 3.8 2016-12-20 21:45:29 +01:00
Colomban Wendling
407cb36ceb GTK: Add some documentation on accessible object reference ownerships 2016-12-20 21:45:29 +01:00
Colomban Wendling
aa11c3ea48 Update Scintilla to version 3.7.1 2016-12-05 14:23:34 +01:00