thanks!

On Oct 12, 2010, at 7:08 PM, Igor Stasenko wrote:

> In Pharo-INBOX
> 
> Name: FreeType-Igor_Stasenko.536
> Author: Igor.Stasenko
> Time: 12 October 2010, 8:07:50 pm
> UUID: fa9746fa-e253-7948-8bab-799ea9fba754
> Ancestors: FreeType-StephaneDucasse.535
> 
> - removed weak registry subclass,
> but preserving the same semantics as before (guard against duplicating 
> handles)
> 
> On 12 October 2010 18:19, Stéphane Ducasse <[email protected]> wrote:
>> yes
>> 
>> 
>> On Oct 12, 2010, at 4:51 PM, Gary Chambers wrote:
>> 
>>> Is in core now I believe.
>>> 
>>> Regards, Gary
>>> 
>>> ----- Original Message ----- From: "Igor Stasenko" <[email protected]>
>>> To: <[email protected]>
>>> Sent: Tuesday, October 12, 2010 2:29 PM
>>> Subject: Re: [Pharo-project] FreeType and finalization
>>> 
>>> 
>>>> I can modify Freetype to not use subclass of weakregistry,
>>>> and still guarantee non-duplication.
>>>> Is Freetype a separate maintained package, or its part of Pharo core?
>>>> 
>>>> 
>>>> On 12 October 2010 16:25, Gary Chambers <[email protected]> wrote:
>>>>> Indeed... never seen that error hence proposal for simplest solution.
>>>>> 
>>>>> Regards, Gary
>>>>> 
>>>>> ----- Original Message ----- From: "Igor Stasenko" <[email protected]>
>>>>> To: <[email protected]>
>>>>> Sent: Tuesday, October 12, 2010 1:21 PM
>>>>> Subject: Re: [Pharo-project] FreeType and finalization
>>>>> 
>>>>> 
>>>>>> 2010/10/12 Gary Chambers <[email protected]>:
>>>>>>> 
>>>>>>> Hi all, I've encountered a problem with FreeType with respect to the new
>>>>>>> finalization scheme.
>>>>>>> http://code.google.com/p/pharo/issues/detail?id=3096
>>>>>>> Regards, Gary
>>>>>>> 
>>>>>> 
>>>>>> FT2HandleRegistry overrides following method:
>>>>>> 
>>>>>> add: anObject
>>>>>> "Add anObject to the receiver. Store the object as well as the
>>>>>> associated executor."
>>>>>> | executor dup |
>>>>>> executor := anObject executor.
>>>>>> dup := nil.
>>>>>> self protected:[
>>>>>> dup := valueDictionary detect: [ :v | v handle = executor handle ]
>>>>>> ifNone: [ ].
>>>>>> valueDictionary at: anObject put: executor.
>>>>>> ].
>>>>>> dup ifNotNil: [ self error: 'Duplicate object added!'. self remove:
>>>>>> anObject ].
>>>>>> ^anObject
>>>>>> 
>>>>>> 
>>>>>> As i see, the intent is to prevent registering a same handle twice,
>>>>>> so in own turn, when time will come, a #finalize won't attempt to
>>>>>> destroy same handle twice.
>>>>>> 
>>>>>> The proposed fix (as you wrote in issue tracker)
>>>>>> 
>>>>>> registry
>>>>>> ^Registry ifNil: [ Registry := WeakRegistry new]
>>>>>> 
>>>>>> appears to fix the problem...
>>>>>> 
>>>>>> But apparently its not the same as in original.
>>>>>> Okay, but since we never seen the error: 'Duplicate object added!',
>>>>>> then i think it may work without it :)
>>>>>> 
>>>>>> Still, it would be good to know, how handles are created, and what the
>>>>>> chances that they could be duplicated.
>>>>>> 
>>>>>> --
>>>>>> Best regards,
>>>>>> Igor Stasenko AKA sig.
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [email protected]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [email protected]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Best regards,
>>>> Igor Stasenko AKA sig.
>>>> 
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> 
>>> 
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> 
>> 
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> 
> 
> 
> 
> -- 
> Best regards,
> Igor Stasenko AKA sig.
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to