19169 Debugging World>>doOneCycleNowFor: induces debugger MNU (was Re: Intro to Microsoft COM for Smalltalkers)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

19169 Debugging World>>doOneCycleNowFor: induces debugger MNU (was Re: Intro to Microsoft COM for Smalltalkers)

Ben Coman
On Mon, Oct 3, 2016 at 7:08 PM, Denis Kudriashov <[hidden email]> wrote:

> Hi Ben.
>
> 2016-10-03 12:37 GMT+02:00 Ben Coman <[hidden email]>:
>>
>> A further curiousity occurs to me.  With this being executed 20 times
>> a second or more, how can the active hand ever be anything other than
>> the primary hand?
>> Why isn't the active hand stored, all hands cycled through processing
>> events, then the active hand restored??
>
>
> Previous version of method was also with nil at the end:
>
> self handsDo: [:h |
> ActiveHand := h.
> h processEvents.
> ActiveHand := nil
> ].
>
> Could you try your test on previous version of Pharo?
>

It happens in...
* 60246 - MNU #releaseKeyboardFocus: in GLMPagerPanePreviewMorph(Morph)>>delete
                up stack from GTGenericStackDebugger>>updateBrowser
* 50760 - MNU #releaseKeyboardFocus: in GLMPagerPanePreviewMorph(Morph)>>delete
                up stack from GTGenericStackDebugger>>updateBrowser
* 40626 - MNU #newKeyboardFocus:  in NewList(Morph)>>takeKEyboardFocus
                up stack from SpecDebugger>> updateReceiverInspectorFromContext:

Must just be a rarely-debugged corner of the system.

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: 19169 Debugging World>>doOneCycleNowFor: induces debugger MNU (was Re: Intro to Microsoft COM for Smalltalkers)

Denis Kudriashov
So it is not related to Ronie changes which is good because they are main step for multi windows support

2016-10-03 13:44 GMT+02:00 Ben Coman <[hidden email]>:
On Mon, Oct 3, 2016 at 7:08 PM, Denis Kudriashov <[hidden email]> wrote:
> Hi Ben.
>
> 2016-10-03 12:37 GMT+02:00 Ben Coman <[hidden email]>:
>>
>> A further curiousity occurs to me.  With this being executed 20 times
>> a second or more, how can the active hand ever be anything other than
>> the primary hand?
>> Why isn't the active hand stored, all hands cycled through processing
>> events, then the active hand restored??
>
>
> Previous version of method was also with nil at the end:
>
> self handsDo: [:h |
> ActiveHand := h.
> h processEvents.
> ActiveHand := nil
> ].
>
> Could you try your test on previous version of Pharo?
>

It happens in...
* 60246 - MNU #releaseKeyboardFocus: in GLMPagerPanePreviewMorph(Morph)>>delete
                up stack from GTGenericStackDebugger>>updateBrowser
* 50760 - MNU #releaseKeyboardFocus: in GLMPagerPanePreviewMorph(Morph)>>delete
                up stack from GTGenericStackDebugger>>updateBrowser
* 40626 - MNU #newKeyboardFocus:  in NewList(Morph)>>takeKEyboardFocus
                up stack from SpecDebugger>> updateReceiverInspectorFromContext:

Must just be a rarely-debugged corner of the system.

cheers -ben