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

Simon Lees <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|generic-crash               |input
             Status|REPORTED                    |CONFIRMED
     Ever confirmed|0                           |1
                 CC|                            |[email protected],
                   |                            |[email protected]
            Summary|Kwin crashes in             |Kwin crashes in
                   |KWin::EisContext::handleEve |KWin::EisContext::handleEve
                   |nts when monitor wakes up   |nts when monitor wakes up
                   |while using Input Leap in   |while using Input Leap or
                   |Wayland                     |Deskflow in Wayland

--- Comment #2 from Simon Lees <[email protected]> ---
Also seeing this on openSUSE Tumbleweed with deskflow, I have some further info
on the crash.  I am also using deskflow as the client, IE it is receiving
events from another in this case Linux machine.

In the following slightly modified code was triggered if the screen was locked,
in this case `device` was returning as NULL. The code below is not a workable
solution as it allows input into the lock screen's password box but will never
actually unlock the screen. 

```
       case EIS_EVENT_FRAME: {
            auto device = eventDevice(event);
            if (!device) {
                qCCritical(KWIN_EIS) << "EventDevice NULL";
                break;
            }
            qCDebug(KWIN_EIS) << "Frame for device" << device->name();
            if (device->isTouch()) {
                Q_EMIT device->touchFrame(device);
            }
            if (device->isPointer()) {
                Q_EMIT device->pointerFrame(device);
            }
            break;
        }
```
To work around the previous case I disabled the lock screen and got the
following crash. Which again points to `auto device = eventDevice(event);` 
being NULL in the following code block.

case EIS_EVENT_POINTER_MOTION_ABSOLUTE: {
            auto device = eventDevice(event);
            const double x = eis_event_pointer_get_absolute_x(event);
            const double y = eis_event_pointer_get_absolute_y(event);
            qCDebug(KWIN_EIS) << device->name() << "pointer motion absolute" <<
x << y;
            Q_EMIT device->pointerMotionAbsolute({x, y}, currentTime(),
device);
            break;
        }

My guess is I need some logging / debugging somewhere in where the events are
being created, I haven't been looking through the codebase quite enough to know
where that would be yet.

My build Info is below it is the 6.6 patches from
https://invent.kde.org/plasma/kwin/-/merge_requests/8602 that should be
unrelated but are also on my build
```
Operating System: openSUSE Tumbleweed 20260207
KDE Plasma Version: 6.5.91
KDE Frameworks Version: 6.22.0
Qt Version: 6.10.2
Kernel Version: 6.18.8-1-default (64-bit)
Graphics Platform: Wayland
Processors: 16 × 11th Gen Intel® Core™ i9-11950H @ 2.60GHz
Memory: 48 GiB of RAM (46.8 GiB usable)
Graphics Processor: NVIDIA RTX A2000 Laptop GPU
```

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to