Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: oBFusCATed on August 16, 2017, 09:32:28 pm

Title: Scintilla 3.7.5 update
Post by: oBFusCATed on August 16, 2017, 09:32:28 pm
In this branch https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_7_5 you'll be able to find C::B updated to scintilla 3.7.5.

There are many major improvements. Our current version is 3.5.x.
You can see a list of changes here http://www.scintilla.org/ScintillaHistory.html
The biggest improvements in my opinion are the improvements to the multiple cursors support.
Pasting in multiple selections is possible now. Code-completion, too, but this still doesn't work in C::B, because we're doing our own processing, so we need to do this manually. I'm still investigating how to do it.

Also there are some annoying differences between multiple cursors and rect selections. But I'm trying to fix them.

The code is tested and compiles on linux only, so if someone can provide patches for windows I'll be happy. It shouldn't be too hard to fix.

Also any testing is welcome. I hope to merge this by the end of September, but we will see...
Title: Re: Scintilla 3.7.5 update
Post by: stahta01 on August 17, 2017, 12:38:58 am
What version of wxWidgets are you using under Linux; so, I can test Windows with the same version?

Tim S.
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on August 17, 2017, 01:33:28 am
wx2.8, wx3.0.x, wx3.1.master. It should work with all of them...
Title: Re: Scintilla 3.7.5 update
Post by: ollydbg on August 19, 2017, 09:52:17 am
I use this patch to build this branch against wx3.1 under win7.

Code
 src/CodeBlocks_wx31.cbp                 | 42 ++++++++++++++++++++++++++++++---
 src/sdk/wxscintilla/src/ScintillaWX.cpp |  4 ++--
 src/sdk/wxscintilla/src/wxscintilla.cpp |  4 +++-
 3 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/src/CodeBlocks_wx31.cbp b/src/CodeBlocks_wx31.cbp
index f4b2ceb41..23a0771d3 100644
--- a/src/CodeBlocks_wx31.cbp
+++ b/src/CodeBlocks_wx31.cbp
@@ -3334,6 +3334,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/include/SciLexer.h">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/include/Sci_Position.h">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/include/Scintilla.h">
  <Option target="scintilla" />
  </Unit>
@@ -3379,6 +3382,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexBasic.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexBatch.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexBibTeX.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3424,9 +3430,15 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexDMIS.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexDiff.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexECL.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexEDIFACT.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexEScript.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3436,6 +3448,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexErlang.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexErrorList.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexFlagship.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3460,9 +3475,15 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexHex.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexIndent.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexInno.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexJSON.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexKVIrc.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3493,6 +3514,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexMagik.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexMake.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexMarkdown.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3514,13 +3538,13 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexNsis.cxx">
  <Option target="scintilla" />
  </Unit>
- <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOScript.cxx">
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexNull.cxx">
  <Option target="scintilla" />
  </Unit>
- <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOpal.cxx">
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOScript.cxx">
  <Option target="scintilla" />
  </Unit>
- <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOthers.cxx">
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOpal.cxx">
  <Option target="scintilla" />
  </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexPB.cxx">
@@ -3553,6 +3577,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexProgress.cxx">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexProps.cxx">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexPython.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3826,6 +3853,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/src/PerLine.h">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/src/Position.h">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/src/PositionCache.cxx">
  <Option target="scintilla" />
  </Unit>
@@ -3856,6 +3886,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/src/Selection.h">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/src/SparseVector.h">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/src/SplitVector.h">
  <Option target="scintilla" />
  </Unit>
@@ -3874,6 +3907,9 @@
  <Unit filename="sdk/wxscintilla/src/scintilla/src/UnicodeFromUTF8.h">
  <Option target="scintilla" />
  </Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/src/UniqueString.h">
+ <Option target="scintilla" />
+ </Unit>
  <Unit filename="sdk/wxscintilla/src/scintilla/src/ViewStyle.cxx">
  <Option target="scintilla" />
  </Unit>
diff --git a/src/sdk/wxscintilla/src/ScintillaWX.cpp b/src/sdk/wxscintilla/src/ScintillaWX.cpp
index 4c89076b3..10378c661 100644
--- a/src/sdk/wxscintilla/src/ScintillaWX.cpp
+++ b/src/sdk/wxscintilla/src/ScintillaWX.cpp
@@ -734,7 +734,7 @@ bool ScintillaWX::CreateSystemCaret() {
     delete [] bits;
     BOOL retval = ::CreateCaret(GetHwndOf(stc), sysCaretBitmap,
                                 sysCaretWidth, sysCaretHeight);
-    ::ShowCaret(GetHwndOf(sci));
+    ::ShowCaret(GetHwndOf(stc));
     return retval != 0;
 #else
     return false;
@@ -745,7 +745,7 @@ bool ScintillaWX::DestroySystemCaret() {
 #ifdef __WXMSW__
     if (sysCaretBitmap)
     {
-        ::HideCaret(GetHwndOf(sci));
+        ::HideCaret(GetHwndOf(stc));
         BOOL retval = ::DestroyCaret();
         if (sysCaretBitmap) {
             ::DeleteObject(sysCaretBitmap);
diff --git a/src/sdk/wxscintilla/src/wxscintilla.cpp b/src/sdk/wxscintilla/src/wxscintilla.cpp
index 07de6b3ae..fa6cd7c9e 100644
--- a/src/sdk/wxscintilla/src/wxscintilla.cpp
+++ b/src/sdk/wxscintilla/src/wxscintilla.cpp
@@ -110,7 +110,7 @@ DEFINE_EVENT_TYPE( wxEVT_SCI_MARGINCLICK );
 DEFINE_EVENT_TYPE( wxEVT_SCI_NEEDSHOWN );
 DEFINE_EVENT_TYPE( wxEVT_SCI_PAINTED );
 DEFINE_EVENT_TYPE( wxEVT_SCI_USERLISTSELECTION );
-DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
+//DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
 DEFINE_EVENT_TYPE( wxEVT_SCI_DWELLSTART );
 DEFINE_EVENT_TYPE( wxEVT_SCI_DWELLEND );
 DEFINE_EVENT_TYPE( wxEVT_SCI_START_DRAG );
@@ -5271,6 +5271,7 @@ void wxScintilla::AppendTextRaw(const char* text, int length)
 }
 
 #if WXWIN_COMPATIBILITY_3_0
+#if 0
 // Deprecated since Scintilla 3.7.2
 void wxScintilla::UsePopUp(bool allowPopUp)
 {
@@ -5284,6 +5285,7 @@ void wxScintilla::StartStyling(int start, int unused)
 
         SendMsg(SCI_STARTSTYLING, start, unused);
 }
+#endif // 0
 #endif // WXWIN_COMPATIBILITY_3_0
 
 //----------------------------------------------------------------------


The cbp file's patch is just generated from you changes against CodeBlocks-unix.cbp.
I have to comment the line
Code
+//DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
Because this is defined in the wx3.1, thus it cause conflict.

I have also comment out the two function body
Code
void wxScintilla::UsePopUp(bool allowPopUp)
void wxScintilla::StartStyling(int start, int unused)
Because they also cause build error.

Simple test the build C::B don't cause any issue.

But I see a lot of warnings like:
Code
sdk\wxscintilla\include/wx/wxscintilla.h:5613:51: warning: 'wxEVT_SCI_KEY' is deprecated: Don't handle wxEVT_SCI_KEY. It's never generated. [-Wdeprecated-declarations]
Title: Re: Scintilla 3.7.5 update
Post by: ollydbg on August 19, 2017, 10:41:02 am
Question: at svn rev9896, some timers were added, I'm not sure those timers are still needed. I download a Scintilla 3.7.6 source code, and I see some platform like ScintillaWin, ScintillaGTK are still have those timers. (FineTickerAvailable() function get overwrite by those platforms, and return true)

But from the document here: Scintilla and SciTE (http://www.scintilla.org/ScintillaHistory.html)

Quote
Release 4.0.0

    Released 16 August 2017.
    This is an unstable release with changes to interfaces used for lexers and platform access. Some more changes may occur to internal and external interfaces before stability is regained with 4.1.0.
    Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer.
    Support dropped for GTK+ versions before 2.24.
    The lexer interfaces ILexer and ILexerWithSubStyles, along with additional style metadata methods, were merged into ILexer4. Most lexers will need to be updated to match the new interfaces.
    The IDocumentWithLineEnd interface was merged into IDocument.
    The platform layer interface has changed with unused methods removed, a new mechanism for reporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods.
Those timers are deleted in 4.0.0?
Title: Re: Scintilla 3.7.5 update
Post by: Jenna on August 20, 2017, 10:15:18 am
Those timers are deleted in 4.0.0?
I did not look into the code, but we talk about 3.7.5 and not the coming 4.0.0, if I read it correctly. So they might still be needed.
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on August 28, 2017, 06:05:41 pm
I have to comment the line
Code
+//DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
Because this is defined in the wx3.1, thus it cause conflict.

This doesn't make sense. The name of the event in wxwidgets is wxEVT_STC_URIDROPPED, so there is no way for it causes a conflict!

I have also comment out the two function body
Code
void wxScintilla::UsePopUp(bool allowPopUp)
void wxScintilla::StartStyling(int start, int unused)
Because they also cause build error.

What errors?

But I see a lot of warnings like:
Code
sdk\wxscintilla\include/wx/wxscintilla.h:5613:51: warning: 'wxEVT_SCI_KEY' is deprecated: Don't handle wxEVT_SCI_KEY. It's never generated. [-Wdeprecated-declarations]
Can you paste the lines of the build log which mention the uses of these deprecated declarations?
It seems the only place left is editor_hooks.cpp that mentions wxEVT_SCI_KEY.

Question: at svn rev9896, some timers were added, I'm not sure those timers are still needed. I download a Scintilla 3.7.6 source code, and I see some platform like ScintillaWin, ScintillaGTK are still have those timers. (FineTickerAvailable() function get overwrite by those platforms, and return true)
The code in this branch is 99% the same as the code for wxstc in wxwidgets master branch.
They don't use fine timer granularity, so we're not using it also.
I want to keep our version of wxscintilla as close as the one in wxwidgets, so we could borrow code more easily.
As far as I know something changed in 3.6 that broke our implementation of the timers.
Morten knows more about this problem. So if he has time he could explain what should be done about these.

But from the document here: Scintilla and SciTE (http://www.scintilla.org/ScintillaHistory.html)

Quote
Release 4.0.0 ....
We don't care for 4.x.x at the moment. It requires c++14 or 17 compiler and we can't use those because we need to support old linux distros.
For the next few years we'll be stuck to use only 3.x releases if there are more of them, which isn't very likely.

p.s. can someone provide patches for the other version of the codeblocks*.cbp files?
Title: Re: Scintilla 3.7.5 update
Post by: BlueHazzard on August 28, 2017, 10:31:09 pm
i made all changes like ollydbg:
https://github.com/bluehazzard/codeblocks_sf/tree/scintilla_3_7_5

including:
Quote
I have to comment the line
Code: [Select]

+//DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );

Because this is defined in the wx3.1, thus it cause conflict.
Title: Re: Scintilla 3.7.5 update
Post by: ollydbg on September 07, 2017, 03:44:43 am
A discussion about the timers in wx is here: What is the reason that the STC(wxStyledTextCtrl) doesn't use FineTicker Timers? - Google Groups (https://groups.google.com/forum/#!topic/wx-users/HCEVlu-oFU4)
Title: Re: Scintilla 3.7.5 update
Post by: New Pagodi on September 07, 2017, 06:35:21 am
Hi.  I was pointed to this thread by the discussion linked above.  I can explain some of the problems mentioned above.

For StartStyling, somewhere between the scintilla 3.6 releases and 3.7 releases, the signature to the the was changed from

Code
# Set the current styling position to pos and the styling mask to mask.
# The styling mask can be used to protect some bits in each styling byte from modification.
fun void StartStyling=2032(position pos, int mask)

To

Code
# Set the current styling position to start.
# The unused parameter is no longer used and should be set to 0.
fun void StartStyling=2032(position start, int unused)

Likewise, for the UsePopUp, the signature was changed from

Code
# Set whether a pop up menu is displayed automatically when the user presses
# the wrong mouse button.
fun void UsePopUp=2371(bool allowPopUp,)

to

Code
# Set whether a pop up menu is displayed automatically when the user presses
# the wrong mouse button on certain areas.
fun void UsePopUp=2371(int popUpMode,)

The change was made to allow popups to shown only if the mouse is clicked over the text portion of the window.  The discussion on Trac about these things and a few other items that came up during the upgrade is available here (https://trac.wxwidgets.org/ticket/17705).

The reason some of the events are causing deprecation warnings is due to the fact that they were defined for wxSTC, but none of the code ever generated them.  It was decided to add those warnings to point out that handling those events won't ever do anything.  The discussion about that issue can be seen here (https://trac.wxwidgets.org/ticket/17688).
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on September 07, 2017, 09:37:08 am
New Pagodi:
Thanks for the comment. I know why you've done all the changes.
And I'll commit a patch that removes all 3.0 compatible code from codeblocks, because we don't care for this compatibility.
I've posted my comment before doing thorough research, so some parts of it are invalid.
Title: Re: Scintilla 3.7.5 update
Post by: New Pagodi on September 14, 2017, 02:11:15 am
I've submitted a ticket (https://trac.wxwidgets.org/ticket/17949) to add the FineTicker* methods to wxSTC. 
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on September 14, 2017, 09:23:11 am
Yes, I saw. I'm following it. Thanks.
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on February 26, 2018, 10:05:01 pm
Can you do some final testing:

The latest changes:
1. fix windows builds (wx3.1.1 requires a patch for uxtheme see the ticket section on sf.net for a patch)
2. apply all changes from wx-master related to scintilla: we have the fine timers, direct-write support (not enabled, but works), and more.

The changes could be found in the branch: https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_7_5
The branch has been force-pushed, so if you have changes against it you might suffer a bit. Read about git rebase --onto.

I've also spent some time to restore some of our old patches which I've not applied after the initial upgrade to 3.7.5. I'm testing without them for quite a while on linux+wx28 and I don't think they are required.
A branch with changes could be found here: https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_7_5_random_experiments
It is rebased on top of the main branch scintilla branch, so testing should be relatively easy.

Some comments about the patches that I've skipped:
1. most of the patches seems redundant.
2. the one changing the wxSCIListBox breaks things badly (see the "temp: revert reparent removal")
3. No idea why we need "38cf8e6 - wxscintilla patch: Transparency fixes"
4. Nor "81e00eb - wxscintilla patch: Drawing changes related to bitmaps"
5. "bc5b21d - temp: rect selection copy/paste" seems also unneeded and inferior to the implementation in wx-master. The one in wx-master makes it possible to rect-select copy in cb and then paste in notepad++. Our version doesn't. I don't have Visual Studio to try it, VS Code doesn't work.
6. "f88a7d5 - wxscintilla patch: Rectangular drag&drop" this works only in single editor. Some work need to be done to make it possible to drag-drop between two editor tabs or even between cb and notepad++

It will be good if more people could test these two branches, so we could commit the new version in master/trunk soon.



Title: Re: Scintilla 3.7.5 update
Post by: BlueHazzard on February 27, 2018, 12:05:58 am
Is the final goal to use the wx integrated scintilla component? Is this even possible?

i can test this on windows
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on February 27, 2018, 12:56:07 am
No it is not a goal, neither is possible to do.
We need to have at least the wxsmith lexer patch applied.
We have also the changebar patch applied.

But keeping wxscintilla and wxstc in sync will make it easier to upgrade in the future (far away future).
Title: Re: Scintilla 3.7.5 update
Post by: MortenMacFly on February 27, 2018, 09:07:51 am
Is the final goal to use the wx integrated scintilla component? Is this even possible?
We could switch to this component but will face major 2 drawbacks
1.) Updates will come late
2.) Out modifications (e.g. changebar) are lost.

One major drawback I see is that we will loose the wxSmith related patches / changes unless we customise wxWidgets itself. I don't like that to be honest. However, the current C::B Scintilla is really old and the structure of Scintilla has changes a lot since then so it will be definitely some effort to re-integrate our patches into the current Scintilla.

If the update to v3.7.5 is a step towards an update I propose to do it.
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on February 27, 2018, 10:51:59 am
The list of changes we have to the core scintilla isn't too big.
The two are the changebars and the wxsmith stuff. These two are separated in two commits.

We have more changes in the wx part, but most of these doesn't seem required. At least on linux.

@Morten: Should I commit my changes or wait a bit for you to do some testing on windows?
Title: Re: Scintilla 3.7.5 update
Post by: BlueHazzard on February 27, 2018, 04:36:00 pm
This bug is still present: https://sourceforge.net/p/codeblocks/tickets/583/
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on February 27, 2018, 07:42:32 pm
Good to know, but it is not a show stopper.
Which branch are you testing the one with all the patches or the one without them?
Title: Re: Scintilla 3.7.5 update
Post by: BlueHazzard on February 27, 2018, 09:08:05 pm
Which branch are you testing the one with all the patches or the one without them?
https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_7_5
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on March 15, 2018, 01:34:21 am
Scintilla 3.7.5 is in trunk now. Most of the patches that doesn't seem needed have not been added.
I'm running with this version for quite a while and I've not seen regressions.

The big new feature is better multiple cursors. Pasting with multiple cursors work pretty well.
Soon I hope to add code-completion with multiple cursors.

Let me know if you find problems with the editor.
Title: Re: Scintilla 3.7.5 update
Post by: gd_on on March 15, 2018, 10:24:18 am
I tried to build svn 11335 (full rebuild) on Win 7, but I have several problems :
I use the standard .cbp files distributed and working svn 11319 versions of C::B.
with tdm gcc 4.9.2 and wxwidgets 2.8.12 in 32 bits :
Code
||=== Générer : default dans FileManager Plugin wx2.8.x (compilateur : GNU GCC Compiler) ===|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FileManager\FileExplorerUpdater.cpp||In member function 'bool FileExplorerUpdater::GetCurrentState(const wxString&)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FileManager\FileExplorerUpdater.cpp|221|warning: unused variable 'is_cvs' [-Wunused-variable]|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FileManager\FileExplorerUpdater.cpp|222|warning: variable 'is_git' set but not used [-Wunused-but-set-variable]|
||=== Générer : default dans FortranProject (compilateur : GNU GCC Compiler) ===|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FortranProject\constrhighlighter.cpp||In member function 'void ConstrHighlighter::DoWork(cbEditor*, FortranSourceForm)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FortranProject\constrhighlighter.cpp|308|error: 'wxSCI_INDIC_HIGHLIGHT' was not declared in this scope|
||=== Génération de terminé : 1 erreur(s), 29 avertissement(s) (6 minute(s), 17 seconde(s)) ===|

always with gcc 4.9.2 but wxwidgets 3.0.3 in 32 bits :
Code
||=== Générer : sdk dans Code::Blocks wx3.0.x (compilateur : GNU GCC Compiler) ===|
.objs30\sdk\configmanager-revision.o:configmanager-revision.cpp:(.text$_ZN20wxObjectEventFunctorD1Ev[__ZN20wxObjectEventFunctorD1Ev]+0xa)||undefined reference to `wxEventFunctor::~wxEventFunctor()'|
.objs30\sdk\configmanager-revision.o:configmanager-revision.cpp:(.text$_ZN20wxObjectEventFunctorD0Ev[__ZN20wxObjectEventFunctorD0Ev]+0xd)||undefined reference to `wxEventFunctor::~wxEventFunctor()'|
||error: ld returned 1 exit status|
||=== Génération de échoué : 3 erreur(s), 0 avertissement(s) (1 minute(s), 58 seconde(s)) ===|


always with gcc 4.9.2 but wxwidgets 3.0.3 in 64 bits (apparently same problem as with wxWidgets 2.8.12 in 32 bits) :
Code
||=== Générer : default dans FortranProject wx3.0.x (64 bit) (compilateur : GNU GCC Compiler) ===|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FortranProject\constrhighlighter.cpp||In member function 'void ConstrHighlighter::DoWork(cbEditor*, FortranSourceForm)':|
C:\Users\Gerard\Documents\CodeBlocks_SVN\CodeBlocks_src\src\plugins\contrib\FortranProject\constrhighlighter.cpp|308|error: 'wxSCI_INDIC_HIGHLIGHT' was not declared in this scope|
||=== Génération de terminé : 1 erreur(s), 4 avertissement(s) (12 minute(s), 57 seconde(s)) ===|


My previous builds are svn 11319, no such problems.

gd_on

Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on March 15, 2018, 10:28:38 am
The first and third error are the same...
The second one is strange...
Title: Re: Scintilla 3.7.5 update
Post by: gd_on on March 15, 2018, 10:50:39 am
May be the second error can be ignored because I have not built wxwidgets 3.0.3 in 32 bits and corresponding C::B for a while.
I use essentially wxwidgets 2.8.12 in 32 bits and corresponding C::B and sometimes wxwidgets 3.0.3 in 64 bits and corresponding C::B.
gd_on

PS : confirm the second error may be ignored : I had a wrong link in my config, sorry ! After correcting it, I obtain the same error than in other cases (problem un FortranProject plugin)

PS2 : OK if I compile C::B without FortranProject plugin.
         More, I can apparently use the previous compiled FortranProject plugin (with svn 11319), probably because sdk number has not changed !
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on March 15, 2018, 07:58:56 pm
This is not a good idea. But thanks for mentioning this problem.
Title: Re: Scintilla 3.7.5 update
Post by: oBFusCATed on March 15, 2018, 10:53:20 pm
@darmar: Can you apply this patch to FortranProject?

Code
Index: constrhighlighter.cpp
===================================================================
--- constrhighlighter.cpp       (revision 186)
+++ constrhighlighter.cpp       (working copy)
@@ -305,7 +305,7 @@
         return;

     control->SetIndicatorCurrent(m_IndicFound);
-    control->IndicatorSetStyle(m_IndicFound, wxSCI_INDIC_HIGHLIGHT);
+    control->IndicatorSetStyle(m_IndicFound, wxSCI_INDIC_ROUNDBOX);
     if (foundFull)
         control->IndicatorSetForeground(m_IndicFound, m_FullColour);
     else

wxSCI_INDIC_ROUNDBOX seems to produce this same visuals as the wxSCI_INDIC_HIGHLIGHT.
I'd prefer if I don't have to resurrect the wxSCI_INDIC_HIGHLIGHT patch for scintilla/wxscintilla.
Title: Re: Scintilla 3.7.5 update
Post by: gd_on on March 16, 2018, 09:27:49 am
svn 11337 looks OK, without and with your proposed patch. So waiting for Darmar advice.
Thanks.
gd_on
Title: Re: Scintilla 3.7.5 update
Post by: darmar on June 03, 2018, 03:16:58 pm
I just updated FortranProject code to use wxSCI_INDIC_ROUNDBOX indicator style.

@oBFusCATed, @gd_on: sorry for the late response. I am not very active in reading every post. Better drop a personal message in such situations.