From 35fce59f65c02414af6cf0fcdc698c61ae0f8b47 Mon Sep 17 00:00:00 2001
From: mitchell <70453897+667e-11@users.noreply.github.com>
Date: Sun, 18 Feb 2018 10:41:51 -0500
Subject: Backported bugfixes and changes from Scintilla 4.0.2 to 4.0.3.
---
src/scintilla_backports/6441_92c8f0f1b3e6.patch | 157 ++++++++++++++++++++++++
1 file changed, 157 insertions(+)
create mode 100644 src/scintilla_backports/6441_92c8f0f1b3e6.patch
(limited to 'src/scintilla_backports/6441_92c8f0f1b3e6.patch')
diff --git a/src/scintilla_backports/6441_92c8f0f1b3e6.patch b/src/scintilla_backports/6441_92c8f0f1b3e6.patch
new file mode 100644
index 00000000..edcc6338
--- /dev/null
+++ b/src/scintilla_backports/6441_92c8f0f1b3e6.patch
@@ -0,0 +1,157 @@
+# HG changeset patch
+# User Neil Last edited 10 January 2018 NH Last edited 31 January 2018 NH There is an overview of the internal design of
+ Scintilla. SCI_CREATEDOCUMENT → document * SCI_CREATEDOCUMENT(int bytes, int documentOption) → document *Scintilla Documentation
+
+-
+@@ -5711,7 +5711,7 @@
+
+
+-
++
+
+
++
+ This message creates a new, empty document and returns a pointer to it. This document is not
+- selected into the editor and starts with a reference count of 1. This means that you have
+- ownership of it and must either reduce its reference count by 1 after using
++ selected into the editor and starts with a reference count of 1. This means that you have
++ ownership of it and must either reduce its reference count by 1 after using
+ SCI_SETDOCPOINTER
so that the Scintilla window owns it or you must make sure that
+- you reduce the reference count by 1 with SCI_RELEASEDOCUMENT
before you close the
+- application to avoid memory leaks.SCI_RELEASEDOCUMENT
before you close the
++ application to avoid memory leaks. The bytes
argument determines
++ the initial memory allocation for the document as it is more efficient
++ to allocate once rather than rely on the buffer growing as data is added.
++ If SCI_CREATEDOCUMENT
fails then 0 is returned.
The documentOption
argument may be used in future versions
++ to choose between different document capabilities which affect memory allocation and performance.
++ The only valid value for now is SC_DOCUMENTOPTION_DEFAULT
(0).
SCI_ADDREFDOCUMENT(<unused>, document *doc)
+ This increases the reference count of a document by 1. If you want to replace the current
+@@ -5765,7 +5772,7 @@
+
+
SCI_CREATELOADER(int bytes) → int
++ SCI_CREATELOADER(int bytes, int documentOption) → int
+
+
+ An application can load all of a file into a buffer it allocates on a background thread and then add the data in that buffer
+@@ -5774,13 +5781,17 @@
+
+
To avoid these issues, a loader object may be created and used to load the file. The loader object supports the ILoader interface.
+
+- SCI_CREATELOADER(int bytes) → int
++
SCI_CREATELOADER(int bytes, int documentOption) → int
+ Create an object that supports the ILoader
interface which can be used to load data and then
+ be turned into a Scintilla document object for attachment to a view object.
+ The bytes
argument determines the initial memory allocation for the document as it is more efficient
+ to allocate once rather than rely on the buffer growing as data is added.
+ If SCI_CREATELOADER
fails then 0 is returned.
+
++ The documentOption
argument may be used in future versions
++ to choose between different document capabilities which affect memory allocation and performance.
++ The only valid value for now is SC_DOCUMENTOPTION_DEFAULT
(0).
++
+ ILoader
+
+
+@@ -6573,7 +6584,7 @@
+ On GTK+, there are storage and performance costs to accessibility, so it can be disabled
+ by calling SCI_SETACCESSIBILITY
.
+
+-
++
+
+
+
+@@ -6603,7 +6614,7 @@
+
+
+
+-
++
+ Lexer
+
+ If you define the symbol SCI_LEXER
when building Scintilla, (this is sometimes
+@@ -6894,7 +6905,7 @@
+
+ Methods that return strings as const char *
are not required to maintain separate allocations indefinitely:
+ lexer implementations may own a single buffer that is reused for each call.
+-Callers should make an immediate copy of returned strings.
++Callers should make an immediate copy of returned strings.
+
+
+
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 include/Scintilla.h
+--- a/include/Scintilla.h Tue Jan 30 12:40:53 2018 +1100
++++ b/include/Scintilla.h Fri Jan 26 11:12:10 2018 +1100
+@@ -689,6 +689,7 @@
+ #define SCI_SELECTIONISRECTANGLE 2372
+ #define SCI_SETZOOM 2373
+ #define SCI_GETZOOM 2374
++#define SC_DOCUMENTOPTION_DEFAULT 0
+ #define SCI_CREATEDOCUMENT 2375
+ #define SCI_ADDREFDOCUMENT 2376
+ #define SCI_RELEASEDOCUMENT 2377
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 include/Scintilla.iface
+--- a/include/Scintilla.iface Tue Jan 30 12:40:53 2018 +1100
++++ b/include/Scintilla.iface Fri Jan 26 11:12:10 2018 +1100
+@@ -1771,9 +1771,12 @@
+ # Retrieve the zoom level.
+ get int GetZoom=2374(,)
+
++enu DocumentOption=SC_DOCUMENTOPTION_
++val SC_DOCUMENTOPTION_DEFAULT=0
++
+ # Create a new document object.
+ # Starts with reference count of 1 and not selected into editor.
+-fun int CreateDocument=2375(,)
++fun int CreateDocument=2375(int bytes, int documentOption)
+ # Extend life of document.
+ fun void AddRefDocument=2376(, int doc)
+ # Release a reference to the document, deleting document if it fades to black.
+@@ -2540,7 +2543,7 @@
+ get int GetTechnology=2631(,)
+
+ # Create an ILoader*.
+-fun int CreateLoader=2632(int bytes,)
++fun int CreateLoader=2632(int bytes, int documentOption)
+
+ # On OS X, show a find indicator.
+ fun void FindIndicatorShow=2640(position start, position end)
+diff -r a1731ae83d2a -r 92c8f0f1b3e6 src/Editor.cxx
+--- a/src/Editor.cxx Tue Jan 30 12:40:53 2018 +1100
++++ b/src/Editor.cxx Fri Jan 26 11:12:10 2018 +1100
+@@ -7556,6 +7556,7 @@
+ case SCI_CREATEDOCUMENT: {
+ Document *doc = new Document();
+ doc->AddRef();
++ doc->Allocate(static_cast(wParam));
+ return reinterpret_cast(doc);
+ }
+
--
cgit v1.2.3