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