[haiku-appserver] Re: [Haiku-commits] r14621 - haiku/trunk/src/servers/app

  • From: Adi Oanca <adioanca@xxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Thu, 03 Nov 2005 09:38:31 +0200

Axel Dörfler wrote:

Adi Oanca <adioanca@xxxxxxxxx> wrote:

:-) I was talking about focus. You too? :-)


BTW since some days, the app_server redraws *all* windows when one is closed or opened - that's very annoying with menus. Do you have any idea what is causing this?

Yes. :-)
When I introduced the new clipping code from my sandbox app, my primary goal was to make it working. At that moment it was very simple for me to just repaint the entire screen.


        The problem is here:
RootLayer::RevealNewWMState()
{
   ...
#ifndef NEW_CLIPPING
                GoInvalidate(this, fFull);
#else
                do_Invalidate(Bounds());   <<<--- here
#endif
   ...
}

I know about this. The solution is simple. The problem is that these days I took my grandma through hospitals and just didn't find the time to solve this.
Last night I had the chance to sketch 5-6 functions:
MarkDirtyForRebuild(reg);
TriggerRebuild();
MarkDirtyForRedraw(reg);
TriggerRedraw()
(1 or 2 others are private)
so that this and the simpleness of region rebuild and redraw be solved.
NOTE that I couldn't combine the 2 operations (rebuild and redraw)for various reasons (the region being rebuilt is sometimes smaller than the one needing redraw; sometimes we just need a redraw without region rebuilding, etc.).
But still, this looks pretty simple to me. :-)
Does it for you?



I'm really sorry for the inconveniences, I just forgot about this problem.

bye,
Adi.

Other related posts: