diff --git a/src/GToolkit-Debugger/GtAbstractExpandableStackElement.class.st b/src/GToolkit-Debugger/GtAbstractExpandableStackElement.class.st index 83da23ce..74fbd670 100644 --- a/src/GToolkit-Debugger/GtAbstractExpandableStackElement.class.st +++ b/src/GToolkit-Debugger/GtAbstractExpandableStackElement.class.st @@ -50,6 +50,7 @@ GtAbstractExpandableStackElement >> buildStackFramesList [ eachCoderElement id: (GtExpandableContextMethodCoderId indexed: eachIndex). eachCoderElement coderViewModel: eachCoderUIModel ]; + "the list is initialized with an empty stream to reuse the same stream items provider" stream: AsyncEmptyStream new ] @@ -104,7 +105,6 @@ GtAbstractExpandableStackElement >> initializeStackList [ | stackFramesList | stackFramesList := self buildStackFramesList. stackFramesList padding: (BlInsets all: 10). - stackFramesList items: OrderedCollection new. self addChild: stackFramesList as: #expandableFrames ] @@ -132,6 +132,7 @@ GtAbstractExpandableStackElement >> openFirstNonFilteredContextFrom: aStream [ | anItemsProvider aPreloadPromise | anItemsProvider := BrStreamItemsProvider new. anItemsProvider stream: aStream. + anItemsProvider executionConfiguration: GtMoldableDebugger defaultFutureExecutionConfiguration. aPreloadPromise := anItemsProvider itemSuchThat: [ :eachCoder | (self shouldJumpOverCoverViewModel: eachCoder) not ] do: [ :anIndex :isSynchronous | diff --git a/src/GToolkit-Debugger/GtMoldableDebugger.class.st b/src/GToolkit-Debugger/GtMoldableDebugger.class.st index f11b057f..c3e45a3f 100644 --- a/src/GToolkit-Debugger/GtMoldableDebugger.class.st +++ b/src/GToolkit-Debugger/GtMoldableDebugger.class.st @@ -32,6 +32,13 @@ GtMoldableDebugger class >> closeAllDebuggers [ self flag: 'Take the new GT debuggers into account'. ] +{ #category : #accessing } +GtMoldableDebugger class >> defaultFutureExecutionConfiguration [ + ^ AsyncFutureExecutionConfiguration new + highPriority; + customGroup: #DebuggerScrollingList +] + { #category : #'settings api' } GtMoldableDebugger class >> defaultLogFileName [ ^ 'PharoDebug.log' diff --git a/src/GToolkit-Debugger/GtPharoStackElement.class.st b/src/GToolkit-Debugger/GtPharoStackElement.class.st index feaf4076..c6972166 100644 --- a/src/GToolkit-Debugger/GtPharoStackElement.class.st +++ b/src/GToolkit-Debugger/GtPharoStackElement.class.st @@ -308,7 +308,10 @@ GtPharoStackElement >> updateIndexes [ GtPharoStackElement >> updateReceiversIndex [ self enqueueTask: (BlTaskAction new - action: [ receiversIndex stream: (self class receiversStreamFor: stackModel) ]) + action: [ + receiversIndex + stream: (self class receiversStreamFor: stackModel) + executionConfiguration: GtMoldableDebugger defaultFutureExecutionConfiguration ]) ] { #category : #updating } @@ -333,7 +336,10 @@ GtPharoStackElement >> updateReceiversIndexTo: aContext [ GtPharoStackElement >> updateStackIndex [ self enqueueTask: (BlTaskAction new - action: [ self stackIndexList stream: stackModel contextStream. + action: [ + self stackIndexList + stream: stackModel contextStream + executionConfiguration: GtMoldableDebugger defaultFutureExecutionConfiguration. self stackIndexList scrollToIndex: 1 ]) ]