From 68667f5f5655da7ccd1eff9a8d8b13a1ac411326 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 9 Dec 2019 00:11:03 +0530 Subject: [PATCH] Fix no_activate_on_click style not delegating to the current style --- src/calibre/gui2/progress_indicator/QProgressIndicator.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp b/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp index 7cf23da43a..8fe33a413c 100644 --- a/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp +++ b/src/calibre/gui2/progress_indicator/QProgressIndicator.cpp @@ -163,7 +163,7 @@ class CalibreStyle: public QProxyStyle { return button_layout; case SH_FormLayoutFieldGrowthPolicy: return QFormLayout::FieldsStayAtSizeHint; // Do not have fields expand to fill all available space in QFormLayout - default: + default: break; } return QProxyStyle::styleHint(hint, option, widget, returnData); @@ -302,6 +302,7 @@ int load_style(QHash icon_map) { class NoActivateStyle: public QProxyStyle { public: + NoActivateStyle(QStyle *base) : QProxyStyle(base) { } int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const { if (hint == QStyle::SH_ItemView_ActivateItemOnSingleClick) return 0; return QProxyStyle::styleHint(hint, option, widget, returnData); @@ -309,7 +310,8 @@ class NoActivateStyle: public QProxyStyle { }; void set_no_activate_on_click(QWidget *widget) { - widget->setStyle(new NoActivateStyle); + QStyle *base_style = widget->style(); + if (base_style) widget->setStyle(new NoActivateStyle(base_style)); } class TouchMenuStyle: public QProxyStyle {