emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master fbe026c: Acquire draw lock when updating menubar on Haiku


From: Po Lu
Subject: master fbe026c: Acquire draw lock when updating menubar on Haiku
Date: Thu, 23 Dec 2021 22:23:22 -0500 (EST)

branch: master
commit fbe026cb3e2f8148dd1841e0f9974915ca32c84d
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Acquire draw lock when updating menubar on Haiku
    
    * src/haikumenu.c (digest_menu_items): Acquire draw lock.
---
 src/haikumenu.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/haikumenu.c b/src/haikumenu.c
index 698da9d..2ce0aed 100644
--- a/src/haikumenu.c
+++ b/src/haikumenu.c
@@ -59,10 +59,17 @@ digest_menu_items (void *first_menu, int start, int 
menu_items_used,
   menus[0] = first_menu;
 
   void *window = NULL;
+  void *view = NULL;
   if (FRAMEP (Vmenu_updating_frame) &&
       FRAME_LIVE_P (XFRAME (Vmenu_updating_frame)) &&
       FRAME_HAIKU_P (XFRAME (Vmenu_updating_frame)))
-    window = FRAME_HAIKU_WINDOW (XFRAME (Vmenu_updating_frame));
+    {
+      window = FRAME_HAIKU_WINDOW (XFRAME (Vmenu_updating_frame));
+      view = FRAME_HAIKU_VIEW (XFRAME (Vmenu_updating_frame));
+    }
+
+  if (view)
+    BView_draw_lock (view);
 
   while (i < menu_items_used)
     {
@@ -161,6 +168,9 @@ digest_menu_items (void *first_menu, int start, int 
menu_items_used,
          i += MENU_ITEMS_ITEM_LENGTH;
        }
     }
+
+  if (view)
+    BView_draw_unlock (view);
 }
 
 static Lisp_Object



reply via email to

[Prev in Thread] Current Thread [Next in Thread]