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 >>>> >>> >>> >> > > >
