Slice in inbox.

Cheers,
Andrei

On Tue, Apr 28, 2015 at 5:37 PM, Andrei Chis <[email protected]>
wrote:

> Ok. I'll  make a slice, at latest by tomorrow afternoon.
>
>
> Cheers,
> Andrei
>
> On Tue, Apr 28, 2015 at 4:45 PM, Ben Coman <[email protected]> wrote:
>
>> I was waiting for others to chime in, but they can do that on the issue
>> once code is there to review.  I'd say its worth pushing it through to that
>> point at least. If you do it, I'll review and then we can call for a second
>> reviewer.
>>
>> Actually, semantically the following may be better...
>>
>>     DelayWaitTimeout>>waitOnCompletion:onTimeout:
>>
>> called from...
>>
>>    Semaphore>>waitTimeoutSeconds:onCompletion:onTimeout:
>>
>> cheers -ben
>>
>>
>>
>> On Tue, Apr 28, 2015 at 8:12 PM, Andrei Chis <[email protected]>
>> wrote:
>>
>>> I made an issue:
>>> https://pharo.fogbugz.com/f/cases/15422/SHTextStyler-styleInBackgroundProcess-should-not-set-the-text-if-styling-process-was-terminated
>>>
>>> Then do we add waitTimeoutSeconds:ifSignalled:ifTimedOut: to the
>>> Semaphore class?
>>>
>>> On Mon, Apr 27, 2015 at 6:33 PM, Andrei Chis <[email protected]
>>> > wrote:
>>>
>>>> That would work for me. Styling the text if the process doing the
>>>> styling did not finish or is stuck does not feel as the right thing to do.
>>>>
>>>> On Mon, Apr 27, 2015 at 6:25 PM, Ben Coman <[email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Apr 27, 2015 at 8:41 PM, Andrei Chis <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> In the glamour debugger that we use in moose we are now having the
>>>>>> following problem:
>>>>>>  - the selection of a PluggableTextMorph is, quite randomly , changed
>>>>>> during styling.
>>>>>>
>>>>>> If I revert the fix for issue 15240
>>>>>> <https://pharo.fogbugz.com/f/cases/15240> then it works ok.
>>>>>> Also if I change in SHTextStyler>>#styleInBackgroundProcess:  from
>>>>>>
>>>>>> sem waitTimeoutSeconds: 5.
>>>>>> view ifNotNil: [ view stylerStyledInBackground: text ]
>>>>>>
>>>>>> to:
>>>>>>
>>>>>> (sem waitTimeoutSeconds: 5) ifFalse: [
>>>>>> view ifNotNil: [ view stylerStyledInBackground: text ] ]
>>>>>>
>>>>>> it works ok. In the second snippet we only do the styling if the
>>>>>> styler completed.
>>>>>>
>>>>>>
>>>>>> If I look at the senders of styleInBackgroundProcess: there is
>>>>>> another strange issue.
>>>>>> First PluggableTextMorph>>#setText: calls either style:
>>>>>> or styleInBackgroundProcess:, depending in the size of the text.
>>>>>> Then, PluggableTextMorph>>#setText:
>>>>>> calls PluggableTextMorph>>#setTextBasic:, which calls
>>>>>> PluggableTextMorph>>#hasUnacceptedEdits: which in turn
>>>>>> calls again styleInBackgroundProcess:.
>>>>>> So when you set the text if the size of the text is small Shout will
>>>>>> try to style the text with and without a background process. If you call
>>>>>> hasUnacceptedEdits:
>>>>>> manually when initializing the morph then three processes will be
>>>>>> started for doing the styling.
>>>>>>
>>>>>> Removing the calls to styleInBackgroundProcess: from
>>>>>> PluggableTextMorph>>#hasUnacceptedEdits:  and
>>>>>> PluggableTextMorph>>#basicHasUnacceptedEdits:.
>>>>>> also solves the problem with the changing selection.
>>>>>>
>>>>>> Cheers,
>>>>>> Andrei
>>>>>>
>>>>>
>>>>> Perhaps we should have...
>>>>>
>>>>>    sem
>>>>>         waitTimeoutSeconds: 5
>>>>>         ifSignalled: [ view ifNotNil: [ view stylerStyledInBackground:
>>>>> text ] ]
>>>>>         ifTimedOut: [ "do nothing" ].
>>>>>
>>>>> cheers -ben
>>>>>
>>>>
>>>>
>>>
>>
>>
>>
>

Reply via email to