From 4cee8bb4fa3dfde4b797f9ad09197c060fc9d2de Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 12 Jul 2017 13:06:09 +0530 Subject: [PATCH] Workaround for impossible error --- src/calibre/gui2/tweak_book/editor/widget.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/tweak_book/editor/widget.py b/src/calibre/gui2/tweak_book/editor/widget.py index 39ba2fd17b..3b8e175ab2 100644 --- a/src/calibre/gui2/tweak_book/editor/widget.py +++ b/src/calibre/gui2/tweak_book/editor/widget.py @@ -373,7 +373,10 @@ class Editor(QMainWindow): bar.addAction(ac) if name == 'insert-tag': w = bar.widgetForAction(ac) - w.setPopupMode(QToolButton.MenuButtonPopup) + if hasattr(w, 'setPopupMode'): + # For some unknown reason this button is occassionally a + # QPushButton instead of a QToolButton + w.setPopupMode(QToolButton.MenuButtonPopup) w.setMenu(self.insert_tag_menu) w.setContextMenuPolicy(Qt.CustomContextMenu) w.customContextMenuRequested.connect(w.showMenu) @@ -382,7 +385,10 @@ class Editor(QMainWindow): m = ac.m = QMenu() ac.setMenu(m) ch = bar.widgetForAction(ac) - ch.setPopupMode(QToolButton.InstantPopup) + if hasattr(ch, 'setPopupMode'): + # For some unknown reason this button is occassionally a + # QPushButton instead of a QToolButton + ch.setPopupMode(QToolButton.InstantPopup) for name in tuple('h%d' % d for d in range(1, 7)) + ('p',): m.addAction(actions['rename-block-tag-%s' % name])