commit e5105a0dce2de52a25343dc6a74c4fd885d05e96
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Wed Jul 5 12:28:26 2017 +0200

    Do not use toobar menu as fallback context menu
    
    This is a consequence of 060a9664, although it is not clear why. The
    contextMenuEvent code of the workarea should not delegate context
    menu when it cannot honor it.
    
    Also fix a small memory leak.
    
    Fixes bug #10616.
    
    (cherry picked from commit ab81c23656b59aa14c41b8acc45f0f3e410ed785)
---
 src/frontends/qt4/GuiView.cpp     |    3 +--
 src/frontends/qt4/GuiWorkArea.cpp |    4 ++--
 status.22x                        |    2 ++
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp
index 8d8ca59..bb54b0a 100644
--- a/src/frontends/qt4/GuiView.cpp
+++ b/src/frontends/qt4/GuiView.cpp
@@ -3361,8 +3361,7 @@ bool GuiView::goToFileRow(string const & argument)
 
 void GuiView::toolBarPopup(const QPoint & /*pos*/)
 {
-       QMenu * menu = new QMenu;
-       menu = guiApp->menus().menu(toqstr("context-toolbars"), * this);
+       QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), * this);
        menu->exec(QCursor::pos());
 }
 
diff --git a/src/frontends/qt4/GuiWorkArea.cpp 
b/src/frontends/qt4/GuiWorkArea.cpp
index 6bf68cd..bfedecc 100644
--- a/src/frontends/qt4/GuiWorkArea.cpp
+++ b/src/frontends/qt4/GuiWorkArea.cpp
@@ -784,7 +784,7 @@ void GuiWorkArea::contextMenuEvent(QContextMenuEvent * e)
        }
        
        if (name.empty()) {
-               QAbstractScrollArea::contextMenuEvent(e);
+               e->accept();
                return;
        }
        // always show mnemonics when the keyboard is used to show the context 
menu
@@ -792,7 +792,7 @@ void GuiWorkArea::contextMenuEvent(QContextMenuEvent * e)
        bool const keyboard = (e->reason() == QContextMenuEvent::Keyboard);
        QMenu * menu = guiApp->menus().menu(toqstr(name), *d->lyx_view_, 
keyboard);
        if (!menu) {
-               QAbstractScrollArea::contextMenuEvent(e);
+               e->accept();
                return;
        }
        // Position the menu to the right.
diff --git a/status.22x b/status.22x
index 72e014b..6a06b68 100644
--- a/status.22x
+++ b/status.22x
@@ -100,6 +100,8 @@ What's new
 
 - Don't swallow labels not entered through the toolbar in mathed (bug 10546).
 
+- Fix bad context menu on insets that do not have one (bug 10626).
+
 
 * INTERNALS
 

Reply via email to