Merge remote-tracking branch 'origin/5.6' into 5.7

Conflicts:
	.qmake.conf
	src/compositor/compositor_api/qwaylandquicksurface.cpp

Change-Id: Ic5e4217549c6c08740dba5ac1794d0a8e53f3a47
This commit is contained in:
Liang Qi 2016-02-19 16:05:24 +01:00
commit f9510e1aff
2 changed files with 11 additions and 3 deletions

View File

@ -651,6 +651,13 @@ void QWaylandInputDevice::Keyboard::keyboard_key(uint32_t serial, uint32_t time,
qtkey = QWaylandXkb::keysymToQtKey(sym, modifiers, text); qtkey = QWaylandXkb::keysymToQtKey(sym, modifiers, text);
// Map control + letter to proper text
if (utf32 >= 'A' && utf32 <= '~' && (modifiers & Qt::ControlModifier)) {
utf32 &= ~0x60;
text = QString::fromUcs4(&utf32, 1);
}
QWindowSystemInterface::handleExtendedKeyEvent(window->window(), QWindowSystemInterface::handleExtendedKeyEvent(window->window(),
time, type, qtkey, time, type, qtkey,
modifiers, modifiers,

View File

@ -95,8 +95,8 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
{ {
static WId id = 1; static WId id = 1;
mWindowId = id++; mWindowId = id++;
if (window->type() != Qt::Desktop)
initWindow(); initWindow();
} }
QWaylandWindow::~QWaylandWindow() QWaylandWindow::~QWaylandWindow()
@ -129,7 +129,8 @@ void QWaylandWindow::initWindow()
if (::wl_subsurface *ss = mDisplay->createSubSurface(this, p)) { if (::wl_subsurface *ss = mDisplay->createSubSurface(this, p)) {
mSubSurfaceWindow = new QWaylandSubSurface(this, p, ss); mSubSurfaceWindow = new QWaylandSubSurface(this, p, ss);
} }
} else if (!(window()->flags() & Qt::BypassWindowManagerHint)) { } else if (!(qEnvironmentVariableIsSet("QT_WAYLAND_USE_BYPASSWINDOWMANAGERHINT") &&
window()->flags() & Qt::BypassWindowManagerHint)) {
mShellSurface = mDisplay->createShellSurface(this); mShellSurface = mDisplay->createShellSurface(this);
} }