Patch #2916 2010-01-26 23:06

techy

Scintilla 2.02 doesn't compile with gcc 3.3.3
Download
2916-Scintilla_2_02.patch (1.7 KB)
Category
Application::Bugfix
Status
Accepted
Close date
2010-02-24 12:24
Assigned to
mortenmacfly
Index: scintilla/src/Editor.cxx
===================================================================
RCS file: /cvsroot/scintilla/scintilla/src/Editor.cxx,v
retrieving revision 1.501
diff -u -r1.501 Editor.cxx
--- scintilla/src/Editor.cxx    21 Jan 2010 12:57:34 -0000    1.501
+++ scintilla/src/Editor.cxx    26 Jan 2010 21:04:13 -0000
@@ -2909,7 +2909,9 @@
         if (subLine == (ll->lines - 1)) {
             virtualSpaces = sel.VirtualSpaceFor(pdoc->LineEnd(line));
         }
-        SelectionSegment virtualSpaceRange(SelectionPosition(posLineStart), SelectionPosition(posLineStart + lineEnd, virtualSpaces));
+        SelectionPosition posStart(posLineStart);
+        SelectionPosition posEnd(posLineStart + lineEnd, virtualSpaces);
+        SelectionSegment virtualSpaceRange(posStart, posEnd);
         for (size_t r=0; r<sel.Count(); r++) {
             int alpha = (r == sel.Main()) ? vsDraw.selAlpha : vsDraw.selAdditionalAlpha;
             if (alpha != SC_ALPHA_NOALPHA) {
Index: scintilla/src/PositionCache.cxx
===================================================================
RCS file: /cvsroot/scintilla/scintilla/src/PositionCache.cxx,v
retrieving revision 1.16
diff -u -r1.16 PositionCache.cxx
--- scintilla/src/PositionCache.cxx    26 Aug 2009 10:48:18 -0000    1.16
+++ scintilla/src/PositionCache.cxx    26 Jan 2010 21:04:14 -0000
@@ -413,7 +413,9 @@
     }
 
     if (breakForSelection) {
-        SelectionSegment segmentLine(SelectionPosition(posLineStart), SelectionPosition(posLineStart + lineEnd));
+        SelectionPosition posStart(posLineStart);
+        SelectionPosition posEnd(posLineStart + lineEnd);
+        SelectionSegment segmentLine(posStart, posEnd);
         for (size_t r=0; r<ll->psel->Count(); r++) {
             SelectionSegment portion = ll->psel->Range(r).Intersect(segmentLine);
             if (!(portion.start == portion.end)) {
techy 2010-01-26 23:11

OK, there is one more problem, introduced by the new scintilla - see here:

https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2940511&group_id=2439

(It has already been applied, Neil is pretty fast.) The same patch can actually be applied to codeblocks as well when going to src/sdk/wxscintilla/src. The submitted patch is identical with the one I sent to Neil so there should be no conflict when re-merging with a future version of scintilla.