[squeak-dev] Re: regular Browser still messing the lowerPane
nice
ncellier at ifrance.com
Fri Apr 11 23:31:44 UTC 2008
nice wrote:
> nice wrote:
>> Ah, i thought i got a solution applying mantis patch for
>> DependentsArray, but no, it still bugs from time to time.
>> After some time, the code pane does not occupy the whole window,and/or
>> overlaps with class comments...
>>
>> The problem is located in the method below. Sometimes, no
>> AlignmentMorph will have a layoutFrame bottomFraction = 1.
>> Consequence is that the #browserLowerPane property is then missing,
>> what you can observe by exploring the BrowserCommentTextMorph in the
>> dependents of a broken Browser.
>>
>> If someone want to help tracking, simply add following halt:
>>
>>
>> BrowserCommentTextMorph>>noteNewOwner: win
>> super noteNewOwner: win.
>> self setProperty: #browserWindow toValue: win.
>> win ifNil: [ ^self ].
>> win setProperty: #browserClassCommentPane toValue: self.
>> self setProperty: #browserLowerPane toValue: (win submorphThat: [
>> :m | m isAlignmentMorph and: [ m layoutFrame bottomFraction = 1 ]]
>> ifNone: [
>> self halt: 'DEBUG ME, I JUST LOST MY LOWER PANE'. nil]).
>>
>>
>> Of course, since I added the halt, the bug refused to show up!
>>
>
> Ah got a reliable way to reproduce it!
>
> Select a class so as to show the class comment, collapse the browser,
> expand it, et voila, the halt is encountered...
>
> In SystemWindow>>collapseOrExpand, self addMorph: ...
>
> I suspect (self world startSteppingSubmorphsOf: m) is triggering a
> layout inquiry, and this inquiry is messing the morph layout before all
> sub morphs had a chance to regenerate...
>
> Only a guess...
>
Wrong guess, it was much simpler:
When the BrowserCommentTextMorph is active, then the code AlignmentMorph
bottomFraction is 0.75 not 1...
So, when expanding the window, no AlignmentMorph will have a
bottomFraction = 1.
This is at http://bugs.squeak.org/view.php?id=7012 (and sorry Ken, just
forgot to classify Tools...).
Nicolas
More information about the Squeak-dev
mailing list
|