You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sets the widget's GUI style to style. The ownership of the style object is not transferred.
One workaround is using a single central SliderStyle object. In general, global state is a code smell, but this works around an issue where on KDE Breeze, every QProxyStyle instance created installs two event filters on QCoreApplication which intercept all events sent to all widgets in the app. As a result, when you open dozens of instrument dialogs, each of which creates dozens of LabeledVerticalSlider and SliderStyle, the app becomes increasingly unresponsive as QCoreApplication loops through around a thousand event filters per event.
(Due to another bug, opening and closing an instrument dialog doesn't delete the dialog object, so you don't even need dozens of instrument dialogs open at once.)
Another workaround is adding a SliderStylefield to each class using it. This doesn't fix the slowdown, but ensures the event filters are uninstalled when the widgets are deleted.
System Information
Operating System: Arch Linux
BambooTracker Version: unstable-06e20993
Build Type: AUR bambootracker-git
The text was updated successfully, but these errors were encountered:
Bug Description
All calls to
setStyle(new SliderStyle)
orsetStyle(new SliderStyle())
leak memory.void QWidget::setStyle(QStyle *style) says:
One workaround is using a single central
SliderStyle
object. In general, global state is a code smell, but this works around an issue where on KDE Breeze, everyQProxyStyle
instance created installs two event filters onQCoreApplication
which intercept all events sent to all widgets in the app. As a result, when you open dozens of instrument dialogs, each of which creates dozens ofLabeledVerticalSlider
andSliderStyle
, the app becomes increasingly unresponsive asQCoreApplication
loops through around a thousand event filters per event.(Due to another bug, opening and closing an instrument dialog doesn't delete the dialog object, so you don't even need dozens of instrument dialogs open at once.)
Another workaround is adding a
SliderStyle
field to each class using it. This doesn't fix the slowdown, but ensures the event filters are uninstalled when the widgets are deleted.System Information
The text was updated successfully, but these errors were encountered: