Fix DCHECK adding menu separator with hidden items (fixes #3577)
This commit is contained in:
parent
1e880c56ed
commit
c23cfb8b01
|
@ -829,5 +829,11 @@ patches = [
|
||||||
# cef_sandbox with VS 17.9.2 version of MSVC STL.
|
# cef_sandbox with VS 17.9.2 version of MSVC STL.
|
||||||
# https://github.com/chromiumembedded/cef/issues/3708
|
# https://github.com/chromiumembedded/cef/issues/3708
|
||||||
'name': 'win_sandbox_op3way_3708'
|
'name': 'win_sandbox_op3way_3708'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
# 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'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
Loading…
Reference in New Issue