aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2021-12-31 10:59:53 +0000
committerPo Lu2021-12-31 10:59:53 +0000
commita8c3e8e2a6efa77b38110a9c1fee1ece8d8da4d5 (patch)
tree7f6ff5dece518a901481f1deb77ab447aed820e8 /src
parenteab422a6532899468a70ec44986c1ee5174287b7 (diff)
downloademacs-a8c3e8e2a6efa77b38110a9c1fee1ece8d8da4d5.tar.gz
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')
-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:
346 { 346 {
347 if (last) 347 if (last)
348 last->next = tem->next; 348 last->next = tem->next;
349 if (tem == subset_windows) 349 else
350 subset_windows = NULL; 350 subset_windows = tem->next;
351 delete tem; 351 delete tem;
352 return; 352 return;
353 } 353 }
@@ -405,9 +405,11 @@ public:
405 DoMove (struct child_frame *f) 405 DoMove (struct child_frame *f)
406 { 406 {
407 BRect frame = this->Frame (); 407 BRect frame = this->Frame ();
408 if (!f->window->LockLooper ())
409 gui_abort ("Failed to lock child frame window for move");
408 f->window->MoveTo (frame.left + f->xoff, 410 f->window->MoveTo (frame.left + f->xoff,
409 frame.top + f->yoff); 411 frame.top + f->yoff);
410 this->Sync (); 412 f->window->UnlockLooper ();
411 } 413 }
412 414
413 void 415 void