Merge branch '5.6' into wip-compositor-api

qwindow-compositor changes from 5.6 will be adapted separately.

The traditional wayland-egl path is tested and is functional like before.
The EGLStream support will be verified separately once the qwindow-compositor
changes are ready.

Conflicts:
	examples/wayland/qwindow-compositor/qwindowcompositor.cpp
	examples/wayland/qwindow-compositor/textureblitter.cpp
	examples/wayland/qwindow-compositor/textureblitter.h
	examples/wayland/server-buffer/client/client.pro
	examples/wayland/server-buffer/compositor/compositor.pro
	src/compositor/compositor_api/qwaylandbufferref.cpp
	src/compositor/compositor_api/qwaylandbufferref.h
	src/compositor/hardware_integration/qwlclientbufferintegration_p.h
	src/compositor/wayland_wrapper/qwlkeyboard.cpp
	src/compositor/wayland_wrapper/qwlkeyboard_p.h
	src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp
	src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h
	src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp
	src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h
	src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro

Change-Id: Ic2e3a6e8f74606c35b1e27cd4016fa133527d7ba
This commit is contained in:
Laszlo Agocs 2015-10-27 18:03:44 +01:00
commit 2920b04d88

View File

@ -196,8 +196,13 @@ QByteArray waylandToCType(const QByteArray &waylandType, const QByteArray &inter
return "int32_t";
else if (waylandType == "array")
return "wl_array *";
else if (waylandType == "object" || waylandType == "new_id")
return isServerSide() ? "struct ::wl_resource *" : interface.isEmpty() ? "struct ::wl_object *" : "struct ::" + interface + " *";
else if (waylandType == "object" || waylandType == "new_id") {
if (isServerSide())
return "struct ::wl_resource *";
if (interface.isEmpty())
return "struct ::wl_object *";
return "struct ::" + interface + " *";
}
return waylandType;
}
@ -850,7 +855,14 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr
printf("\n");
foreach (const WaylandEvent &e, interface.requests) {
const WaylandArgument *new_id = newIdArgument(e.arguments);
printf(" %s", new_id ? (new_id->interface.isEmpty() ? "void *" : "struct ::" + new_id->interface + " *").constData() : "void ");
QByteArray new_id_str = "void ";
if (new_id) {
if (new_id->interface.isEmpty())
new_id_str = "void *";
else
new_id_str = "struct ::" + new_id->interface + " *";
}
printf(" %s", new_id_str.constData());
printEvent(e);
printf(";\n");
}
@ -966,7 +978,14 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr
printf("\n");
const WaylandEvent &e = interface.requests.at(i);
const WaylandArgument *new_id = newIdArgument(e.arguments);
printf(" %s%s::", new_id ? (new_id->interface.isEmpty() ? "void *" : "struct ::" + new_id->interface + " *").constData() : "void ", interfaceName);
QByteArray new_id_str = "void ";
if (new_id) {
if (new_id->interface.isEmpty())
new_id_str = "void *";
else
new_id_str = "struct ::" + new_id->interface + " *";
}
printf(" %s%s::", new_id_str.constData(), interfaceName);
printEvent(e);
printf("\n");
printf(" {\n");