summaryrefslogtreecommitdiffstats
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'qt/5.6' into 5.7Paul Olav Tvete2016-03-088-147/+180
|\ | | | | | | Change-Id: Iada0e076ee33e8d39ecc4f40edfd9764ba610c03
| * Fix SHM drawing logicGiulio Camuffo2016-03-077-111/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * don't over-expose private dependenciesOswald Buddenhagen2016-02-251-4/+4
| | | | | | | | | | Change-Id: If46406b4129b464e8ccfa0b4cf6ff2989402ca74 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-10/+9
| | | | | | | | | | | | | | | | 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>
| * Fix crash for destroyed surface on touch eventElvis Lee2016-02-251-0/+5
| | | | | | | | | | | | Change-Id: Ia3dd8627c1b96a88d308dc7fa85d936f809c7856 Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-02-192-3/+11
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf src/compositor/compositor_api/qwaylandquicksurface.cpp Change-Id: Ic5e4217549c6c08740dba5ac1794d0a8e53f3a47
| * Fix freeze when using BypassWindowManagerHintJohan Klokkhammer Helsing2016-02-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Don't create wl_surface for desktop widgetsv5.6.0-rc1Paul Olav Tvete2016-01-111-2/+2
| | | | | | | | | | Change-Id: I3ebcb49a4acf230b9515c0317aab2307dcb9270b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
| * Fix the control keyPaul Olav Tvete2016-01-111-0/+7
| | | | | | | | | | | | | | | | | | | | 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>
* | Implement initial IVI-shell support with shell integration.Yusuke Binsaki2016-02-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add missing we mean it headerLaszlo Agocs2016-01-291-0/+11
| | | | | | | | | | Change-Id: I170089d87a56e56e12360a60bf76a142343b47f4 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | Updated license headersAntti Kokko2016-01-2084-1178/+1682
| | | | | | | | | | | | | | | | | | | | 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>
* | Set appId according to QGuiApplication::desktopFileName()Pier Luigi Fiorini2016-01-111-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'wip-compositor-api' into devPaul Olav Tvete2015-12-028-114/+92
|\ \ | | | | | | | | | | | | | | | | | | This introduces the new compositor API, removing the old API (which was never officially supported). Change-Id: I1dc01f0fb4edc749e34ed8356e56ad87d7d64913
| * | Merge remote-tracking branch 'qt/5.6' into wip-compositor-apiPaul Olav Tvete2015-12-0210-247/+42
| |\| | | | | | | | | | Change-Id: Ie70fdd03e1259a8cb75bbdbf1324e3e4a2b51807
| * | Merge branch 'qt/5.6' into wip-compositor-apiPaul Olav Tvete2015-10-1352-65/+550
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Fix sending exposeevents on all swapbuffersJørgen Lind2015-09-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Set default size if a QWindow has no geometryJørgen Lind2015-09-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | also extract two lines out of conditional branches Change-Id: I2d4a5f6dd357d84df43acc0082f9621fb6609768
| * | | Compilefix from Pauls high DPI changesJørgen Lind2015-08-282-6/+6
| | | | | | | | | | | | | | | | Change-Id: I871cf93c690be2709d4fb6a1377f102c8d32e243
| * | | Remove the qt_sub_surface extensionJørgen Lind2015-08-281-1/+0
| | | | | | | | | | | | | | | | Change-Id: I380590722f2c95ff68972f5b3c94a7cc4cfe016f
| * | | Check if we have a shellSurface in the decorationJørgen Lind2015-08-281-2/+2
| | | | | | | | | | | | | | | | Change-Id: I984163753791a640a99e182b55746f486c0a01cb
| * | | Rework how we manage extensionsJørgen Lind2015-08-281-1/+0
| | | | | | | | | | | | | | | | Change-Id: If2cbf096e7419bc1bda007d5167ce39d1a5d50ae
| * | | Fix some wrong licenses in QtWaylandClientJørgen Lind2015-07-244-108/+84
| | | | | | | | | | | | | | | | Change-Id: I8d5e88e9b296276c6d9d570b3e5e704f32298d83
* | | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-0110-247/+42
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddisplay_p.h Change-Id: I602b90a055d1322af369fb7b77a68583154b660f
| * | | Fix compiler warnings.Friedemann Kleint2015-11-052-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | client: Remove the event threadGiulio Camuffo2015-11-036-232/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | CMake: Create CMake files for WaylandClientKevin Funk2015-11-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Add wl_shell_surface as nativeResourceForWindowMartin Gräßlin2015-10-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows to get the wl_shell_surface for a QWindow, if it exists. Change-Id: I16b1c578a1c605e58c96e94ae55a3331ecfa353d Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
| * | | Fix deadlock when starting a dragGiulio Camuffo2015-10-291-13/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Support non-blocking flush for shm subsurfacesMikko Levonmaa2015-11-281-12/+31
| | | | | | | | | | | | | | | | | | Change-Id: I6cc8d5214c905d6b2e9f0c2eebb07d1cb897f74a Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by: Mikko Levonmaa <mikko.levonmaa@bitfactor.fi>
* | | Make swap buffer call non-blocking for subsurfacesMikko Levonmaa2015-11-122-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Add QWaylandWindowFunctionsMikko Levonmaa2015-11-064-1/+82
| | | | | | | | | | | | | | | | | | | | | Allow the control of the subsurface sync mode Change-Id: I19f35261313282873f57228487a63a8f6a780b0c Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-1552-61/+546
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandintegration.cpp Change-Id: I29120f06d33c2d383a41cf35ca4a59f5d8548ad7
| * | Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-0544-0/+484
| | | | | | | | | | | | | | | Change-Id: I70c01453b3939d1d645d626ae84c21ab4c9d267a Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-021-0/+2
| |\ \ | | | | | | | | | | | | Change-Id: Ib3c5bec85a09d92e37a3af8e1c749a80cb40c056
| | * | Fix a segfault when the wayland connection is brokenGiulio Camuffo2015-09-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | xdg-shell: upgrade to support current version (weston-1.8.0)Philippe Coval2015-09-231-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | QWaylandXdgSurface/QWaylandWlShellSurface: Fix warnings about CT ↵Friedemann Kleint2015-09-152-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Merge remote-tracking branch 'origin/5.5' into 5.6v5.6.0-alpha1Liang Qi2015-08-288-50/+44
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp Change-Id: I80ead87f3e1f36299b1bf9cc9c7db6cd48c0e86f
| | * | Fix QDesktopServices::openUrl when there is no windowmanager integrationGiulio Camuffo2015-08-262-15/+20
| | | | | | | | | | | | | | | | | | | | Change-Id: I51da06261acfb193a59db34bc2dd25e3452fce8d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| | * | Fix possible race condition leading to a dead lockGiulio Camuffo2015-07-064-20/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is a bit dangerous to call wl_display_dispatch() in the event thread, since it may race with the dispatch called e.g. in QWaylandDisplay's blockingReadEvents() and lead to a dead lock. Instead, use wl_display_prepare_read() and wl_display_read_events() in the event thread, which doesn't block, and only dispatch in QWaylandDisplay. As a result we don't need the additional wayland queue anymore, so remove it. Change-Id: I9fbbe5d2f38d06773beb7847df1a0212cca92c37 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | * | Fix tooltips without a transient parentGiulio Camuffo2015-07-042-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QToolTip has the same problems as QMenu, that is you can create one without a parent and with a global position. Use the same trick and use the window that last received an input event as the parent. Change-Id: I093c8da0d54110903f35670b01dea6fa96abecf4 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | | Enable input context selectionBernd Weimer2015-08-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was not possible to use a different input context than the platform context. This has been unified across major platforms, depending on the environment variable "QT_IM_MODULE", the following context is selected: - null: default platform context (Wayland in this case) - empty: no context - set: set one, if it exists and is valid (otherwise no context) Change-Id: I07c6fb339c434f99fc6e092a2e18f00600daa3bc Reviewed-by: Nedim Hadzic <nedim.hadzic@pelagicore.com> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | | | Implement the wl_subcompositor interface server-sideGiulio Camuffo2015-10-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Add QWayland::shm object to clientMikko Levonmaa2015-09-257-7/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | xdg-shell: upgrade to support current version (weston-1.8.0)Philippe Coval2015-09-031-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Fallback to normal input method pluginsMarco Martin2015-08-201-1/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wl_text_input is still a weston-specific extension. other compositors just expect the normal input context plugins to be instantiated when the wayland client connects. now try to use the one based upon wl_text_input, if fails fallback to the QPlatformInputContextFactory::create() route Change-Id: I034acf9ed19c766250f81fc5648d0318ae45f1bf Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | / Compile after QPA API changes.Morten Johan Sørvig2015-08-062-6/+6
| |/ |/| | | | | | | | | | | | | QMouseEvent -> QPoint in QSimpleDrag::move and drop Task-number: QTBUG-46615 Change-Id: I9cda0f039ee8f5a70219b320abbb65f8649747e1 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | Use xkbcommon for internal key events tooGiulio Camuffo2015-07-232-155/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To manage the keyboard state and send key events to clients we use the xkbcommon library (unless disabled). That means that we currently have a separation between key events outgoing to clients and key events being used internally in the compositor, resulting in different keysyms being produced in the two cases for the same hardware key. Filter the key events coming from the underlying platform and modify them according to the xkb state instead. Change-Id: I4c6678be68e5b214b2b9cd0222dc9f425c580085 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Use standard wl_subsurface interface to set a window as a child of another oneGiulio Camuffo2015-07-226-92/+113
| | | | | | | | | | Change-Id: I52628f87dbea5383db06468f9748a9bacdec3179 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>