Fix DCHECK adding menu separator with hidden items (fixes #3577)

This commit is contained in:
Marshall Greenblatt 2024-07-12 14:13:10 -04:00
parent 444983d9ec
commit da971da381
2 changed files with 29 additions and 0 deletions

View File

@ -820,5 +820,11 @@ patches = [
# loop. Related to the following CL: # loop. Related to the following CL:
# https://chromium-review.googlesource.com/c/chromium/src/+/5548577 # https://chromium-review.googlesource.com/c/chromium/src/+/5548577
'name': 'base_thread_pool_5548577' 'name': 'base_thread_pool_5548577'
},
{
# Fix DCHECK in SimpleMenuModel::AddSeparator when adding a separator with
# hidden menu items.
# https://github.com/chromiumembedded/cef/issues/3577
'name': 'ui_menu_model_3577'
} }
] ]

View File

@ -0,0 +1,23 @@
diff --git ui/base/models/simple_menu_model.cc ui/base/models/simple_menu_model.cc
index 88e27362452e5..9c18ac5c77544 100644
--- ui/base/models/simple_menu_model.cc
+++ ui/base/models/simple_menu_model.cc
@@ -10,6 +10,7 @@
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/task/single_thread_task_runner.h"
+#include "cef/libcef/features/features.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/image/image.h"
@@ -170,8 +171,10 @@ void SimpleMenuModel::AddSeparator(MenuSeparatorType separator_type) {
}
if (items_.at(last_visible_item).type == TYPE_SEPARATOR) {
+#if !BUILDFLAG(ENABLE_CEF)
DCHECK_EQ(NORMAL_SEPARATOR, separator_type);
DCHECK_EQ(NORMAL_SEPARATOR, items_.at(last_visible_item).separator_type);
+#endif
// The last item is already a separator. Don't add another.
return;
}