[FIX] (Re: [BUG] Wierd resend behavior)

Todd Fleming todd at flemingcnc.com
Sun Dec 4 15:06:33 PST 2005


Brian Rice wrote:

>> Okay. There is a simple bug in the specific condition code that the  
>> debugger actually signals, and then there's the fact that your  
>> resend is throwing an error in the first place.
>>
>> For the former, I see that my MethodNotFound refactoring to use a  
>> Message object instead of storing the selector and arguments  
>> directly wasn't carried down to its derivative - big oops there,  
>> I'll push up a patch that fixes it and new images.
>
>
> This is now done. Alpha and the slate-current tarball are now updated.

Cool.

> If you call Morph removeSlot: #defaultState /before/ the derivation  
> calls, the resend problem is resolved. If you change the line in  
> morph.slate to:
>
> Morph addDelegate: #defaultState after: #traitsWindow valued:  
> MorphDefaultState.
>
> Then the problem is resolved; this is the kind of thing that inspired  
> the creation of addDelegate:(before/after):valued:. Are you planning  
> on sending in patches to morph.slate? If so, you can just fix that  
> along with whatever else you're doing. Otherwise I'll go ahead and  
> put in a fix for that (and another small fix for text.slate bitrot  
> which I just noticed).


I just added this change to Morph.slate.  Unfortunately it might be 
several weeks before my patches will be ready; I've been really busy lately.

Here's a quick summary of what I'm working on:

1. Yet another SDL adaptor.  This one bitblts from a Form (the bits are 
in the GC heap!) (working).  It also translates events into the UI Event 
hierarchy and sends them to morphs (also working).  It doesn't rely on 
any of the various SDL extension libraries because all of them look 
pathetic to me.  I still have some cleanup to do, but I've tested it 
under both Linux and Windows.

2. A Cairo port (really nice graphics).  It draws directly on Forms in 
the GC heap.  Unfortunately I had to resort to a nasty hack because the 
GC can't lock objects in memory inbetween calls to external libraries.  
This was working a couple hours ago but I managed to mess it up while 
refactoring.  I haven't tested it under Linux yet.

3. Morph additions to support windows and Cairo.

Todd




More information about the Slate mailing list