kwin/plugins/platforms/drm
Martin Gräßlin 7ea84cd346 [platforms/drm] If mapping a DrmBuffer for a cursor fails, fallback to software cursor
Summary:
So far the drm platform did not verify whether creating and mapping a
DrmBuffer for a cursor works. This could result in a crash in the worst
case.

This change verfies whether mapping the two cursor buffers works, if
not software cursor is enabled. The code is adjusted to ensure that
none of the cursor buffers is accessed in case software cursor are
enabled.

Please note that right now the drm platform's rendering does not
support software cursors. Thus currently this change results in no
cursor at all. This will be addressed by following patches.

BUG: 364740
FIXED-IN: 5.7

Test Plan:
Verfied that it properly falls back to software cursor,
but could not verify that the crash is actually fixed.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2026
2016-06-29 08:49:17 +02:00
..
CMakeLists.txt
drm.json
drm_backend.cpp [platforms/drm] If mapping a DrmBuffer for a cursor fails, fallback to software cursor 2016-06-29 08:49:17 +02:00
drm_backend.h [platforms/drm] Only show cursor if a pointer device is available 2016-05-25 12:14:00 +02:00
drm_buffer.cpp
drm_buffer.h
drm_inputeventfilter.cpp
drm_inputeventfilter.h
drm_output.cpp [platforms/drm] Apply new global position on DrmOutput for a changeset 2016-06-14 13:42:25 +02:00
drm_output.h
drm_pointer.h
egl_gbm_backend.cpp
egl_gbm_backend.h
logging.cpp
logging.h
scene_qpainter_drm_backend.cpp [plugins/drm] Drop dependency on VirtualTerminal 2016-04-22 14:18:56 +02:00
scene_qpainter_drm_backend.h add override to bufferForScreen 2016-05-02 14:50:23 +02:00
screens_drm.cpp
screens_drm.h