kwin/plugins/qpa
Martin Gräßlin 8909f8780b [plugins/qpa] Call makeCurrent on the QOpenGLContext instead of the one in the platform context
Summary:
SharingPlatformContext::swapBuffers needs to make the context current.
For this is calls makeCurrent. Later on this tries to bind a fbo, which
checks calls into the current QOpenGLContext. As we called makeCurrent on
our own platform context Qt doesn't know that the context is current and
returns in the worst case a nullptr and crashes.

This change calls makeCurrent on the QOpenGLContext so that Qt also knows
that this context is current now. The QOpenGLContext calls makeCurrent on
the platform context, so what our code tried to do is still being done.

In addition the method context() in AbstractPlatformContext is renamed to
eglContext to no longer shadow the method in QPlatformContext.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2582
2016-08-26 07:38:04 +02:00
..
abstractplatformcontext.cpp [plugins/qpa] Support SharingPlatformContext on the existing eglSurface and eglconfig 2016-07-20 14:17:11 +02:00
abstractplatformcontext.h [plugins/qpa] Call makeCurrent on the QOpenGLContext instead of the one in the platform context 2016-08-26 07:38:04 +02:00
backingstore.cpp [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
backingstore.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
CMakeLists.txt [plugins/qpa] Add debug output for the KWin internal QPA plugin 2016-07-18 16:34:03 +02:00
integration.cpp [plugins/qpa] Support SharingPlatformContext on the existing eglSurface and eglconfig 2016-07-20 14:17:11 +02:00
integration.h Integrate QtVirtualKeyboard into KWin/Wayland 2016-06-02 11:26:53 +02:00
kwin.json [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
main.cpp Maintenance - fixing naming typos 2016-02-09 17:20:12 +01:00
nativeinterface.cpp [plugins/qpa] Add a roundtrip platform function 2016-03-16 11:10:14 +01:00
nativeinterface.h [plugins/qpa] Add a roundtrip platform function 2016-03-16 11:10:14 +01:00
platformcontextwayland.cpp [plugins/qpa] Call makeCurrent on the QOpenGLContext instead of the one in the platform context 2016-08-26 07:38:04 +02:00
platformcontextwayland.h [wayland] Add a QPA plugin for kwin_wayland 2015-08-25 14:33:50 +02:00
platformcursor.cpp [plugins/qpa] Implement a custom QPlatformCursor 2016-02-17 12:42:12 +01:00
platformcursor.h [plugins/qpa] Implement a custom QPlatformCursor 2016-02-17 12:42:12 +01:00
screen.cpp [plugins/qpa] Add support for QT_WAYLAND_FORCE_DPI env variable 2016-05-17 07:32:30 +02:00
screen.h [plugins/qpa] Add support for QT_WAYLAND_FORCE_DPI env variable 2016-05-17 07:32:30 +02:00
sharingplatformcontext.cpp [plugins/qpa] Call makeCurrent on the QOpenGLContext instead of the one in the platform context 2016-08-26 07:38:04 +02:00
sharingplatformcontext.h [plugins/qpa] Support SharingPlatformContext on the existing eglSurface and eglconfig 2016-07-20 14:17:11 +02:00
window.cpp [Wayland] Make it possible to have internal windows decorated 2016-08-08 14:00:32 +02:00
window.h Make Wayland::EGL optional again 2015-12-01 07:58:47 +01:00