summaryrefslogtreecommitdiff
path: root/src/haiku_support.cc
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2021-12-31 10:59:53 +0000
committerPo Lu <luangruo@yahoo.com>2021-12-31 10:59:53 +0000
commita8c3e8e2a6efa77b38110a9c1fee1ece8d8da4d5 (patch)
tree7f6ff5dece518a901481f1deb77ab447aed820e8 /src/haiku_support.cc
parenteab422a6532899468a70ec44986c1ee5174287b7 (diff)
downloademacs-a8c3e8e2a6efa77b38110a9c1fee1ece8d8da4d5.tar.gz
emacs-a8c3e8e2a6efa77b38110a9c1fee1ece8d8da4d5.tar.bz2
emacs-a8c3e8e2a6efa77b38110a9c1fee1ece8d8da4d5.zip
Fix child frame unlinking on Haiku
* src/haiku_support.cc (UnlinkChild): Fix obvious mistake. (DoMove): Lock child frame window before moving it.
Diffstat (limited to 'src/haiku_support.cc')
-rw-r--r--src/haiku_support.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/haiku_support.cc b/src/haiku_support.cc
index 66b0e519b07..fea0684b1b4 100644
--- a/src/haiku_support.cc
+++ b/src/haiku_support.cc
@@ -346,8 +346,8 @@ public:
{
if (last)
last->next = tem->next;
- if (tem == subset_windows)
- subset_windows = NULL;
+ else
+ subset_windows = tem->next;
delete tem;
return;
}
@@ -405,9 +405,11 @@ public:
DoMove (struct child_frame *f)
{
BRect frame = this->Frame ();
+ if (!f->window->LockLooper ())
+ gui_abort ("Failed to lock child frame window for move");
f->window->MoveTo (frame.left + f->xoff,
frame.top + f->yoff);
- this->Sync ();
+ f->window->UnlockLooper ();
}
void