[Pharo-project] Hack to make mac menus work in post pharo0.1-10284dev09.04.4

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Wed Apr 22 03:29:28 EDT 2009


It is because InputEventFectcher does not take care to stop the fetcherProcess.
I think it should:

InputEventFectcher >>shutDown
	fetcherProcess ifNotNil: [fetcherProcess terminate].
	inputSemaphore ifNotNil: [Smalltalk unregisterExternalObject: inputSemaphore]

At least, it should do it on deinstall...

When you will close the debugger though, the fetcherProcess should be
terminated.
You can then proceed normally.

-------------------------------------

I don't care either, just want to provide a temporary fix until new
framework is a little bit more functional.
IMO, it has been adopted too soon, and we should better revert
temporarily with such a hack.
There not much to learn from the flow of complaints and we should
better reduce this negative feedback.

Nicolas

2009/4/21 Mariano Martinez Peck <marianopeck at gmail.com>:
>
>
> On Tue, Apr 21, 2009 at 7:52 PM, Nicolas Cellier
> <nicolas.cellier.aka.nice at gmail.com> wrote:
>>
>> In the interim, you can try to re-install an old Sensor, like:
>>
>> InputEventFetcher deinstall.
>> EventSensor install.
>> Smalltalk addToShutDownList: Sensor class.
>> Smalltalk addToStartUpList: Sensor class.
>
> Actually, I don't need it for my "real work". I mean, I can use another
> image that works ok. I was just trying to colaborate as a beta tester.
>
> Anyway, what you told me give me a walkback.
>
> Thanks for the help,
>
> Mariano
>
>
>
> MessageNotUnderstood: EventSensor>>handleEvent:
> 21 April 2009 5:56:37 pm
>
> VM: Win32 - a SmalltalkImage
> Image: Pharo0.1 [Latest update: #10289]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir C:\mariano\squeak\pharo0.1-10289dev09.04.5
> Trusted Dir C:\mariano\squeak\pharo0.1-10289dev09.04.5\m.martinez
> Untrusted Dir C:\Documents and Settings\m.martinez\Mis documentos\My Squeak
>
> EventSensor(Object)>>doesNotUnderstand: #handleEvent:
>     Receiver: an EventSensor
>     Arguments and temporary variables:
>         aMessage:     handleEvent: #(1 31548515 278 66 0 0 0 1)
>         exception:     MessageNotUnderstood: EventSensor>>handleEvent:
>         resumeValue:     nil
>     Receiver's instance variables:
>         mouseButtons:     0
>         mousePosition:     0 at 0
>         keyboardBuffer:     a SharedQueue
>         interruptKey:     2094
>         interruptSemaphore:     a Semaphore(a Process in
> EventSensor(InputSensor)>>userInte...etc...
>         eventQueue:     a SharedQueue
>         inputSemaphore:     a Semaphore()
>         lastEventPoll:     31548521
>         hasInputSemaphore:     false
>
> [] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent:
>     Receiver: an InputEventPollingFetcher
>     Arguments and temporary variables:
>         eventBuffer:     an EventSensor
>         handler:     #(1 31548515 278 66 0 0 0 1)
>     Receiver's instance variables:
>         eventHandlers:     an OrderedCollection(an EventSensor an
> UserInterruptHandler)
>         fetcherProcess:     a Process in Debugger
> class>>openOn:context:label:contents:full...etc...
>         inputSemaphore:     a Semaphore()
>
> OrderedCollection>>do:
>     Receiver: an OrderedCollection(an EventSensor an UserInterruptHandler)
>     Arguments and temporary variables:
>         aBlock:     [closure] in
> InputEventPollingFetcher(InputEventFetcher)>>signalEvent:
>         index:     3
>     Receiver's instance variables:
>         array:     an Array(nil nil an EventSensor an UserInterruptHandler
> nil nil nil nil ...etc...
>         firstIndex:     3
>         lastIndex:     4
>
> InputEventPollingFetcher(InputEventFetcher)>>signalEvent:
>     Receiver: an InputEventPollingFetcher
>     Arguments and temporary variables:
>         eventBuffer:     #(1 31548515 278 66 0 0 0 1)
>     Receiver's instance variables:
>         eventHandlers:     an OrderedCollection(an EventSensor an
> UserInterruptHandler)
>         fetcherProcess:     a Process in Debugger
> class>>openOn:context:label:contents:full...etc...
>         inputSemaphore:     a Semaphore()
>
>
> --- The full stack ---
> EventSensor(Object)>>doesNotUnderstand: #handleEvent:
> [] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent:
> OrderedCollection>>do:
> InputEventPollingFetcher(InputEventFetcher)>>signalEvent:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> InputEventPollingFetcher(InputEventFetcher)>>eventLoop
> [] in InputEventPollingFetcher>>installEventLoop
> [] in BlockClosure>>newProcess
>
>
>
>>
>> No guaranty
>>
>>
>> 2009/4/21 Mariano Martinez Peck <marianopeck at gmail.com>:
>> >
>> >
>> > On Tue, Apr 21, 2009 at 7:15 PM, Nicolas Cellier
>> > <nicolas.cellier.aka.nice at gmail.com> wrote:
>> >>
>> >> Try alt+c alt+x alt+v
>> >
>> > :)  yes, this works.  Also alt + b to browse a class
>> >
>> > However, there are others that still doesn't work: shift + arrows to
>> > select
>> > text for example.
>> >
>> > Thanks!
>> >
>> > Mariano
>> >
>> >>
>> >> Nicolas
>> >>
>> >> 2009/4/21 Mariano Martinez Peck <marianopeck at gmail.com>:
>> >> >
>> >> >
>> >> > On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger at acm.org>
>> >> > wrote:
>> >> >>
>> >> >> Mariano Martinez Peck wrote:
>> >> >> > Should this fix work also for Linux ? I tried it but the copy past
>> >> >> > still
>> >> >> > doesn't work.
>> >> >>
>> >> >> The fix is not related to Linux.
>> >> >> Do other short cuts work?
>> >> >
>> >> > No. No shortcut si working. I tried ctrl + b to browse, ctrl + x,
>> >> > ctrl +
>> >> > c,
>> >> > ctrl + v, ctrl + w, select text shift + arrows.
>> >> >
>> >> > Swap mouse preference doesn't work also.
>> >> > I am using pharo0.1-10289dev09.04.5 in Ubuntu  8.10 and last exupery
>> >> > (with
>> >> > closure) vm.
>> >> >
>> >> > Thanks,
>> >> >
>> >> > Mariano
>> >> >
>> >> >>
>> >> >> Which distribution are you using?
>> >> >>
>> >> >> Michael
>> >> >>
>> >> >> _______________________________________________
>> >> >> Pharo-project mailing list
>> >> >> Pharo-project at lists.gforge.inria.fr
>> >> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > Pharo-project mailing list
>> >> > Pharo-project at lists.gforge.inria.fr
>> >> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >> >
>> >>
>> >> _______________________________________________
>> >> Pharo-project mailing list
>> >> Pharo-project at lists.gforge.inria.fr
>> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >
>> >
>> > _______________________________________________
>> > Pharo-project mailing list
>> > Pharo-project at lists.gforge.inria.fr
>> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project at lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>




More information about the Pharo-dev mailing list