From 885db95e85af2bb9434987a8d32fbbaa3edc9fa6 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Mon, 5 Apr 2021 17:51:51 +0200 Subject: [PATCH] Fix a Qt deprecation on pixmap(). --- nageru/analyzer.cpp | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/nageru/analyzer.cpp b/nageru/analyzer.cpp index b08af19..f2d3ae6 100644 --- a/nageru/analyzer.cpp +++ b/nageru/analyzer.cpp @@ -267,25 +267,23 @@ bool Analyzer::eventFilter(QObject *watched, QEvent *event) void Analyzer::grab_pixel(int x, int y) { - const QPixmap *pixmap = ui->grabbed_frame_label->pixmap(); - if (pixmap != nullptr) { - x = lrint(x * double(pixmap->width()) / ui->grabbed_frame_label->width()); - y = lrint(y * double(pixmap->height()) / ui->grabbed_frame_label->height()); - x = std::min(x, pixmap->width() - 1); - y = std::min(y, pixmap->height() - 1); - - char buf[256]; - snprintf(buf, sizeof(buf), "Selected coordinate (x,y): (%d,%d)", x, y); - ui->coord_label->setText(buf); - - QRgb pixel = grabbed_image.pixel(x, y); - ui->red_label->setText(QString::fromStdString(to_string(qRed(pixel)))); - ui->green_label->setText(QString::fromStdString(to_string(qGreen(pixel)))); - ui->blue_label->setText(QString::fromStdString(to_string(qBlue(pixel)))); - - snprintf(buf, sizeof(buf), "#%02x%02x%02x", qRed(pixel), qGreen(pixel), qBlue(pixel)); - ui->hex_label->setText(buf); - } + QPixmap pixmap = ui->grabbed_frame_label->pixmap(Qt::ReturnByValue); + x = lrint(x * double(pixmap.width()) / ui->grabbed_frame_label->width()); + y = lrint(y * double(pixmap.height()) / ui->grabbed_frame_label->height()); + x = std::min(x, pixmap.width() - 1); + y = std::min(y, pixmap.height() - 1); + + char buf[256]; + snprintf(buf, sizeof(buf), "Selected coordinate (x,y): (%d,%d)", x, y); + ui->coord_label->setText(buf); + + QRgb pixel = grabbed_image.pixel(x, y); + ui->red_label->setText(QString::fromStdString(to_string(qRed(pixel)))); + ui->green_label->setText(QString::fromStdString(to_string(qGreen(pixel)))); + ui->blue_label->setText(QString::fromStdString(to_string(qBlue(pixel)))); + + snprintf(buf, sizeof(buf), "#%02x%02x%02x", qRed(pixel), qGreen(pixel), qBlue(pixel)); + ui->hex_label->setText(buf); } void Analyzer::resizeEvent(QResizeEvent* event) -- 2.39.2