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
drm.json
drm_backend.cpp
drm_backend.h
drm_buffer.cpp
drm_buffer.h
drm_buffer_gbm.cpp
drm_buffer_gbm.h
drm_inputeventfilter.cpp
drm_inputeventfilter.h
drm_object.cpp
drm_object.h
drm_object_connector.cpp
drm_object_connector.h
drm_object_crtc.cpp
drm_object_crtc.h
drm_object_plane.cpp
drm_object_plane.h
drm_output.cpp
drm_output.h
drm_pointer.h
egl_gbm_backend.cpp Fix DRM EGL crash regression 2017-10-11 20:04:13 +02:00
egl_gbm_backend.h
gbm_surface.cpp
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
scene_qpainter_drm_backend.h
screens_drm.cpp
screens_drm.h