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 2622fbc2b..b4b1b0146 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 9b71bb74c..e098710d9 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 194132819..f98351f37 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 e3867e7ab..78f5d112a 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 cbd68e7ff..41b760495 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 bea6d43c0..e25ba74a3 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 88bb48332..8491927db 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 2f4727e5e..386b5be41 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 dd19f3d19..c203fad8c 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 db1f5cacc..8362e6713 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 9337f9258..e8560c3c0 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 28ddff938..bf66fa465 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();