DecodeTrace: Make sure first row's label width can be calculated
[pulseview.git] / pv / view / decodetrace.cpp
index ab9514cd4e4da34e706c522ecb4244a123a38ad9..9e41bc4ac1f515f0a457ce2bff384820b040447e 100644 (file)
@@ -169,7 +169,10 @@ pair<int, int> DecodeTrace::v_extents() const
 {
        const int row_height = (ViewItemPaintParams::text_height() * 6) / 4;
 
-       return make_pair(-row_height, row_height * max_visible_rows_);
+       // Make an empty decode trace appear symmetrical
+       const int row_count = max(1, max_visible_rows_);
+
+       return make_pair(-row_height, row_height * row_count);
 }
 
 void DecodeTrace::paint_back(QPainter &p, const ViewItemPaintParams &pp)
@@ -195,6 +198,9 @@ void DecodeTrace::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
                return;
        }
 
+       // Set default pen to allow for text width calculation
+       p.setPen(Qt::black);
+
        // Iterate through the rows
        int y = get_visual_y();
        pair<uint64_t, uint64_t> sample_range = get_sample_range(