diff options
| author | Po Lu | 2021-12-24 03:21:21 +0000 |
|---|---|---|
| committer | Po Lu | 2021-12-24 03:21:21 +0000 |
| commit | fbe026cb3e2f8148dd1841e0f9974915ca32c84d (patch) | |
| tree | 4961405039667ab2e3f1c85bccbd9550ee10e2e4 /src | |
| parent | 7078af622b05971496bf07712775d19b3980a628 (diff) | |
| download | emacs-fbe026cb3e2f8148dd1841e0f9974915ca32c84d.tar.gz emacs-fbe026cb3e2f8148dd1841e0f9974915ca32c84d.zip | |
Acquire draw lock when updating menubar on Haiku
* src/haikumenu.c (digest_menu_items): Acquire draw lock.
Diffstat (limited to 'src')
| -rw-r--r-- | src/haikumenu.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/haikumenu.c b/src/haikumenu.c index 698da9d639c..2ce0aed1468 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, | |||
| 59 | menus[0] = first_menu; | 59 | menus[0] = first_menu; |
| 60 | 60 | ||
| 61 | void *window = NULL; | 61 | void *window = NULL; |
| 62 | void *view = NULL; | ||
| 62 | if (FRAMEP (Vmenu_updating_frame) && | 63 | if (FRAMEP (Vmenu_updating_frame) && |
| 63 | FRAME_LIVE_P (XFRAME (Vmenu_updating_frame)) && | 64 | FRAME_LIVE_P (XFRAME (Vmenu_updating_frame)) && |
| 64 | FRAME_HAIKU_P (XFRAME (Vmenu_updating_frame))) | 65 | FRAME_HAIKU_P (XFRAME (Vmenu_updating_frame))) |
| 65 | window = FRAME_HAIKU_WINDOW (XFRAME (Vmenu_updating_frame)); | 66 | { |
| 67 | window = FRAME_HAIKU_WINDOW (XFRAME (Vmenu_updating_frame)); | ||
| 68 | view = FRAME_HAIKU_VIEW (XFRAME (Vmenu_updating_frame)); | ||
| 69 | } | ||
| 70 | |||
| 71 | if (view) | ||
| 72 | BView_draw_lock (view); | ||
| 66 | 73 | ||
| 67 | while (i < menu_items_used) | 74 | while (i < menu_items_used) |
| 68 | { | 75 | { |
| @@ -161,6 +168,9 @@ digest_menu_items (void *first_menu, int start, int menu_items_used, | |||
| 161 | i += MENU_ITEMS_ITEM_LENGTH; | 168 | i += MENU_ITEMS_ITEM_LENGTH; |
| 162 | } | 169 | } |
| 163 | } | 170 | } |
| 171 | |||
| 172 | if (view) | ||
| 173 | BView_draw_unlock (view); | ||
| 164 | } | 174 | } |
| 165 | 175 | ||
| 166 | static Lisp_Object | 176 | static Lisp_Object |