diff --git a/app/src/gambas3/.project b/app/src/gambas3/.project index cb9005a6c..a1a6b9d2c 100644 --- a/app/src/gambas3/.project +++ b/app/src/gambas3/.project @@ -31,7 +31,7 @@ Component=gb.signal Description="Integrated Development Environment for Gambas" Authors="Benoît Minisini\nFabien Bodard\nCharlie Reinl\nJosé Luis Redrejo\nRobert Rowe\nTobias Boege" Arguments=[["-L"],["-t","/home/benoit/gambas/git/master/app/src/gambas3"],["--help"]] -Environment="GB_GUI=gb.qt5\n GTK_DEBUG=interactive" +Environment="GB_GUI=gb.gtk3\n GTK_DEBUG=interactive" TabSize=2 Translate=1 Language=en diff --git a/app/src/gambas3/.src/Project.module b/app/src/gambas3/.src/Project.module index bf141e94d..3c3f66761 100644 --- a/app/src/gambas3/.src/Project.module +++ b/app/src/gambas3/.src/Project.module @@ -2543,6 +2543,12 @@ Public Function Compile(Optional bAll As Boolean, Optional bNoDebug As Boolean, Shell sExec Wait Endif + If Process.LastState = Process.Crashed Or If Process.LastValue > 128 Then + UnlockIt() + Message.Error(("

The compiler has crashed!

\nPlease report it to the Gambas bugtracker at:\n\nhttps://gambaswiki.org/bugtracker\n\nDo not forget to provide the full project so that the crash can be reproduced.")) + Return True + Endif + bGotError = Process.LastValue sOutput = Trim(File.Load(OUTPUT_FILE)) diff --git a/app/src/gambas3/.src/Search/CSearchResult.class b/app/src/gambas3/.src/Search/CSearchResult.class index a889f027a..fc74138dc 100644 --- a/app/src/gambas3/.src/Search/CSearchResult.class +++ b/app/src/gambas3/.src/Search/CSearchResult.class @@ -15,33 +15,19 @@ Public (Highlight) As String Public RichText As String Public Location As String -'Private $sWhere As String +Public Sub InitFromLine(sLine As String) As Boolean -' Public Sub GetLocation() As String -' -' Dim hFile As Object -' Dim sPath As String -' -' sPath = Project.Dir &/ Path -' -' If Not Project.IsSourcePath(sPath) Then Return -' If $sWhere Then Return $sWhere -' -' $sWhere = "-" -' Try hFile = Project.LoadFile(sPath) -' If hFile Then -' If hFile Is FEditor Or If hFile Is FTextEditor Then -' $sWhere = hFile.GetProcAt({Line}) -' If Not $sWhere Then $sWhere = ("(Declarations)") -' Else If hFile Is FForm Then -' $sWhere = hFile.GetLocation({Line}) -' Endif -' Endif -' Return $sWhere -' -' Catch -' -' $sWhere = "?" -' Return $sWhere -' -' End + Dim aResult As String[] + + aResult = Split(sLine, ":") + + {Line} = CInt(aResult[0]) + Pos = CInt(aResult[1]) + Bytes = CInt(aResult[2]) + Length = CInt(aResult[3]) + +Catch + + Return True + +End diff --git a/app/src/gambas3/.src/Search/FSearch.class b/app/src/gambas3/.src/Search/FSearch.class index 166dde943..ae71e54f7 100644 --- a/app/src/gambas3/.src/Search/FSearch.class +++ b/app/src/gambas3/.src/Search/FSearch.class @@ -1360,7 +1360,6 @@ Public Sub timFillList_Timer() Dim sLine As String Dim hResult As CSearchResult - Dim aResult As String[] Dim hFile As Object Dim fTimer As Float Dim iPos As Integer @@ -1428,13 +1427,13 @@ Public Sub timFillList_Timer() If Not hFile Then Continue hResult = New CSearchResult - aResult = Split(sLine, ":") hResult.Path = $sTaskPath hResult.File = hFile.Name - hResult.Line = CInt(aResult[0]) - hResult.Pos = CInt(aResult[1]) - hResult.Bytes = CInt(aResult[2]) - hResult.Length = CInt(aResult[3]) + + If hResult.InitFromLine(sLine) Then + Error "gambas3: warning: incorrect search result: "; sLine + Continue + Endif If hFile.SetPosition(hResult, True) Then Continue