]> git.eshelyaron.com Git - emacs.git/commit
Use a single global lock for the child frame state on Haiku
authorPo Lu <luangruo@yahoo.com>
Fri, 31 Dec 2021 09:31:27 +0000 (09:31 +0000)
committerPo Lu <luangruo@yahoo.com>
Fri, 31 Dec 2021 09:31:27 +0000 (09:31 +0000)
commitd1fde0ab8ae53b684ff4ba858f1e270bc3ba9db6
treeecbe1b069137190bf014466254955c1e7766b90b
parentc452ffe4c28da21991f1f98007fbe1d66c7e0538
Use a single global lock for the child frame state on Haiku

Each BWindows (and various system callbacks) runs in a separate
thread, so there are very complicated locking semantics that
used to be handled manually.  This changes child frame state to
use a single global lock, which makes things much easier.

* src/haiku_support.cc (child_frame_lock): New variable.
(class EmacsWindow):
(~EmacsWindow):
(Unparent):
(ParentTo):
(MoveChild):
(FrameMoved):
(EmacsHide):
(EmacsShow):
(GetParentWidthHeight):
(OffsetChildRect):
(MakeFullscreen):
(SetUpDoubleBuffering): Use a single lock for controlling access
to child frame state.
src/haiku_support.cc