Hi Stephan, Stephan Assmus wrote: >> It is simple. If it doesn't work, that's another problem... >>GetRootLayer()->GoRedraw(cl, reg) should've worked in this case. > > I think the problem is that SendUpdateMsg() is not called for the > client if a layer is not the top layer. Yup, that's exactly the problem. :-) Glad you got that one out. :-) I think you realized why messages are sent for top_view only. :-) However, I simply forgot to take into account that GoRedraw() may be called with an usual Layer. Sorry for the inconvenience. I will fix in no time. > That part was clear to me (and I understand why it works that way), but > there is also Layer::Redraw(), Layer::RequestRedraw() and probably even > more... :-} :-P > Yeah, I tried to follow that. The main problem was all these clipping > regions with completely obscure names. They give no hint what they are > used for. Well, maybe you're right. fVisible - is the actual visible region of a layer fFullVisible - is the visible region of a layer + all the visible regions of all layers that it contains (the whole tree). fFull - is the region equal to layer's bounds + client specified clipping regions BView::ConstrainClippingRegion(). (this how the Layer's visible region would look like if it would be completely visible and have no children) fVisible + fFullVisible == fFull if the Layer is entirely visible. > Thank you, if this thing works, I think we can have a first couple of > apps running under Haiku, and when you push a button, you will see it > redraw... Nice. > moment.) So the focus can be on cient <-> app_server communication and > the interface kit actually working (to a reasonable degree). I must finish my work on window manager. In big tasks, all I have left is to implement BWindow::SetFeel() and solve a bug relating to B_MODAL_APP windows. Talking about small tasks, I have to implement support for all BWindow::Flags(), window allignment, etc. :-) But those are not urgent issues. bye, Adi.