[haiku-development] Re: BBox and layout

  • From: Alex Wilson <yourpalal2@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 9 May 2012 08:31:55 -0600

On Tue, May 8, 2012 at 8:53 PM, Clemens <clemens.zeidler@xxxxxxxxxxxxxx> wrote:
> On Wed, 09 May 2012 02:08:00 +1200, Alex Wilson <yourpalal2@xxxxxxxxx>
> wrote:
>
>>> Ok I removed fInvalidationDisabled and BLayout::
>>> {Disable|Enable}LayoutInvalidation() from BLayout. Think BLayout is not
>>> the place to decide if it triggers a relayout. This functionality is
>>> only in BView now. However BLayout::InvalidateLayout checks if the
>>> invalidation is disabled in BView. (please take a look at the
>>> attachment)
>>
>> I don't think it's good to remove this functionality across the board,
>> because in a complex layout, you might have many nested layouts, and
>> maybe you wouldn't want changing some of the nested ones to invalidate
>> your main layout. In the case of a layout with an fOwner (see next
>> comment), it is probably reasonable to defer to the BView on
>> invalidation disabledness.
>
>
> Ah ok, the problem is that BView::DisableLayoutInvalidation() does not work
> at the moment. It does not prevent the child layout to be directly
> invalidated. So should BLayout::InvalidateLayout() also check if the layout
> invalidation of the target view is invalidated? Think that would fix the
> problem.

I think that's a good solution :)

Other related posts: