[interfacekit] Re: async BView::FrameResized()

Stephan Assmus <superstippi@xxxxxx> wrote:
> The simple question: Why is FrameResized() not called directly from 
> BView::_ResizeBy()? Only to have a valid Window()->CurrentMessage()? 
> Or 
> were there other reasons? How could we make sure that using Bounds() 
> in 
> FrameResized() would always equal the width/height argument? Or 
> should 
> assuming that be considered a bug in the client application (provided 
> the 
> same problem exists on R5)?

Looking at our SVN history reveals an answer for that one:
http://svn.berlios.de/viewcvs/haiku?rev=17009&view=rev
http://dev.haiku-os.org/ticket/301

I guess one could work around that differently, but actually, I don't 
see why FrameResized() needs to be called with width/height arguments 
that actually differ from Bounds(). In fact, this is how we call 
FrameResized() in BView when a B_VIEW_RESIZED message arrives:
        FrameResized(fBounds.Width(), fBounds.Height());

IOW:
> Obviously, if the width/height arguments are 
> not equal to the Bounds() width/height, then it will invalidate the 
> wrong 
> parts of the view. This is actually what happens, and I think what I 
> described is the reason for why it happens on Haiku.

That cannot be the reason the way FrameResized() is called.

Bye,
   Axel.


Other related posts: