[xcb] Fix build failure

Build failure was introduced by 9bb634a6176c639bd6b52d58151e9927c30919d0.

When linking with systems provided libxkbcommon, then DFLT_XKB_CONFIG_ROOT
can't be accessed directly.

The reason that this slip through CI is that on CI machines Qt
is build with bundled version of libxkbcommon.

In addition this patch improves keymap error message, by making it more explicit for
users what could be the reasons for "keymap compilation" failures and what should
be done to make input work. As it turns out this is a common issue on old systems,
servers and some VNC clients.

Task-number: QTBUG-37971

Change-Id: I77667a404150ee7ab8465a065e23ca5eea63c33b
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Enable the depth and stencil buffers by default in QOpenGLWidget

QGLWidget rendered to the default framebuffer, which had a depth and
stencil buffer attached by default.

Keep this behavior by adding the attachments to the FBO by default
in QOpenGLWidget.

Change-Id: I6f72a444eac3d8eabb7a539ad12216f1e5d2183d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Add a way to share context between QtQuick and QtWidgets

This will replace QSGContext::setSharedOpenGLContext.

To be able to allow sharing the Chromium GL context with both
QWebEngineView and QQuickWebEngineView, we need some way of setting
the sharing within QtWidgets and QtQuick. Since they don't depend
on one another this patch allows the sharing context to be set
through QtGui.

Change-Id: I91b365dd06ec925b4c5a99ac82c222778781fe8e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Avoid an "OpenGL Error: 1282" output when resizing a QOpenGLWidget

When we delete the previous FBO in QOpenGLWidget::resizeEvent while
it is the currently bound FBO, the QOpenGLContextPrivate::current_fbo
will not be updated and will try to be bound during the initialization
of the new FBO.

Fix the issue by explicitly releasing the FBO on destruction if it
is current.

Change-Id: Id049889c4857526750bbecf3dd27343e44449c12
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>