Report preparation
What happened?
Cause
SpectrumWidget inherits QRhiWidget when AETHER_GPU_SPECTRUM is on, but resizeEvent was always calling QWidget::resizeEvent.
Qt’s docs for QRhiWidget::resizeEvent say that if you override resize, you must still run QRhiWidget’s implementation; that path calls sendPaintEvent() so the offscreen RHI texture matches the widget size. Skipping it leaves the texture out of sync with the window, so the compositor has nothing sensible to show for the spectrum/waterfall (often blank or stuck).
That matches “GPU-rendered stuff not showing” while normal child widgets (menus, VFO chrome) can still look fine.
Fix
Chain the real base class:
SPECTRUM_BASE_CLASS::resizeEvent(ev);
With GPU builds this is QRhiWidget::resizeEvent; without GPU it stays QWidget::resizeEvent.
The project rebuilds cleanly after this change. Run the app again from build/AetherSDR.app; after a resize or connect, the QRhi surface should track the widget and the spectrum/waterfall should appear.
If anything is still blank, run once with QT_LOGGING_RULES="qt.qpa.*=true" or watch the console for SpectrumWidget: QRhi initialized / waterfall pipeline created / QRhiWidget: No QRhi to confirm RHI init and shaders.
What did you expect?
No response
Steps to reproduce
No response
Radio model & firmware
No response
Linux distro & Qt version
No response
Report preparation
What happened?
Cause
SpectrumWidgetinheritsQRhiWidgetwhenAETHER_GPU_SPECTRUMis on, butresizeEventwas always callingQWidget::resizeEvent.Qt’s docs for
QRhiWidget::resizeEventsay that if you override resize, you must still runQRhiWidget’s implementation; that path callssendPaintEvent()so the offscreen RHI texture matches the widget size. Skipping it leaves the texture out of sync with the window, so the compositor has nothing sensible to show for the spectrum/waterfall (often blank or stuck).That matches “GPU-rendered stuff not showing” while normal child widgets (menus, VFO chrome) can still look fine.
Fix
Chain the real base class:
SPECTRUM_BASE_CLASS::resizeEvent(ev);With GPU builds this is
QRhiWidget::resizeEvent; without GPU it staysQWidget::resizeEvent.The project rebuilds cleanly after this change. Run the app again from
build/AetherSDR.app; after a resize or connect, the QRhi surface should track the widget and the spectrum/waterfall should appear.If anything is still blank, run once with
QT_LOGGING_RULES="qt.qpa.*=true"or watch the console forSpectrumWidget: QRhi initialized/waterfall pipeline created/QRhiWidget: No QRhito confirm RHI init and shaders.What did you expect?
No response
Steps to reproduce
No response
Radio model & firmware
No response
Linux distro & Qt version
No response