From 51e0e0433f94d0190c510efcea087c021cc6fc5d Mon Sep 17 00:00:00 2001
From: Valentin Fokin <fokinv@inf.u-szeged.hu>
Date: Tue, 27 Mar 2018 15:28:11 +0200
Subject: [PATCH] Remove an unnecessary ContextMenu Separator

When right clicking on a simple image there would be a separator on the
top of the DefaultContextMenu. This patch fixes it by checking if the
context menu has any elements in it before adding a separator.

Change-Id: I6bbe91fdac9f49006be8cc73df1d97d34f3c2848
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
 src/webengine/ui_delegates_manager.cpp      | 2 +-
 src/webenginewidgets/api/qwebenginepage.cpp | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index 12474a1f1..573d5018b 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -238,7 +238,7 @@ void UIDelegatesManager::addMenuSeparator(QObject *menu)
     sep->setParent(menu);
 
     QQmlListReference entries(menu, defaultPropertyName(menu), qmlEngine(m_view));
-    if (entries.isValid())
+    if (entries.isValid() && entries.count() > 0)
         entries.append(sep);
 }
 
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 20a0297cd..6b91bd221 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -2350,7 +2350,8 @@ void QContextMenuBuilder::addMenuItem(ContextMenuItem menuItem)
         }
         return;
     case ContextMenuItem::Separator:
-        m_menu->addSeparator();
+        if (!m_menu->isEmpty())
+            m_menu->addSeparator();
         return;
     }
     action->setEnabled(isMenuItemEnabled(menuItem));
-- 
GitLab