[Breeze] [Bug 395028] New: Scrollbars without widget and styleObject cause crash (e.g. QtWebKit)

Christoph Feck bugzilla_noreply at kde.org
Mon Jun 4 14:28:08 BST 2018


https://bugs.kde.org/show_bug.cgi?id=395028

            Bug ID: 395028
           Summary: Scrollbars without widget and styleObject cause crash
                    (e.g. QtWebKit)
           Product: Breeze
           Version: 5.12.90
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: QStyle
          Assignee: unassigned-bugs at kde.org
          Reporter: cfeck at kde.org
  Target Milestone: ---

https://cgit.kde.org/breeze.git/tree/kstyle/breezestyle.cpp#n5041 says:

widget ? [...] : option->styleObject->property("hover").toBool()

The preceeding comment seems to suggest that the code assumes QML if widget is
0. When both are 0, it causes a crash.

Backtrace:

#0  QObject::property (this=0x0, name=name at entry=0x7fffd74e7038 "hover") at
kernel/qobject.cpp:3934
#1  0x00007fffd74c4110 in Breeze::Style::drawScrollBarSliderControl
(this=0x1225ff0, option=0x7fffffffbc80, painter=0x7fff6a6d29e8, widget=0x0) at
/usr/src/debug/breeze-5.13.80git.20180603T093531~47ca4e81-3.1.x86_64/kstyle/breezestyle.cpp:5041
#2  0x00007fffd74cc16f in std::function<bool (Breeze::Style const&,
QStyleOption const*, QPainter*, QWidget const*)>::operator()(Breeze::Style
const&, QStyleOption const*, QPainter*, QWidget const*) const
(__args#3=<optimized out>, __args#2=<optimized out>, __args#1=<optimized out>,
__args#0=..., this=0x7fffffffb9c0)
    at /usr/include/c++/7/bits/std_function.h:706
#3  Breeze::Style::drawControl (this=0x1225ff0,
element=QStyle::CE_ScrollBarSlider, option=0x7fffffffbc80,
painter=0x7fff6a6d29e8, widget=0x0) at
/usr/src/debug/breeze-5.13.80git.20180603T093531~47ca4e81-3.1.x86_64/kstyle/breezestyle.cpp:937
#4  0x0000000000917eaf in Otter::Style::drawControl(QStyle::ControlElement,
QStyleOption const*, QPainter*, QWidget const*) const ()
#5  0x0000000000b39fcb in
Otter::FreeDesktopOrgPlatformStyle::drawControl(QStyle::ControlElement,
QStyleOption const*, QPainter*, QWidget const*) const ()
#6  0x00007ffff657e541 in QCommonStyle::drawComplexControl
(this=this at entry=0x1225ff0, cc=cc at entry=QStyle::CC_ScrollBar,
opt=opt at entry=0x7fffffffbe70, p=p at entry=0x7fff6a6d29e8,
widget=widget at entry=0x0) at styles/qcommonstyle.cpp:3290
#7  0x00007fffd74ccf21 in Breeze::Style::drawScrollBarComplexControl
(this=0x1225ff0, option=0x7fffffffbe70, painter=0x7fff6a6d29e8, widget=0x0) at
/usr/src/debug/breeze-5.13.80git.20180603T093531~47ca4e81-3.1.x86_64/kstyle/breezestyle.cpp:6497
#8  0x00007fffd74ccb44 in std::function<bool (Breeze::Style const&,
QStyleOptionComplex const*, QPainter*, QWidget
const*)>::operator()(Breeze::Style const&, QStyleOptionComplex const*,
QPainter*, QWidget const*) const (__args#3=<optimized out>, __args#2=<optimized
out>, __args#1=<optimized out>, __args#0=..., this=0x7fffffffbe00)
    at /usr/include/c++/7/bits/std_function.h:706
#9  Breeze::Style::drawComplexControl (this=0x1225ff0,
element=QStyle::CC_ScrollBar, option=0x7fffffffbe70, painter=0x7fff6a6d29e8,
widget=0x0) at
/usr/src/debug/breeze-5.13.80git.20180603T093531~47ca4e81-3.1.x86_64/kstyle/breezestyle.cpp:968
#10 0x00007ffff7bc39ae in WebKit::QStyleFacadeImp::paintScrollBar () at
/usr/src/debug/libqt5-qtwebkit-5.212~alpha2-11.3.x86_64/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp:473

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Unassigned-bugs mailing list