Skip to content
Commit 6a99bfd2 authored by Xaver Hugl's avatar Xaver Hugl
Browse files

make software cursors work per output

parent 8a2f64fb
Pipeline #115389 passed with stage
in 24 minutes and 36 seconds
  • I believe this causes a crash in Wayland when switching outputs in a laptop (internal panel -> external screen):

    (gdb) bt
    #0  KWin::DrmPipeline::moveCursor(QPoint) (pos=..., this=0x557836fd37f0)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/backends/drm/drm_pipeline.cpp:374
    #1  KWin::DrmOutput::moveCursor() (this=0x557836fdeb80)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/backends/drm/drm_output.cpp:164
    #2  KWin::DrmOutput::moveCursor() (this=0x557836fdeb80)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/backends/drm/drm_output.cpp:156
    #3  0x00007f8ede437393 in  () at /lib64/libQt5Core.so.5
    #4  0x00007f8ee06799b7 in KWin::Cursors::positionChanged(KWin::Cursor*, QPoint const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/build/src/kwin_autogen/EWIEGA46WW/moc_cursor.cpp:360
    #5  0x00007f8ede437393 in  () at /lib64/libQt5Core.so.5
    #6  0x00007f8ee0679822 in KWin::Cursor::posChanged(QPoint const&) (this=<optimized out>, _t1=<optimized out>)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/build/src/kwin_autogen/EWIEGA46WW/moc_cursor.cpp:192
    #7  0x00007f8ee074f890 in KWin::InputRedirectionCursor::slotPosChanged(QPointF const&) (this=0x55783706af60, pos=...)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/pointer_input.cpp:1447
    #8  0x00007f8ede437393 in  () at /lib64/libQt5Core.so.5
    #9  0x00007f8ee067a255 in KWin::InputRedirection::globalPointerChanged(QPointF const&) (this=<optimized out>, _t1=<optimized out>)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/build/src/kwin_autogen/EWIEGA46WW/moc_input.cpp:317
    #10 0x00007f8ee074eef8 in KWin::PointerInputRedirection::updatePosition(QPointF const&) (this=0x557836edcdd0, pos=<optimized out>)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/input.h:500
    #11 0x00007f8ee0748733 in KWin::PointerInputRedirection::processMotionInternal(QPointF const&, QSizeF const&, QSizeF const&, unsigned int, unsigned long long, KWin::InputDevice*) (this=0x557836edcdd0, pos=..., delta=..., deltaNonAccelerated=..., time=102146, timeUsec=102146375, device=0x5578370aa300)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/pointer_input.cpp:269
    #12 0x00007f8ee0748e00 in KWin::PointerInputRedirection::processMotion(QSizeF const&, QSizeF const&, unsigned int, unsigned long long, KWin::InputDevice*)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/pointer_input.cpp:254
    #13 0x00007f8ede437393 in  () at /lib64/libQt5Core.so.5
    #14 0x00007f8ee067a9b9 in KWin::InputDevice::pointerMotion(QSizeF const&, QSizeF const&, unsigned int, unsigned long long, KWin::InputDevice*)
        (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>, _t4=<optimized out>, _t5=<optimized out>)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/build/src/kwin_autogen/EWIEGA46WW/moc_inputdevice.cpp:677
    #15 0x00007f8ee081d503 in KWin::LibInput::Connection::processEvents() (this=0x55783705d6c0)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/backends/libinput/connection.cpp:349
    #16 0x00007f8ede42d33e in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
    #17 0x00007f8edeff9a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
    #18 0x00007f8ede400d2a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
    #19 0x00007f8ede403d77 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
    #20 0x00007f8ede45572a in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
    #21 0x0000557835d199cd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...)
        at qunixeventdispatcher.cpp:63
    #22 0x00007f8ede3ff72b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
    #23 0x00007f8ede407a10 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
    #24 0x0000557835c2b135 in main(int, char**) (argc=<optimized out>, argv=<optimized out>)
        at /usr/src/debug/kwin5-5.23.80git.20211229T151140~84690a0de6-ku.78.1.x86_64/src/main_wayland.cpp:737
  • mentioned in commit d18e631d

    Toggle commit list
  • mentioned in merge request !1847 (merged)

    Toggle commit list
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment