diff --git a/src/widgets/capture/capturewidget.cpp b/src/widgets/capture/capturewidget.cpp index 7db109a94e..9ad8053ab8 100644 --- a/src/widgets/capture/capturewidget.cpp +++ b/src/widgets/capture/capturewidget.cpp @@ -644,6 +644,9 @@ void CaptureWidget::paintEvent(QPaintEvent* paintEvent) { Q_UNUSED(paintEvent) QPainter painter(this); + if (!painter.isActive()) { + return; + } GeneralConf::xywh_position position = static_cast(m_config.showSelectionGeometry()); /* QPainter::save and restore is somewhat costly so we try to guess diff --git a/src/widgets/capture/magnifierwidget.cpp b/src/widgets/capture/magnifierwidget.cpp index bbef246d10..663a1abe80 100644 --- a/src/widgets/capture/magnifierwidget.cpp +++ b/src/widgets/capture/magnifierwidget.cpp @@ -35,6 +35,9 @@ MagnifierWidget::MagnifierWidget(const QPixmap& p, void MagnifierWidget::paintEvent(QPaintEvent*) { QPainter p(this); + if (!p.isActive()) { + return; + } if (m_square) { drawMagnifier(p); } else { diff --git a/src/widgets/capture/notifierbox.cpp b/src/widgets/capture/notifierbox.cpp index 4c177fbaef..0006187e7e 100644 --- a/src/widgets/capture/notifierbox.cpp +++ b/src/widgets/capture/notifierbox.cpp @@ -34,6 +34,9 @@ void NotifierBox::enterEvent(QEnterEvent*) void NotifierBox::paintEvent(QPaintEvent*) { QPainter painter(this); + if (!painter.isActive()) { + return; + } // draw Ellipse painter.setRenderHint(QPainter::Antialiasing); painter.setBrush(QBrush(m_bgColor, Qt::SolidPattern)); diff --git a/src/widgets/capture/overlaymessage.cpp b/src/widgets/capture/overlaymessage.cpp index 48d8ca7d0b..2ac98cf8f0 100644 --- a/src/widgets/capture/overlaymessage.cpp +++ b/src/widgets/capture/overlaymessage.cpp @@ -99,6 +99,8 @@ QString OverlayMessage::compileFromKeyMap( void OverlayMessage::paintEvent(QPaintEvent* e) { QPainter painter(this); + if (!painter.isActive()) + return; painter.setRenderHint(QPainter::Antialiasing); painter.setBrush(QBrush(m_fillColor, Qt::SolidPattern)); diff --git a/src/widgets/capture/selectionwidget.cpp b/src/widgets/capture/selectionwidget.cpp index 5e5fe355b8..74551d3b17 100644 --- a/src/widgets/capture/selectionwidget.cpp +++ b/src/widgets/capture/selectionwidget.cpp @@ -380,6 +380,9 @@ void SelectionWidget::parentMouseMoveEvent(QMouseEvent* e) void SelectionWidget::paintEvent(QPaintEvent*) { QPainter p(this); + if (!p.isActive()) { + return; + } p.setPen(m_color); p.drawRect(rect() + QMargins(0, 0, -1, -1)); p.setRenderHint(QPainter::Antialiasing); diff --git a/src/widgets/colorpickerwidget.cpp b/src/widgets/colorpickerwidget.cpp index 866a975716..0628737176 100644 --- a/src/widgets/colorpickerwidget.cpp +++ b/src/widgets/colorpickerwidget.cpp @@ -28,6 +28,8 @@ const QVector& ColorPickerWidget::getDefaultLargeColorPalette() void ColorPickerWidget::paintEvent(QPaintEvent* e) { QPainter painter(this); + if (!painter.isActive()) + return; painter.setRenderHint(QPainter::Antialiasing); painter.setPen(QColor(Qt::black)); diff --git a/src/widgets/loadspinner.cpp b/src/widgets/loadspinner.cpp index b48f4110a9..81a9968faa 100644 --- a/src/widgets/loadspinner.cpp +++ b/src/widgets/loadspinner.cpp @@ -54,6 +54,8 @@ void LoadSpinner::stop() void LoadSpinner::paintEvent(QPaintEvent*) { QPainter painter(this); + if (!painter.isActive()) + return; painter.setRenderHint(QPainter::Antialiasing, true); auto pen = QPen(m_color); diff --git a/src/widgets/orientablepushbutton.cpp b/src/widgets/orientablepushbutton.cpp index 091397d4e3..6163687160 100644 --- a/src/widgets/orientablepushbutton.cpp +++ b/src/widgets/orientablepushbutton.cpp @@ -38,6 +38,8 @@ void OrientablePushButton::paintEvent(QPaintEvent* event) Q_UNUSED(event) QStylePainter painter(this); + if (!painter.isActive()) + return; QStyleOptionButton option; initStyleOption(&option); diff --git a/src/widgets/panel/colorgrabwidget.cpp b/src/widgets/panel/colorgrabwidget.cpp index ec8e111ea7..471eb784c4 100644 --- a/src/widgets/panel/colorgrabwidget.cpp +++ b/src/widgets/panel/colorgrabwidget.cpp @@ -142,6 +142,8 @@ bool ColorGrabWidget::eventFilter(QObject*, QEvent* event) void ColorGrabWidget::paintEvent(QPaintEvent*) { QPainter painter(this); + if (!painter.isActive()) + return; painter.drawImage(QRectF(0, 0, width(), height()), m_previewImage); }