kwin/plugins/platforms/drm
David Edmundson 3d619c995b Fix DRM EGL crash regression
Summary:
In 47343fb we made GBM buffer shared.

What we wanted to do was:
Unbox the shared_pointer<GBMSurface> to give us a GBMSurface* object
Call the gbm_surface*() on that operator
Then cast that to a void* for eglCreatePlatformWindowSurfaceEXT

What we did:
Cast the std::shared_ptr<GBMSurface> to a gbm_surface*  then cast that
to void*.
This is just a garbage value and it crashes in Mesa when we do our first
paint.

I've replaced that with an explicit method then we can use shared_ptr's
-> operator rather than get() which does the right thing in a readable
way.

Test Plan:
It crashed after rebasing to master (for Aleix too)
No longer crashes

Reviewers: #plasma

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8251
2017-10-11 20:04:13 +02:00
..
CMakeLists.txt Merge branch 'Plasma/5.11' 2017-10-09 21:04:41 +02:00
drm.json SVN_SILENT made messages (.desktop file) - always resolve ours 2017-08-30 08:05:15 +02:00
drm_backend.cpp Merge branch 'Plasma/5.11' 2017-10-09 21:04:41 +02:00
drm_backend.h [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
drm_buffer.cpp [DRM plugin] Reorganize DrmBuffer 2017-05-09 21:00:33 +02:00
drm_buffer.h [DRM plugin] Reorganize DrmBuffer 2017-05-09 21:00:33 +02:00
drm_buffer_gbm.cpp [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
drm_buffer_gbm.h [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
drm_inputeventfilter.cpp
drm_inputeventfilter.h
drm_object.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_connector.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_connector.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_crtc.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_crtc.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_plane.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_plane.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_output.cpp Restore cursors across multiple screens 2017-09-24 17:11:12 +01:00
drm_output.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_pointer.h
egl_gbm_backend.cpp Fix DRM EGL crash regression 2017-10-11 20:04:13 +02:00
egl_gbm_backend.h Merge branch 'Plasma/5.11' 2017-10-09 21:04:41 +02:00
gbm_surface.cpp [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
gbm_surface.h Fix DRM EGL crash regression 2017-10-11 20:04:13 +02:00
logging.cpp
logging.h
scene_qpainter_drm_backend.cpp Add scaling to DRM backend 2017-03-29 20:53:22 +01:00
scene_qpainter_drm_backend.h Move QPainter compositor into plugin 2017-09-01 17:44:49 +02:00
screens_drm.cpp Add scaling to DRM backend 2017-03-29 20:53:22 +01:00
screens_drm.h Add scaling to DRM backend 2017-03-29 20:53:22 +01:00