324 Commits

Author SHA1 Message Date
Erik Larsson
e862c2d222 Simplify client-side API for Wayland extensions
This simplifies the client-side API for Wayland extensions by
introducing QWaylandClientExtension/QWaylandClientExtensionTemplate
classes. These classes takes care of the initialization of the extension
if it matches the interface name.

Change-Id: I7c4fb34563563af4be072cdebda54954b79cddbe
Reviewed-by: Johan Helsing <johan.helsing@theqtcompany.com>
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
2016-03-18 07:38:55 +00:00
Paul Olav Tvete
29d74ed32e Merge remote-tracking branch 'qt/5.6' into 5.7
Change-Id: Iada0e076ee33e8d39ecc4f40edfd9764ba610c03
2016-03-08 14:45:49 +01:00
Giulio Camuffo
330e3a7869 Fix SHM drawing logic
The old logic didn't care to listen for wl_buffer.release events
so it always drew in the same buffer, potentially resulting in
tearing if the compositor was scanning out the buffer at the same time.
Instead properly cycle between a few buffers and don't reuse the same
one until the release event was received.

The old code also used to throttle the redraws, unless the buffer was
changing, that is unless the window was getting resized. This is now
lost, and no throttling is ever done. Doing it properly, by waiting
for the frame callback before committing the new buffer shows very
noticeable lags with many applications when resizing, because they
paint many times per resize event, so they fall behind the cursor.
A proper fix will be to implement the support for requestUpdate(),
and using it in the applications.

Change-Id: I02732c34769a5c75a6ad68c095bae916e4b274d3
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2016-03-07 07:44:21 +00:00
Oswald Buddenhagen
d9e3842afd don't over-expose private dependencies
Change-Id: If46406b4129b464e8ccfa0b4cf6ff2989402ca74
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-02-25 16:48:02 +00:00
Oswald Buddenhagen
9d119e5c96 consistently put {qt,qml}_{module,plugin} at the end of project files
this fixes static builds by ensuring that all dependencies are exported.

Task-number: QTBUG-51071
Change-Id: Ie9e89fa47696244e8ee478ed1a019765c835533e
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-02-25 16:47:59 +00:00
Elvis Lee
f52b53996c Fix crash for destroyed surface on touch event
Change-Id: Ia3dd8627c1b96a88d308dc7fa85d936f809c7856
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-02-25 14:22:41 +00:00
Liang Qi
f9510e1aff Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	.qmake.conf
	src/compositor/compositor_api/qwaylandquicksurface.cpp

Change-Id: Ic5e4217549c6c08740dba5ac1794d0a8e53f3a47
2016-02-19 16:05:24 +01:00
Yusuke Binsaki
e7e8dbbd7a Implement initial IVI-shell support with shell integration.
IVI-shell provides a shell interface for Weston, which maps the GENIVI
API (http://www.genivi.org) for In-Vehicle Infotainment as Wayland-Ivi-Extension
(http://wiki.projects.genivi.org/index.php/Wayland_IVI_Extension_Design).

This patch is included in two protocol. The first is ivi-application protocol
which provided by weston. Next is ivi-controller protocol which provided by
Genivi's wayland-ivi-extension.
In IVI use case, the client create and destroy surface with the unique ID
by using ivi-application protocol. On the other hand, the controller such as
HMI Controller control some properties, which are visibility, position, size,
etc, with created the unique ID by using ivi-controller protocol.
It means the unique ID is necessary to create and control the ivi-surface and
the the ivi-layer. However Qt has no API to set the some surface or layer ID.

In this ivi-shell plugin, the unique ID can be set via the environment
parameter so that we can control the ivi-surface and ivi-layer. The
name of environment parameter is QT_IVI_SURFACE_ID.
QT_IVI_SURFACE_ID will be used as ivi-surface and ivi-layer. If application
needs more than two surfaces, ivi-surface IDs will be incremented.
When QT_IVI_SURFACE_ID isn't set, ivi-surface and ivi-layer ID will be
generated internally.  The ID consists of the process ID and the surface
ID which is incremented in ivi-shell plugin.
The process ID is used as lower 22 bit per 32bit. 23 to 32 bit is used as
the surface IDs in a process.
e.g. When the process ID is 0x765 and create two surfaces,
ivi-layer ID is 0x765 and ivi-surface IDs are 0x765 and 0x00400765.
  +------------+---------------------------+
  |31        23|22                        0|
  +------------+---------------------------+
  |0000 0000 00|00 0000 0000 0000 0000 0000|
  |<- ID     ->|<- process ID            ->|
  +------------+---------------------------+

We can set QT_WAYLAND_SHELL_INTEGRATION of the environment
parameter to "ivi-shell" to use IVI-shell.

Change-Id: Iddcfb3de89dc022530c0285524cf6bbf640147b6
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
2016-02-12 21:29:13 +00:00
Johan Klokkhammer Helsing
c70987cd65 Fix freeze when using BypassWindowManagerHint
Shell surfaces are now created for windows with BypassWindowManager
set, unless the environment variable
QT_WAYLAND_USE_BYPASSWINDOWMANAGERHINT is also set.

This means that in case you need a window to not create a wayland
shell_surface (perhaps because you do not want to use wl_shell or
xdg_shell), you can set the environment variable and get the same
behavior as before. Meaning the surfaces of windows with the flag set
will not be assigned a role.

Task-number: QTBUG-49272
Change-Id: Idf969540497d6b4e54395b97472d99d2e068be93
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2016-02-12 10:41:00 +00:00
Giulio Camuffo
fbbdcc1224 Allow initializing the server protocol classes with a wl_resource
Change-Id: I3efd23284392e0ff587f86c7c163c0e4ffadb1f1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2016-02-10 13:38:42 +00:00
Laszlo Agocs
8a706c0a7e Add missing we mean it header
Change-Id: I170089d87a56e56e12360a60bf76a142343b47f4
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2016-01-29 15:13:59 +00:00
Antti Kokko
a38a6a7d9d Updated license headers
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)

Change-Id: Ifa334d2d3487e413e90ba9f2bf377026076b2df1
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-20 10:53:53 +00:00
Antti Kokko
08a9a13b4a Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I76ae5d3e64f096eb3163d6163a38d68c7c1ca756
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-20 10:53:37 +00:00
Pier Luigi Fiorini
ab9b67b140 Set appId according to QGuiApplication::desktopFileName()
Since qtbase 61ad604ad41607be97efea5a18cd4d9fb7ddca73, QGuiApplication
has got a new property: desktopFileName.

Applications can now specify the desktop file name.
In that case we have a reliable information: use it for the appId
removing the ".desktop" suffix.

Otherwise, just use the logic we previously established.

Change-Id: I03c89009620b33bc68ee97ed414cfee1c1794632
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-01-11 20:05:33 +00:00
Paul Olav Tvete
4c0a1bc3b0 Don't create wl_surface for desktop widgets
Change-Id: I3ebcb49a4acf230b9515c0317aab2307dcb9270b
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2016-01-11 15:45:38 +00:00
Paul Olav Tvete
53326bfa3f Fix the control key
Let Ctrl+A cause a key event with text Ctrl+A (0x01), like we do on
the other platforms. Previously we would use 'A', which would confuse
some applications.

Task-number: QTBUG-50398
Change-Id: Ie3def4bd9c96e538b2572b88fae029d347e08814
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2016-01-11 15:44:23 +00:00
Paul Olav Tvete
a1c0b7e148 Merge branch 'wip-compositor-api' into dev
This introduces the new compositor API, removing the
old API (which was never officially supported).

Change-Id: I1dc01f0fb4edc749e34ed8356e56ad87d7d64913
2015-12-02 14:01:08 +01:00
Paul Olav Tvete
8c56476164 Merge remote-tracking branch 'qt/5.6' into wip-compositor-api
Change-Id: Ie70fdd03e1259a8cb75bbdbf1324e3e4a2b51807
2015-12-02 10:35:50 +01:00
Liang Qi
ab83e33a61 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/client/qwaylanddisplay_p.h

Change-Id: I602b90a055d1322af369fb7b77a68583154b660f
2015-12-01 23:08:05 +01:00
Mikko Levonmaa
e259816fd0 Support non-blocking flush for shm subsurfaces
Change-Id: I6cc8d5214c905d6b2e9f0c2eebb07d1cb897f74a
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Reviewed-by: Mikko Levonmaa <mikko.levonmaa@bitfactor.fi>
2015-11-28 09:51:09 +00:00
Mikko Levonmaa
6c3297a6f1 Make swap buffer call non-blocking for subsurfaces
Allows clients that use subsurfaces in synchronized mode to continue
processing the event loop even in cases where a frame callback is not
delivered from the compositor pending a parent surface commit

Change-Id: I7df38afc4080546b60184dacecde321ba8062fac
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-11-12 06:41:18 +00:00
Laszlo Agocs
5a4487e16b Get rid of the egl config test and use what qtbase provides
contains(QT_CONFIG, egl) and CONFIG += egl is the only sane way to test
for and pull in EGL headers and libs. This is particularly important when
trying to be robust and guard against half-broken sysroots on embedded
where a naive PKGCONFIG += egl breaks.

Also add an EGL_WAYLAND_BUFFER_WL define to keep wayland-egl compiling.
We are not testing for that in any config tests may cause a failure in sysroots
that have parts of Mesa thrown in but pick ip an older EGL header from the
vendor's driver.

Change-Id: I7b7e6a7a91e78dbda5b6954ad08761298c538efc
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-11-11 13:22:40 +00:00
Mikko Levonmaa
cf514c46a9 Add QWaylandWindowFunctions
Allow the control of the subsurface sync mode

Change-Id: I19f35261313282873f57228487a63a8f6a780b0c
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-11-06 15:08:47 +00:00
Friedemann Kleint
8c457f7183 Fix compiler warnings.
qwaylandinputcontext.cpp:57:16: warning: unused parameter 'sym' [-Wunused-parameter]
qwaylanddatadevice.cpp:173:135: warning: 'dragData' may be used uninitialized in this function [-Wmaybe-uninitialized]

Change-Id: Id654360fd9b7fdb572565ad39b664af3355b5e79
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-11-05 12:54:58 +00:00
Giulio Camuffo
d49cd790d8 client: Remove the event thread
If the compositor sends events to us while the main thread is blocked
the socket notifier in the events thread would keep sending out the
activated() signal, but no events would actually be read until the
main thread starts to run again. That causes the event thread to keep
queueing new events, and so allocating memory, potentially forever.
This patch fixes the issue in maybe a bit radical way, that is by removing
the event thread. The socket notifier now runs in the main thread so it
will block if the events are not being read.
Nowadays there is no real reason to keep the event thread around, as every
thread that needs to receive wayland events can dispatch them on its own,
we don't need a central dispatcher thread anymore.

Change-Id: Ib7885e4b038b82719d78d193f465618a72cbe6af
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2015-11-03 13:13:34 +00:00
Kevin Funk
0520481077 CMake: Create CMake files for WaylandClient
Also add unit tests

Change-Id: I66de887607f73b318884e4a35f18510b90cf0315
Task-number: QTBUG-47357
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-11-02 16:27:34 +00:00
Martin Gräßlin
eace7fb3ad Add wl_shell_surface as nativeResourceForWindow
Allows to get the wl_shell_surface for a QWindow, if it exists.

Change-Id: I16b1c578a1c605e58c96e94ae55a3331ecfa353d
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-10-30 08:59:19 +00:00
Giulio Camuffo
face687a62 Fix deadlock when starting a drag
With commit c55a36cb9015cf1eebd49eaa5b1b4f4ec9b28451 in qtbase the
QSimpleDrag code changed in a way that caused a deadlock due to
drawing a window without a role. However, thanks to that we can
now remove that start/cancel hack and simplify the code.

Change-Id: Icba6e7c9c4927855e48fb21632db1a10332c4ffb
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-10-29 15:05:46 +00:00
Laszlo Agocs
2920b04d88 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
2015-10-27 18:31:47 +01:00
Liang Qi
b8fc07100b Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: Idc8300948e3d52bfe2c14c62230280a68b2ed100
2015-10-27 10:09:13 +01:00
Laszlo Agocs
fc78f8239e Fix for QStringBuilder
Change-Id: I2a7b82bd2705919a91492edfccac02f4d8fc2c9b
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2015-10-19 18:30:44 +00:00
Liang Qi
7dbe121971 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/client/qwaylandintegration.cpp

Change-Id: I29120f06d33c2d383a41cf35ca4a59f5d8548ad7
2015-10-15 09:07:48 +02:00
Paul Olav Tvete
5effda3eb0 Merge branch 'qt/5.6' into wip-compositor-api
Conflicts:
	examples/wayland/pure-qml/main.cpp
	examples/wayland/pure-qml/qml/Chrome.qml
	examples/wayland/pure-qml/qml/main.qml
	src/client/qwaylanddnd_p.h
	src/compositor/compositor_api/qwaylandquicksurface.cpp
	src/compositor/compositor_api/qwaylandsurface_p.h
	src/compositor/compositor_api/qwaylandsurfaceitem.cpp
	src/compositor/extensions/qwlinputmethodcontext_p.h
	src/compositor/hardware_integration/qwlclientbufferintegration_p.h
	src/compositor/hardware_integration/qwlclientbufferintegrationfactory_p.h
	src/compositor/hardware_integration/qwlclientbufferintegrationplugin_p.h
	src/compositor/hardware_integration/qwlhwintegration_p.h
	src/compositor/hardware_integration/qwlserverbufferintegrationfactory_p.h
	src/compositor/hardware_integration/qwlserverbufferintegrationplugin_p.h
	src/compositor/wayland_wrapper/qwlcompositor_p.h
	src/compositor/wayland_wrapper/qwldatadevice_p.h
	src/compositor/wayland_wrapper/qwldatadevicemanager_p.h
	src/compositor/wayland_wrapper/qwldatasource_p.h
	src/compositor/wayland_wrapper/qwlextendedsurface_p.h
	src/compositor/wayland_wrapper/qwlinputdevice_p.h
	src/compositor/wayland_wrapper/qwlinputmethod_p.h
	src/compositor/wayland_wrapper/qwlinputpanel_p.h
	src/compositor/wayland_wrapper/qwlinputpanelsurface_p.h
	src/compositor/wayland_wrapper/qwlkeyboard.cpp
	src/compositor/wayland_wrapper/qwlkeyboard_p.h
	src/compositor/wayland_wrapper/qwloutput_p.h
	src/compositor/wayland_wrapper/qwlpointer_p.h
	src/compositor/wayland_wrapper/qwlregion_p.h
	src/compositor/wayland_wrapper/qwlshellsurface_p.h
	src/compositor/wayland_wrapper/qwlsubsurface_p.h
	src/compositor/wayland_wrapper/qwlsurface.cpp
	src/compositor/wayland_wrapper/qwlsurface_p.h
	src/compositor/wayland_wrapper/qwltextinput_p.h
	src/compositor/wayland_wrapper/qwltextinputmanager_p.h
	src/compositor/wayland_wrapper/qwltouch_p.h
	src/compositor/windowmanagerprotocol/waylandwindowmanagerintegration_p.h
	src/imports/compositor/WaylandCursorItem.qml

Change-Id: I4e63ef295b297022d4970b3c68b3d565843086bd
2015-10-13 16:22:39 +02:00
Friedemann Kleint
2eac89028b Add missing "We mean it" comments to private headers.
Change-Id: I70c01453b3939d1d645d626ae84c21ab4c9d267a
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-10-05 09:35:34 +00:00
Liang Qi
9c55a359a9 Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6 2015-10-02 15:33:19 +00:00
Andres Gomez
dcc7143a18 xkb: Provide support for the XF86Phone symbol
Change-Id: I19fd0bc7a56b4baa5b6d40836d5f0401a3b11c49
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-10-02 12:18:23 +00:00
Liang Qi
2638cae03d Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: Ib3c5bec85a09d92e37a3af8e1c749a80cb40c056
2015-10-02 13:50:24 +02:00
Giulio Camuffo
3130cc4d86 Implement the wl_subcompositor interface server-side
This change removes the qt_sub_surface extension and replaces it with
the standard wl_subsurface.
Only the bare minimum functionality is implemented, the wl_subsurface
requests are left as dummy handlers currently.

Change-Id: I025304072cf157f732e90c4b5649a07b295fdea5
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Reviewed-by: Mikko Levonmaa <mikko.levonmaa@bitfactor.fi>
2015-10-01 09:44:34 +00:00
Mikko Levonmaa
b69db39d48 Add QWayland::shm object to client
Allows more flexibility for the client to determine
additional shm formats supported by the compositor in
addition to the standard types. For example YUV formats.

Change-Id: Ib4a47c1d5bbeed9314d5ad5f5f8e1551c1dd71e4
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
Reviewed-by: Mikko Levonmaa <mikko.levonmaa@bitfactor.fi>
2015-09-25 18:37:33 +00:00
Giulio Camuffo
a7ed723edb Fix a segfault when the wayland connection is broken
When calling ::exit() the socket notifier in the events thread may still
fire before the process actually exits, using objects that are being
destroyed and resulting in a segfault.
Stop the events thread before calling ::exit().

Change-Id: I187762da2a7efa83db1e62b0e28dfab89f478c7d
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2015-09-25 11:33:02 +00:00
Philippe Coval
b975ab4b85 xdg-shell: upgrade to support current version (weston-1.8.0)
Handle transition from Normal to Maximize then Fullscreen and back to Maximized.
Avoid to maximize if no requested size

The protocol file is a raw copy of
Source: http://cgit.freedesktop.org/wayland/weston/plain/protocol/xdg-shell.xml?id=1.8.0

Minor Nitpick fixes (arrays of bytes, conditionnal or test, c++ function call)

Task-number: QTBUG-47327
Change-Id: Ib508e2166cc1337fd93454f30814136839cffa29
(cherry picked from commit 6906a6445c0cbf9d11f8d5d32b181f558a2292c9)
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-09-23 09:17:57 +00:00
Friedemann Kleint
38e4f03cf8 QWaylandXdgSurface/QWaylandWlShellSurface: Fix warnings about CT initialization order.
qwaylandxdgsurface.cpp: In constructor 'QtWaylandClient::QWaylandXdgSurface::QWaylandXdgSurface(xdg_surface*, QtWaylandClient::QWaylandWindow*)':
qwaylandxdgsurface.cpp:55:31: warning: base 'QtWayland::xdg_surface' will be initialized after [-Wreorder]
qwaylandxdgsurface.cpp:55:31: warning:   base 'QtWaylandClient::QWaylandShellSurface' [-Wreorder]
qwaylandxdgsurface.cpp:48:1: warning:   when initialized here [-Wreorder]
qwaylandwlshellsurface.cpp: In constructor 'QtWaylandClient::QWaylandWlShellSurface::QWaylandWlShellSurface(wl_shell_surface*, QtWaylandClient::QWaylandWindow*)':
qwaylandwlshellsurface.cpp:55:31: warning: base 'QtWayland::wl_shell_surface' will be initialized after [-Wreorder]
qwaylandwlshellsurface.cpp:55:31: warning:   base 'QtWaylandClient::QWaylandShellSurface' [-Wreorder]
qwaylandwlshellsurface.cpp:49:1: warning:   when initialized here [-Wreorder]

Change-Id: If7ed49fa6f788db7407b5ee82aa252e19e2d4747
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-09-15 11:34:19 +00:00
Jørgen Lind
65847be1be Fix sending exposeevents on all swapbuffers
In Change-Id: I2d4a5f6dd357d84df43acc0082f9621fb6609768 I extracted a
call to handleExposeEvent from a if statement. I failed to see that the
else condition also had an if statement.

Change-Id: Ie51c5f918a4e4ddaec9e75c9c3afffa962d2bd06
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-09-10 08:21:25 +00:00
Jørgen Lind
9fa8f84f0b Fix % warning when using generated files
Change-Id: Ib7857743140d9f2dfa5bf1ff2187af8f3e2478da
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-09-10 08:21:14 +00:00
Jørgen Lind
69d1793472 Rename QtCompositor to QtWaylandCompositor
enable building QtWaylandCompositor by default

Change-Id: I7cf34052b304ca9fef55b7e30ef6a6367b5d75f1
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-09-10 08:20:53 +00:00
Jørgen Lind
7c93b46a03 Add an assert in QtWaylandScanner for duplicate binds
Since Q_SIGNALS are a one -> many distribution we can end up signalling
creation requests to many slots. Its then important that we verify that
only one of these actually binds an object for the object id. Its a
programming error to have this situation, hence its an assert, and not a
runtime check that gives a warning. The bind will overwrite the object
and the last bind will continue to work as normal in release mode.

Change-Id: I1f469066cf5287789249763843e6cbaa545ee619
2015-09-04 16:12:47 +02:00
Jørgen Lind
6f3dc689d7 Set default size if a QWindow has no geometry
also extract two lines out of conditional branches

Change-Id: I2d4a5f6dd357d84df43acc0082f9621fb6609768
2015-09-04 16:12:47 +02:00
Philippe Coval
23dbf71265 xdg-shell: upgrade to support current version (weston-1.8.0)
Handle transition from Normal to Maximize then Fullscreen and back to Maximized.
Avoid to maximize if no requested size

The protocol file is a raw copy of
Source: http://cgit.freedesktop.org/wayland/weston/plain/protocol/xdg-shell.xml?id=1.8.0

Minor Nitpick fixes (arrays of bytes, conditionnal or test, c++ function call)

Task-number: QTBUG-47327
Change-Id: Ib508e2166cc1337fd93454f30814136839cffa29
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
2015-09-03 22:52:05 +00:00
Jørgen Lind
db75602d80 Compilefix from Pauls high DPI changes
Change-Id: I871cf93c690be2709d4fb6a1377f102c8d32e243
2015-08-28 13:10:33 +02:00
Jørgen Lind
3aa93bb379 Remove the qt_sub_surface extension
Change-Id: I380590722f2c95ff68972f5b3c94a7cc4cfe016f
2015-08-28 13:10:33 +02:00