summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bump version5.4Oswald Buddenhagen2015-04-201-1/+1
| | | | Change-Id: I55a870542290b49267613427bbc8cb68ca4dd7fb
* brcm-egl: Avoid conflicts with GLES3v5.4.2Pier Luigi Fiorini2015-04-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | qopengl.h includes GLES3 which conflicts with GLES2 declarations. Might happen because Qt is built with desktop GL. This patch fixes the following build error. In file included from ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.cpp:61:0: /opt/vc/include/GLES2/gl2.h:600:125: error: conflicting declaration of C function 'void glShaderSource(GLuint, GLsizei, const GLchar**, const GLint*)' GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); ^ In file included from /usr/include/qt/QtGui/qopengl.h:97:0, from ../../../../../include/QtCompositor/5.5.0/QtCompositor/private/../../../../../src/compositor/hardware_integration/qwlclientbufferintegration_p.h:46, from ../../../../../include/QtCompositor/5.5.0/QtCompositor/private/qwlclientbufferintegration_p.h:1, from ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.h:44, from ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.cpp:44: /usr/include/GLES3/gl3.h:475:29: note: previous declaration 'void glShaderSource(GLuint, GLsizei, const GLchar* const*, const GLint*)' GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); Change-Id: I49ae11457b70b05f740ce70b8c1cfa5d6aa554bb Reviewed-by: Olivier Blin <qt@blino.org> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Remove .desktop suffix to appIdPier Luigi Fiorini2015-04-101-4/+18
| | | | | | | | | | | | | | | | | The appId is the desktop entry identifier. According to the desktop entry specifications [1], for applications the part of the name should follow the reverse DNS convention (see [2]). To do this we use the application domain if available, otherwise for lack of information we fall back to the executable base name like other toolkits such as Gtk+ do. [1] http://standards.freedesktop.org/desktop-entry-spec/latest/ [2] http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s02.html Change-Id: I181ad23a9736844e07e8060d78e756a943c27f67 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Don't handle mouse events in decos if buttons were pressed in the content areaGiulio Camuffo2015-04-081-1/+2
| | | | | | | | This fixes the decorations stealing the mouse events when going outside the content area. Change-Id: I8f3592fbda6b9c1da6498d74820a73be11c6999d Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* examples: remove unused windowDestroyed signalOlivier Blin2015-03-312-15/+0
| | | | | | | | | | | Unused since commit fc439e40e37f9c0b3108225f951fb19bb3abee80 Rework the way buffers are used and rendered Also remove associated slots that are now empty in server-buffer. Change-Id: I33be0bc6a5e175553d28e9ead54fefd2f0c07ce0 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Fix build for brcm-egl integrationPier Luigi Fiorini2015-03-301-3/+0
| | | | | | Change-Id: I5540dfb8e115ab6b3c90bb78618b277783a912f3 Reviewed-by: Olivier Blin <qt@blino.org> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* brcm-egl: Disambiguate wl_registryPier Luigi Fiorini2015-03-301-0/+1
| | | | | | | | | Include wayland-client.h to disambiguate between QtWaylandClient::wl_registry and wl_registry. Change-Id: Idf33fd56a6b2c2436f5cbabc953980d05826ebba Reviewed-by: Olivier Blin <qt@blino.org> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* qwindow-compositor: fix rendering shm NPOT textures with OpenGL ES2Olivier Blin2015-03-291-0/+1
| | | | | | | | | | | | | | Always use GL_CLAMP_TO_EDGE instead of GL_REPEAT, since OpenGL ES2 doesn't support NPOT textures in combination with GL_REPEAT by default, and repeat is not needed anyway. See also qtbase commits: 8dfeb1c374972f06759a92b4edc5d6a18b96ccec 8ab1323842433fb6b45e7d6f381b4b9710a81da9 72558e810d9b3493dabfc936fa6c8bf3c3f3b49c Change-Id: I01770fe3352da05baf6898d63c091bfae95e7a98 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Drop unused mScreensInitialized variable in QWaylandDisplayOlivier Blin2015-03-291-1/+0
| | | | | | | | | Unused since commit 78a701272e68d4f0ab95df4062374b8d34ef2919: Made wayland plugin single-threaded, yay :) Change-Id: I1fae78d77179feaac79f5dba6dcad8084e3e97fa Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Fix shm buffers init and destruction on failureOlivier Blin2015-03-272-5/+12
| | | | | | | | | | Some pointers need to be initialized in QWaylandBuffer and QWaylandShmBuffer, and checked at destruction. This avoids crashes when shm surface creation fails. Change-Id: I6f6afa3cc6c67533b5130700cbc27b271764109e Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Fix connecting to surfaceDestroyedOlivier Blin2015-03-271-3/+3
| | | | | | | | | | | It was being called with a garbage pointer, since the signal does not have an object argument anymore. This has been changed in commit fc439e40e37f9c0b3108225f951fb19bb3abee80 Rework the way buffers are used and rendered Change-Id: I220c52285909dc93aebd128fc418df3c8a6bd37c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Fix BrcmBuffer buildOlivier Blin2015-03-271-1/+1
| | | | | | | | | | | It got broken after commit b332630c86014eada07990acf66c13e000b3482b: Fix generated code for interface names not starting with qt_ or wl_ Like done in xcompositebuffer.h Change-Id: Ib9b44536d4214737d8d68d62c8512e18a80d5b5d Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Remove useless EGL linking in pluginsOlivier Blin2015-03-275-10/+0
| | | | | | | | EGL libs are already linked from the hardwareintegration pri file, and the plugins do not make direct use of any EGL symbol. Change-Id: If6ecfee16e8c9d8fee67f03419941ced92d1eff8 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Make QWaylandShellSurface a QObject to allow build without RTTIOlivier Blin2015-03-274-7/+11
| | | | | | | | | | | dynamic_cast can not be used when RTTI is disabled, so make QWaylandShellSurface a QObject. QWaylandWlShellSurface and QWaylandXdgSurface must also inherit from QWaylandShellSurface first, to properly inherit from QObject. Change-Id: I2addb8105a0fe61615d4bc905414f7ee7277029f Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* ShellSurface: fix leak of QWaylandSurfaceItem on destructionOlivier Blin2015-03-241-0/+1
| | | | | | | | | | | | The QWaylandSurfaceView/QWaylandSurfaceItem object is never destroyed from ShellSurface. This was also leaking the underlying GL texture. Task-number: QTBUG-41180 Change-Id: If74c956075744115b8b5a7e8cb89b584714ec7e6 Done-with: Nicolas Marc <nicolas.marc@softathome.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Use Qt foreach instead of C++11 specific range-base for loopOlivier Blin2015-03-241-1/+1
| | | | | | | To fix build with compilers without C++11 support. Change-Id: If5a5d5d874b196f60bcc5b7bd5a543b58f9c89a3 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Fix build with gcc <= 4.5Olivier Blin2015-03-201-1/+1
| | | | | | | nullptr is not defined with gcc <= 4.5, use 0 instead. Change-Id: I90d9170e57258f26b8ba7770a957a135539364de Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Run eventDispatcher in QWaylandDisplay::forceRoundTripMartin Gräßlin2015-02-171-2/+9
| | | | | | | | | | | | | | | | | If the application uses QCoreApplication::setEventDispatcher before the QGuiApplication is created the blocking roundtrip might block the application indefinitely. This can happen if the application starts a Wayland server in the same process before the QGuiApplication is created. And the QtWayland plugin connects to this server. In this case a roundtrip blocks as the Wayland server cannot process the events the QWaylandDisplay is waiting for. By running the event dispatcher manually and using the pending variant for dispatching the Wayland event queue, the application can be kept alive. Change-Id: I9c36fccbae8921e1ae9a0a8b7f460520b1b65d5c Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Sanitize popup behavior.Laszlo Agocs2015-02-136-21/+37
| | | | | | | | | | | | | | | | | | | | | | | | Popups are pretty important for widget apps. Menus, combobox dropdows and such are all popups. Currently they are completely borked when activated via keyboard or touch. This is because of the bizarre set_popup request in the protocol, and Weston's current implementation, that ignore the fact that a popup can be opened as a result of a keyboard event too or may not originate from an input event at all. Pass the last input device and serial we have seen, regardless of the type, by tracking it globally in the QWaylandDisplay. With this patch menus and such will not freeze the application anymore when activated with keyboard or touch without sending a mouse event to the window first. The behavior is still broken in some ways, especially with keyboard due to immediately getting a popup_done, but at least applications remain usable. Task-number: QTBUG-41142 Task-number: QTBUG-41147 Change-Id: I18de501004ae8a62ff8667e72225d08c2d3ba491 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Fix popup menus with no parent windowsGiulio Camuffo2015-02-111-6/+13
| | | | | | | | | | | | | | The QMenu API doesn't play well with Wayland. You can do: QMenu menu; menu.popup(someGlobalPos); which is completely broken on wayland. If some popup window doesn't have a transient parent use the current focus window for that. Fixes right-click popups in qdbusviewer and other apps. Change-Id: I3227f4ec27431ca8ec156971cbfdbf1e848a0527 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix copying text to non-qt clientsGiulio Camuffo2015-02-072-0/+5
| | | | | | | | | Like we do for pasting, set the mime type of text to "text/plain;charset=utf-8" too besides "text/plain". This allows copying text to clients such as weston example clients or Xwayland. Change-Id: I8a24f32d93e438f16db662e7c09b09ddd7578768 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Do not send invisible key charactersGiulio Camuffo2015-02-051-1/+2
| | | | | | | | | xkb_keysym_to_utf32() will return 0 if the keysym does not have a unicode representation. Task-number: QTBUG-44012 Change-Id: I85a13b58c7f0b9765c7d67db6568a90629bcfbfa Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Fix deadlock when starting a dragGiulio Camuffo2015-02-051-1/+8
| | | | | | Change-Id: Ie2fdc56bffb97ce04ffad11ea7a7686dc09a06cc Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Make all the screens virtual siblingsGiulio Camuffo2015-02-022-0/+9
| | | | | | | | Wayland outputs fit the definition of virtual sibling screens so make the platform screen subclass so. Change-Id: Id3f2592653f6309406185589f70127f2b74065ac Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Send mouse events with the correct modifiersGiulio Camuffo2015-01-291-5/+5
| | | | | Change-Id: I33da2681bc2315b3dc7de16fa80c45e26a478caa Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Fix pasting from sources advertising the utf8 charsetGiulio Camuffo2015-01-291-4/+21
| | | | | | | | | Some clients use "text/plain;charset=utf8" as the mimetype for the clipboard instead of just "text/plain". Since we support Utf8 accept it as a valid type. Change-Id: Icd540f0ff507ed9917b374f3b40fbdc259ce9ee2 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Make sure we send a valid initial resizeGiulio Camuffo2015-01-271-2/+2
| | | | | Change-Id: Ib9a0152f83af433354d32ef4a8a233e5551ded8c Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Send a touch cancel event when we stop getting inputGiulio Camuffo2015-01-202-0/+15
| | | | | | | | | | Take a grab when a touch gesture begins and send a touch cancel event when we lose the grab. That makes sure that we don't leave the client with a broken input state if some item like Flickable steals the events from the QWaylandSurfaceItem. Change-Id: I1e07836041a25cdbabff0d8559c4e06cbac27e7e Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Unset the pointer focus if we're deleting the view holding itGiulio Camuffo2015-01-191-0/+6
| | | | | Change-Id: I546c6ab2a060d76de18330766a0b2fba419589bd Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Bump versionOswald Buddenhagen2015-01-161-1/+1
| | | | Change-Id: Iec9d43735e4388d3617d5c56a11013446e7ebd8e
* Recreate the surface textures after the scenegraph invalidationv5.4.1Giulio Camuffo2015-01-151-0/+1
| | | | | | | | | When the scenegraph is invalidated we delete the surfaces texture. Set the update flag to true so that when the scene graph is again initialized and starts to draw a frame the textures will be recreated. Change-Id: I2fb171e4bed517e48fa2311c22651150f3e605f7 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Correctly handle '--invert' parameter in server-buffer compositorSiteshwar Vashisht2015-01-131-2/+2
| | | | | Change-Id: I9a3285dc5bddd848ec557287c4641d9edce752a9 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Set the composing string of the wayland input methodGiulio Camuffo2015-01-132-0/+17
| | | | | | Task-number: QTBUG-43346 Change-Id: I9bc6d804ddca59a7a0173b8f0d3ec2f268fe9a59 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Remove unused membersThiago Macieira2014-12-313-6/+1
| | | | | | | | | | | | | | | | Clang found two problems with this from QWaylandDataDeviceManager. First, it's a class, not a struct. Second, nothing is using this private member. qwaylanddatadevicemanager_p.h:66:5: warning: struct 'wl_data_device_manager' was previously declared as a class [-Wmismatched-tags] qwaylanddatadevicemanager_p.h:66:36: warning: private field 'm_data_device_manager' is not used [-Wunused-private-field] And also this one: qwaylandextendedoutput_p.h:61:21: warning: private field 'm_screen' is not used [-Wunused-private-field] Change-Id: Ifc8f28f92190547dcb0a5319aa6fc14277894f15 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Bump versionOswald Buddenhagen2014-12-121-1/+1
| | | | Change-Id: If637c41ed60c0191ea118ae4e83c5aa6781b6e2e
* Fix wrong check condition.Giulio Camuffo2014-12-121-1/+1
| | | | | Change-Id: Iecd5050097abcafa06073d41a31d1ae31fac5b42 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Fix dangling pointer access when getting dnd data in some casesGiulio Camuffo2014-12-112-3/+4
| | | | | | | | | Calling wl_data_source.destroy(); wl_data_offer.receive(), where the wl_data_offer is referring to the destroyed wl_data_source, was crashing the compositor. Change-Id: Iab352d63f8a93aebd0bfbcf1dc26c0e8a48a523a Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix possible double free when hiding a windowGiulio Camuffo2014-12-062-0/+5
| | | | | | | | | There was a race condition between the gui and the wayland event thread which could lead to double freeing the QWaylandShmBackingStore's frame callback. Protect the wl_callback_destroy calls using a mutex. Change-Id: Ia70ebac208a6d4450328ba5254a850be26d84d6d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Silence uninited variable compiler warningsLaszlo Agocs2014-12-031-1/+1
| | | | | | | | The code is correct but some compilers may still warn about dragData not getting initialized. Silence them. Change-Id: Ib52321667fc5094e22ebbef538b72b5477e6f10b Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Don't access a dangling pointerGiulio Camuffo2014-11-201-0/+2
| | | | | | | | The surface's resource may have been destroyed, return a null client in that case. Change-Id: I3d7e0f0e94008e003e43f1987e6560dd73f5c5db Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Remove deleted views from the listGiulio Camuffo2014-11-141-1/+3
| | | | | Change-Id: Ic4c998347e14c17693bea461452d6ee8fc41064b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Make sure to have valid texturesGiulio Camuffo2014-11-103-4/+11
| | | | | | | | | | | | | | The texture of QWaylandSurfaceItem's texture provider was updated in QWaylandSurfaceItem::updatePaintNode(). That is fine as long as the texture is accessed after the updatePaintNode() call, but if not we would access an invalid texture. That could happen when another QQuickItem subclass was accessing the textire in its updatePaintNode(). We don't have any guarantee on the order of the updatePaintNode() calls, so the other item could be updated before the QWaylandSurfaceItem. Change-Id: I7320d445c72796ce26f8d8483175a35e9c6840e7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Be more careful when destroying wl_resourcesv5.4.0-rc1v5.4.0Giulio Camuffo2014-10-287-30/+17
| | | | | | | | The compositor must not destroy wl_resources when it wants to, else it breaks the contract with the client. Change-Id: Ic0d298072cdf0954d2504c04bff2bcc99733e621 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Update .gitignore after wayland examples moveOlivier Blin2014-10-231-13/+13
| | | | | Change-Id: I44e0dc6ac4e92a8bdc6a9f8398e60e4d323247f9 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Gracefully fallback when xkb context creation failsOlivier Blin2014-10-231-9/+27
| | | | | | | | | | | xkb context creation can fail when xkeyboard-config files are not available. This changes qwlkeyboard to gracefully fallback on the QT_NO_WAYLAND_XKB path, as suggested by Giulio Camuffo. Change-Id: Ic57d80b6aa3e9fbd8a393a3ca54dff768a4c3e83 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Fix fd leak in case of ftruncate() failure in qwlkeyboardOlivier Blin2014-10-211-1/+3
| | | | | | Change-Id: Id7d6582d4e139763634c7022548b558d4a2f8ec2 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Fix crash when cursor theme can not be loadedOlivier Blin2014-10-211-1/+7
| | | | | | | | | | Also add a debug message about theme loading failure. This is not necessarily fatal, some embedded applications could still function properly without a cursor. Change-Id: Ib3e2ee43b00630ee77997c7472a95ac5a22c2cc2 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Fix -no-opengl buildsLaszlo Agocs2014-10-144-0/+8
| | | | | | Task-number: QTBUG-41677 Change-Id: I039ec581e960eb70eb04aed6e65add70c563ba77 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Be compatible with older compositorsGiulio Camuffo2014-10-137-9/+15
| | | | | | | | When binding globals take care of the version the compositor provides and don't call requests that the compositor doesn't implement. Change-Id: Iea0c534fb9e005720857e2778e380b6a9c22a6f3 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Move examples into wayland subdirectory.v5.4.0-beta1Friedemann Kleint2014-10-0936-17/+19
| | | | | | Conforming to the Qt project directory structure. Change-Id: I452867fabc88e9594fa26f944b5d3e1ca4ffc720 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>