It was possible that while we started to show the VisualGST window GTK+ would call back into Smalltalk and we would run the Glib dispatch while showing the window. This lead to a timer expiring on a non-fully realized window and leading to a crash inside GTK+/X11.
Run the event loop after we have intitialized all of the VisualGST code. 2014-07-20 Holger Hans Peter Freyther <[email protected]> * scripts/Test.st: Spawn the event loop last. --- ChangeLog | 4 ++++ scripts/Test.st | 11 ++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index db932dd..73738d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-07-20 Holger Hans Peter Freyther <[email protected]> + + * scripts/Test.st: Spawn the event loop last. + 2014-06-21 Holger Hans Peter Freyther <[email protected]> * kernel/RecursionLock.st: Return the result of >>#critical: diff --git a/scripts/Test.st b/scripts/Test.st index 28409bb..20e552d 100644 --- a/scripts/Test.st +++ b/scripts/Test.st @@ -56,12 +56,8 @@ Object subclass: SUnitUnhandledDebugger [ LoadedDebugger := true. PackageLoader fileInPackage: 'VisualGST'. - "Start the event-loop and avoid scope look-ups. This is why - we look-up the class by hand." - [ - ((Smalltalk at: #VisualGST) at: #TaskQueue) uniqueInstance run. - ((Smalltalk at: #GTK) at: #Gtk) main - ] fork. + "Start to run the VisualGST task queue" + ((Smalltalk at: #VisualGST) at: #TaskQueue) uniqueInstance run. ] SUnitUnhandledDebugger class >> keepRunningOnFailure [ @@ -70,7 +66,8 @@ Object subclass: SUnitUnhandledDebugger [ ] SUnitUnhandledDebugger class >> keepRunning [ - Semaphore new wait + Processor activeProcess name: 'Main-loop for SUnit'. + ((Smalltalk at: #GTK) at: #Gtk) main ] ] -- 2.0.1 _______________________________________________ help-smalltalk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-smalltalk
