[haiku-appserver] Re: BScreen support

  • From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Wed, 04 May 2005 15:30:28 +0300

Stefano Ceccherini wrote:
> BTW, I have a question for you:
> With my latest changes it's now possible to change the video mode with 
> BScreen::SetMode()
  from the client side. Though, when changing the video mode, I get a crash 
from RootLayer.
  That's because, I guess, I need to lock something before setting the mode. Am 
I right ?
  I couldn't find any hint in the code.
> 

        All commands that affect the visible regions must be executed from 
RootLayer's
thread context. When rebuilding regions, again, that must be done from 
RootLayer's thread
context. The solution: redirect this message to RT thread and add a handler for 
it.
        Locking RootLayer is not a solution, that must be kept to a minimum (2 
such
situations ATM).
        (see GoInvalidate() as an example)

bye,
Adi.

Other related posts: