[haiku-development] Re: Window locking bug?

  • From: "Rene Gollent" <anevilyak@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 18 Mar 2008 17:57:59 -0500

Hi Axel,

I found out what's happening now...it wasn't the window looper that
was the problem (directly). SpaceMonitor seems to have a BStatusBar
subclass that implements double buffered drawing. In the window
constructor it creates this class, and then updates its max value via
BStatusBar::SetMaxValue(); SetMaxValue() then updates the max and
calls Invalidate(), apparently on the not locked offscreen BBitmap's
looper thread. This is what triggers the debugger call. So my question
is...should SetMaxValue() be doing a LockLooper() / UnlockLooper()
around the Invalidate() ? This doesn't seem to crash in R5, and I know
it generally hits the debugger if you do something not lock-safe
there.

Regards,

Rene

Other related posts: