From 1464118b67a030d290eb14e7c6612202273e1366 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Sep 2015 15:09:21 +0200 Subject: QIcon: add a hook in the engine so a non null QIconEngine can still be a null icon Implement it in the QIconLoader We have to change detach() because some code does: icon = QIcon::fromTheme("foobar"); if (icon.isNull()) icon.addPixmap(...); so addPixmap and addFile have to work on a null QIcon by resetting the iconEngine. Change-Id: I07719bef93930cf4692384a8c64e21a97dcce25c Reviewed-by: David Faure --- src/gui/image/qiconengine.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/gui/image/qiconengine.h') diff --git a/src/gui/image/qiconengine.h b/src/gui/image/qiconengine.h index 735da863fd..f0ff143b36 100644 --- a/src/gui/image/qiconengine.h +++ b/src/gui/image/qiconengine.h @@ -57,7 +57,7 @@ public: virtual bool read(QDataStream &in); virtual bool write(QDataStream &out) const; - enum IconEngineHook { AvailableSizesHook = 1, IconNameHook }; + enum IconEngineHook { AvailableSizesHook = 1, IconNameHook, IsNullHook }; struct AvailableSizesArgument { @@ -70,6 +70,7 @@ public: QIcon::State state = QIcon::Off) const; virtual QString iconName() const; + bool isNull() const; // ### Qt6 make virtual virtual void virtual_hook(int id, void *data); }; -- cgit v1.2.3