[haiku-commits] Re: haiku: hrev45852 - in src: apps/deskcalc kits/shared

  • From: John Scipione <jscipione@xxxxxxxxx>
  • To: "haiku-commits@xxxxxxxxxxxxx" <haiku-commits@xxxxxxxxxxxxx>
  • Date: Sun, 14 Jul 2013 16:40:02 -0400

On Sunday, July 14, 2013, Axel Dörfler wrote:

> On 07/13/2013 10:47 PM, John Scipione wrote:
>
>> If I keep the B_FULL_UPDATE_ON_RESIZE flag but don't Invalidate() in
>>>> FrameResized() it redraws the view before FrameResized() gets called
>>>> so the view gets drawn on resize, but incorrectly.
>>>>
>>> [...]
>
>> Okay, I have made a small test program and ran it on both BeOS R5 and
>> Haiku. Haiku is definitely NOT compatible. With the
>> B_FULL_UPDATE_ON_RESIZE flag set on the view BeOS R5 calls Draw() then
>> FrameResized() while Haiku calls FrameResized() and then Draw().
>>
>
> You do realize that your original statement suggests the opposite? In that
> light you should just remove the Invalidate() in FrameResized(), and add
> the full-update-on-resize flag again.


If I did that, it would not draw the keypad correctly at least not all the
time. I may have been wrong about the order. It seems like app server does
not call Draw() some of the time, just FrameResized() which is why calling
Invalidate() works around the problem.


> In any case, calling FrameResized() before Draw() is the way to go, no
> matter what BeOS did there, as Stippi pointed out.
>

Well that is a relief. Although this is a pretty important difference and
should be noted somewhere. I was hoping this accounted for the incorrect
drawing I'm seeing but it must be something else.

Other related posts: