From ea02b3aba0aa110f5fb7e01f797bcb83faf6caed Mon Sep 17 00:00:00 2001 From: Sotonye Atemie Date: Wed, 19 Feb 2025 19:24:27 -0500 Subject: [PATCH] Do not set Qt::WA_OpaquePaintEvent (#7643) Attempts to fix child widgets -- such as clips from the song editor -- drawing on top on other --- plugins/Compressor/CompressorControlDialog.cpp | 1 - src/gui/clips/AutomationClipView.cpp | 2 -- src/gui/clips/ClipView.cpp | 1 - src/gui/editors/AutomationEditor.cpp | 2 -- src/gui/editors/PianoRoll.cpp | 2 -- src/gui/editors/TimeLineWidget.cpp | 1 - src/gui/instrument/PianoView.cpp | 1 - src/gui/tracks/FadeButton.cpp | 1 - src/gui/tracks/TrackLabelButton.cpp | 1 - src/gui/widgets/CPULoadWidget.cpp | 1 - src/gui/widgets/Fader.cpp | 1 - src/gui/widgets/Oscilloscope.cpp | 1 - 12 files changed, 15 deletions(-) diff --git a/plugins/Compressor/CompressorControlDialog.cpp b/plugins/Compressor/CompressorControlDialog.cpp index 2622fbc2b5..b4b1b01462 100755 --- a/plugins/Compressor/CompressorControlDialog.cpp +++ b/plugins/Compressor/CompressorControlDialog.cpp @@ -48,7 +48,6 @@ CompressorControlDialog::CompressorControlDialog(CompressorControls* controls) : m_controls(controls) { setAutoFillBackground(false); - setAttribute(Qt::WA_OpaquePaintEvent, true); setAttribute(Qt::WA_NoSystemBackground, true); setMinimumSize(MIN_COMP_SCREEN_X, MIN_COMP_SCREEN_Y); diff --git a/src/gui/clips/AutomationClipView.cpp b/src/gui/clips/AutomationClipView.cpp index 9b71bb74c7..e098710d9c 100644 --- a/src/gui/clips/AutomationClipView.cpp +++ b/src/gui/clips/AutomationClipView.cpp @@ -55,8 +55,6 @@ AutomationClipView::AutomationClipView( AutomationClip * _clip, connect( getGUI()->automationEditor(), SIGNAL(currentClipChanged()), this, SLOT(update())); - setAttribute( Qt::WA_OpaquePaintEvent, true ); - setToolTip(m_clip->name()); setStyle( QApplication::style() ); update(); diff --git a/src/gui/clips/ClipView.cpp b/src/gui/clips/ClipView.cpp index 1941328195..f98351f377 100644 --- a/src/gui/clips/ClipView.cpp +++ b/src/gui/clips/ClipView.cpp @@ -114,7 +114,6 @@ ClipView::ClipView( Clip * clip, s_textFloat->setPixmap( embed::getIconPixmap( "clock" ) ); } - setAttribute( Qt::WA_OpaquePaintEvent, true ); setAttribute( Qt::WA_DeleteOnClose, true ); setFocusPolicy( Qt::StrongFocus ); setCursor( m_cursorHand ); diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index e3867e7ab6..78f5d112a2 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -111,8 +111,6 @@ AutomationEditor::AutomationEditor() : connect( Engine::getSong(), SIGNAL(timeSignatureChanged(int,int)), this, SLOT(update())); - setAttribute( Qt::WA_OpaquePaintEvent, true ); - //keeps the direction of the widget, undepended on the locale setLayoutDirection( Qt::LeftToRight ); diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index cbd68e7ff4..41b760495b 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -271,8 +271,6 @@ PianoRoll::PianoRoll() : s_textFloat = new SimpleTextFloat; } - setAttribute( Qt::WA_OpaquePaintEvent, true ); - // add time-line m_timeLine = new TimeLineWidget(m_whiteKeyWidth, 0, m_ppb, Engine::getSong()->getPlayPos(Song::PlayMode::MidiClip), diff --git a/src/gui/editors/TimeLineWidget.cpp b/src/gui/editors/TimeLineWidget.cpp index bea6d43c0a..e25ba74a37 100644 --- a/src/gui/editors/TimeLineWidget.cpp +++ b/src/gui/editors/TimeLineWidget.cpp @@ -59,7 +59,6 @@ TimeLineWidget::TimeLineWidget(const int xoff, const int yoff, const float ppb, m_begin{begin}, m_mode{mode} { - setAttribute( Qt::WA_OpaquePaintEvent, true ); move( 0, yoff ); setMouseTracking(true); diff --git a/src/gui/instrument/PianoView.cpp b/src/gui/instrument/PianoView.cpp index 88bb483328..8491927dbb 100644 --- a/src/gui/instrument/PianoView.cpp +++ b/src/gui/instrument/PianoView.cpp @@ -90,7 +90,6 @@ PianoView::PianoView(QWidget *parent) : m_lastKey(-1), /*!< The last key displayed? */ m_movedNoteModel(nullptr) /*!< Key marker which is being moved */ { - setAttribute(Qt::WA_OpaquePaintEvent, true); setFocusPolicy(Qt::StrongFocus); // Black keys are drawn halfway between successive white keys, so they do not diff --git a/src/gui/tracks/FadeButton.cpp b/src/gui/tracks/FadeButton.cpp index 2f4727e5e2..386b5be41b 100644 --- a/src/gui/tracks/FadeButton.cpp +++ b/src/gui/tracks/FadeButton.cpp @@ -47,7 +47,6 @@ FadeButton::FadeButton(const QColor & _normal_color, m_activatedColor( _activated_color ), m_holdColor( holdColor ) { - setAttribute(Qt::WA_OpaquePaintEvent, true); setCursor(QCursor(embed::getIconPixmap("hand"), 3, 3)); setFocusPolicy(Qt::NoFocus); activeNotes = 0; diff --git a/src/gui/tracks/TrackLabelButton.cpp b/src/gui/tracks/TrackLabelButton.cpp index dd19f3d19f..c203fad8c2 100644 --- a/src/gui/tracks/TrackLabelButton.cpp +++ b/src/gui/tracks/TrackLabelButton.cpp @@ -46,7 +46,6 @@ TrackLabelButton::TrackLabelButton( TrackView * _tv, QWidget * _parent ) : m_trackView( _tv ), m_iconName() { - setAttribute( Qt::WA_OpaquePaintEvent, true ); setAcceptDrops( true ); setCursor( QCursor( embed::getIconPixmap( "hand" ), 3, 3 ) ); setToolButtonStyle( Qt::ToolButtonTextBesideIcon ); diff --git a/src/gui/widgets/CPULoadWidget.cpp b/src/gui/widgets/CPULoadWidget.cpp index db1f5cacc8..8362e6713e 100644 --- a/src/gui/widgets/CPULoadWidget.cpp +++ b/src/gui/widgets/CPULoadWidget.cpp @@ -46,7 +46,6 @@ CPULoadWidget::CPULoadWidget( QWidget * _parent ) : m_changed( true ), m_updateTimer() { - setAttribute( Qt::WA_OpaquePaintEvent, true ); setFixedSize( m_background.width(), m_background.height() ); m_temp = QPixmap( width(), height() ); diff --git a/src/gui/widgets/Fader.cpp b/src/gui/widgets/Fader.cpp index 9337f92581..e8560c3c08 100644 --- a/src/gui/widgets/Fader.cpp +++ b/src/gui/widgets/Fader.cpp @@ -73,7 +73,6 @@ Fader::Fader(FloatModel* model, const QString& name, QWidget* parent) : } setWindowTitle(name); - setAttribute(Qt::WA_OpaquePaintEvent, false); // For now resize the widget to the size of the previous background image "fader_background.png" as it was found in the classic and default theme constexpr QSize minimumSize(23, 116); setMinimumSize(minimumSize); diff --git a/src/gui/widgets/Oscilloscope.cpp b/src/gui/widgets/Oscilloscope.cpp index 28ddff9384..bf66fa4654 100644 --- a/src/gui/widgets/Oscilloscope.cpp +++ b/src/gui/widgets/Oscilloscope.cpp @@ -51,7 +51,6 @@ Oscilloscope::Oscilloscope( QWidget * _p ) : m_clippingColor(255, 64, 64) { setFixedSize( m_background.width(), m_background.height() ); - setAttribute( Qt::WA_OpaquePaintEvent, true ); setActive( ConfigManager::inst()->value( "ui", "displaywaveform").toInt() ); const fpp_t frames = Engine::audioEngine()->framesPerPeriod();