]> sigrok.org Git - pulseview.git/blobdiff - pv/view/logicsignal.cpp
Fix #705 by preventing the use of invalid instances
[pulseview.git] / pv / view / logicsignal.cpp
index 5584a1fcb70a0fb334e85b2d2165a6b965efabfe..3c85b9319083d4cb9c0e401a0fa949ed6513cb5f 100644 (file)
@@ -449,24 +449,22 @@ void LogicSignal::modify_trigger()
 
 const QIcon* LogicSignal::get_icon(const char *path)
 {
-       const QIcon *icon = icon_cache_.take(path);
-       if (!icon) {
-               icon = new QIcon(path);
+       if (!icon_cache_.contains(path)) {
+               const QIcon *icon = new QIcon(path);
                icon_cache_.insert(path, icon);
        }
 
-       return icon;
+       return icon_cache_.take(path);
 }
 
 const QPixmap* LogicSignal::get_pixmap(const char *path)
 {
-       const QPixmap *pixmap = pixmap_cache_.take(path);
-       if (!pixmap) {
-               pixmap = new QPixmap(path);
+       if (!pixmap_cache_.contains(path)) {
+               const QPixmap *pixmap = new QPixmap(path);
                pixmap_cache_.insert(path, pixmap);
        }
 
-       return pixmap;
+       return pixmap_cache_.take(path);
 }
 
 void LogicSignal::on_trigger()