summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: bump to version 1.10.0 for the official release1.10.01.10Bryce Harrington2016-02-161-5/+5
|
* releasing.txt: Script now figures out release name on its ownBryce Harrington2016-02-111-1/+1
|
* configure.ac: bump to version 1.9.93 for the RC1 release1.9.93Bryce Harrington2016-02-091-1/+1
|
* compositor-drm: the cursor plane only supports ARGBDerek Foreman2016-02-091-3/+9
| | | | | | | | | | Keep XRGB apps out of the cursor plane, only ARGB is supported. This prevents programs like weston-simple-shm from landing in the cursor plane and being misrendered. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* compositor-drm: update internal cursor plane location when disabling cursorDerek Foreman2016-02-091-1/+4
| | | | | | | | | | | | | | | | When the cursor plane is disabled the kernel can lose its location. If we don't update our internal idea of where the plane is at that time, the next time we set a cursor it can show up at 0,0. This can show up when an application is put in the cursor plane, removed from the plane, then put back at the same location. It might show up at 0,0 when it's reinstated. We now use INT32_MIN as a location for disabled cursors so enabling the plane will always cause an update. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
* compositor-x11: send pointer frame after axis eventMarek Chalupa2016-02-091-0/+4
| | | | | | | | | | | clients that implement pointer interface of version 5 wait for the frame event, so without it the scrolling does not work (GTK+ clients do not scroll now for example). Xcb axis events are discrete, so it's fine to send frame after every single axis event Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
* xwm: Don't clear the selection if it has no text type availableDerek Foreman2016-02-041-24/+4
| | | | | | | | | | | | | | | | | | | weston maintains a copy of the most recently selected "thing" - it picks the first available type when it copies, and saves that one only. When an application quits weston will make the saved selection active. When xwm sees the selection set it will check if any of the offered types are text. If no text type is offered it will clear the selection. weston then interprets this in the same way as an application exiting and causing the selection to be unset, and we get caught in a live lock with both weston and xwayland consuming as much cpu as they can. The simple fix is to just remove the test for text presence. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
* shell: Check more thoroughly for undefined surface resourceBryce Harrington2016-02-031-7/+24
| | | | | | | | | | | | | | | The surface can have an undefined resource in certain situations (such as with xwayland). So, since NULL is a valid state for this parameter, and since the wl_resource_*, etc. calls require their parameters to be non-NULL, make a practice of always checking the surface resource before making wayland calls. update v2: * Fix some c/p errors for pointer names * Drop null ptr check in add_popup_grab; probably redundant now Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* ivi-layout: apply opacity to weston_view correctlyNobuhiko Tanibata2016-02-031-6/+3
| | | | | | | | | | update_opacity is only called when a ivi-surface is visible. But the previous code also checks event masks redundantly. However if the event happens when ivi-surface is invisible, opacity is not calculated. This patch removes this redundant check to fix potential bug. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* configure.ac: bump to version 1.9.92 for the beta release1.9.92Bryce Harrington2016-02-021-1/+1
|
* input: Fix crash when touchscreen generates out of screen coordinateBryce Harrington2016-02-021-1/+4
| | | | | | | | | | | | | With change 61ed7b6b, global touch coordinates are being passed to the touch grab. However, touch->grab is undefined in certain circumstances such as when the touch screen raises an axis X value larger than the maximum expected. Move the check for this condition earlier, before our first use of the pointer. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=92736 Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
* data-device: Check harder for selection/non-wayland sourcesCarlos Garnacho2016-02-011-2/+6
| | | | | | | | | We're not always dealing with weston_data_sources that have a wl_resource, or data_sources that belong to drag-and-drop. Check harder for these on the drag-and-drop code paths triggered from common code. Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
* xwayland: zalloc the x11_data_sourcesCarlos Garnacho2016-02-012-2/+2
| | | | | | | | | | | The wrapped weston_data_source struct has new fields which were left uninitialized, so its access is unreliable. The data source in xwayland/dnd.c should be eventually setting the drag-and-drop actions, but it is a lot more incomplete than that (read: completely), so falls out of the scope of this patch. Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
* clipboard: zalloc the clipboard_sourceCarlos Garnacho2016-02-011-1/+1
| | | | | | | | | The wrapped weston_data_source struct has new fields which were left uninitialized, so its access is unreliable. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Derek Foreman <derekf@osg.samsung.com Tested-by: Derek Foreman <derekf@osg.samsung.com>
* input: Don't try to send pointer frames if no focus_clientDerek Foreman2016-02-011-0/+3
| | | | | | | | | Prevents a segfault when mousing into clients that don't get_pointer like weston-simple-shm and weston-simple-damage. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Marek Chalupa <mchqwerty@gmail.com>
* releasing: register_release now inserts the email announcement urlsBryce Harrington2016-01-201-7/+4
|
* configure.ac: bump to version for the release1.9.91Bryce Harrington2016-01-191-3/+3
|
* dnd: Turn into a full blown exampleCarlos Garnacho2016-01-191-22/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to keep things simple, weston-dnd made a few choices that turn out to be unrealistic, a few tweaks have been done to make it less of a playground demo: - It now caters for copy/move operations, instead of just move, which still remains the default nonetheless. - As "move" operations are no longer assumed, the item isn't removed on start_drag, instead it is made translucent until the drag operation finishes (and we know whether the item is to be removed after transfer or left as is) - For the same reasons, "Drop nowhere to delete item" no longer happens. Drag-and-drop is a failable operation and must not result in data loss. - As multiple actions are now allowed, we set the pointer icon surface accordingly to the current operation. This makes weston-dnd a better example of what applications usually want to do here. Changes since v2: - Updated to behave alright-ish with version < 3. Changes since v1: - Remove unneeded include. Remove extra newlines. Other minor code fixes. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
* data-device: Implement compositor-chosen actionsCarlos Garnacho2016-01-192-0/+77
| | | | | | | | | | | | | | | | | | | | | | | Set up a keyboard grab during drag-and-drop, so we can translate modifiers into preferred actions. The compositor chosen action is stored in the current weston_data_source in order to make it accessible to the source/offer at the time of calculating the new action, but would conceptually be part of weston_drag. The mapping has been made similar to what GTK+/QT usually do, the shift key defaults to "move" and ctrl defaults to "copy". Changes since v2: - Use enum types and values for the compositor action. Fix code formatting issues. Changes since v1: - Handle the keyboard grab being cancelled. Initialize new wl_data_source fields. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* client: Add DnD cursors to the managed cursors listCarlos Garnacho2016-01-192-0/+19
| | | | | | | | That way we'll be able to set the corresponding pointer surface to a current DnD operation. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
* data-device: Implement DnD actionsCarlos Garnacho2016-01-195-9/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The policy in weston in order to determine the chosen DnD action is deliberately simple, and is probably the minimals that any compositor should be doing here. Besides honoring the set_actions requests on both wl_data_source and wl_data_offer, weston now will emit the newly added "action" events notifying both source and dest of the chosen action. The "dnd" client has been updated too (although minimally), so it notifies the compositor of a "move" action on both sides. Changes since v8: - Add back wl_data_offer.source_actions emission, gone during last code shuffling. Fix nits found in review. Changes since v7: - Fixes spotted during review. Add client-side version checks. Implement .action emission as specified in protocol patch v11. Changes since v6: - Emit errors as defined in DnD actions patch v10. Changes since v5: - Use enum types and values for not-a-bitfield stored values. handle errors when finding unexpected dnd_actions values. Changes since v4: - Added compositor-side version checks. Spaces vs tabs fixes. Fixed resource versioning. Initialized new weston_data_source/offer fields. Changes since v3: - Put data_source.action to use in the dnd client, now updates the dnd surface like data_source.target events do. Changes since v2: - Split from DnD progress notification changes. Changes since v1: - Updated to v2 of DnD actions protocol changes, implement wl_data_offer.source_actions. - Fixed coding style issues. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Michael Catanzaro <mcatanzaro@igalia.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
* data-device: Implement DnD progress notificationCarlos Garnacho2016-01-194-25/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Weston now sends wl_data_source.dnd_drop_performed and .dnd_finished in order to notify about the different phases of DnD. wl_data_source.cancelled is also used as mentioned in the docs, being emitted also on DnD when the operation is meant to fail (eg. source and dest didn't agree on a mimetype). The dnd demo is also fixed so the struct dnd_drag isn't leaked. https://bugs.freedesktop.org/show_bug.cgi?id=91943 https://bugs.freedesktop.org/show_bug.cgi?id=91944 Changes since v6: - Add client-side version checks. Minor code shuffling. Changes since v5: - Dissociate source and offer after cancel. Updated to apply on top of c9f8f8a7f. Changes since v4: - Make wl_data_offer.finish with the wrong state an error. Changes since v3: - Fixed wl_data_source.dnd_finished vs cancelled emission on when interoperating with version < 3 drag destinations. Changes since v2: - Handle wl_data_offer.finish. Fixed commit log inconsistencies. Added version checks. Spaces vs tabs fixes. Fixed resource versioning. Changes since v1: - Updated to protocol v2. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Michael Catanzaro <mcatanzaro@igalia.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* Support axis source, axis discrete, frame and axis stop eventsPeter Hutterer2016-01-1915-47/+600
| | | | | | | | [jonas: only send focus wl_pointer.frame if resource supports it] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
* Add a weston_pointer_axis_eventPeter Hutterer2016-01-1912-52/+95
| | | | | | | | Use an event struct to pass axis events around. This helps dealing with the upcoming axis discrete changes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
* compositor-rdp: update link to wheel delta explanationPeter Hutterer2016-01-191-1/+1
| | | | | | | The previous one is a 404 now. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
* clients: Fix compositor version check for WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSIONChristopher Michael2016-01-141-1/+2
| | | | | Signed-off-by: Chris Michael <cpmichael@osg.samsung.com> Reviewed-By: David Fort <contact@hardening-consulting.com>
* clients: fix build on LinuxOlivier Fourdan2016-01-141-1/+0
| | | | | | | | Cannot find out why stropts.h is needed and Linux doesn't support streams anyway, so there is no stropts.h. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
* gl-renderer: Fix comment typoBryce Harrington2016-01-131-1/+1
|
* compositor: create_data_source(): Fix potential crash on OOMcpaul@redhat.com2016-01-131-2/+8
| | | | | | | | | | | Noticed this while working on primary selection, in the event we run out of memory when trying to create a new data source, there's a chance we'll fail on wl_resource_create() and crash from source->resource being set to NULL. Signed-off-by: Lyude <cpaul@redhat.com> Reviewed-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* compositor: Make types consistent for bitshifting unsigned intsBryce Harrington2016-01-121-10/+10
|
* compositor: Verify that the maximum number of outputs is not exceededBryce Harrington2016-01-121-0/+3
| | | | | | | | | | | output_id_pool is defined as a uint32_t, thus ffs() provides a range of 1-32 available id numbers. When the 33rd output is enabled, Weston will set the ID to (unsigned)(-1) and thus lead to some unexpected behaviors. I'm not sure what the best way to handle this error would be since this is in an initialization routine, but at least let's document the potential error condition with an assert().
* compositor: Document how views and surfaces are mapped to outputsBryce Harrington2016-01-121-0/+73
|
* desktop-shell: Allow binding-modifier weston.ini option to be noneBob Ham2016-01-122-13/+15
| | | | | | | | | Allow the binding-modifier option in weston.ini to take a value of "none", meaning that none of the usual Super+Tab, Super+K, Super+Fn, etc. key bindings will be enabled. Signed-off-by: Bob Ham <bob.ham@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
* desktop-shell: Make zapping configurableBob Ham2016-01-123-3/+16
| | | | | | | | Add a new boolean weston.ini option, "allow-zap" to enable or disable the Ctrl-Alt-Backspace key combination. Signed-off-by: Bob Ham <bob.ham@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
* compositor-{drm, fbdev, rpi}: Make VT switching configurableBob Ham2016-01-128-44/+46
| | | | | | | | | | | | Add a new boolean weston.ini option, "vt-switching" to enable or disable Ctrl-Alt-Fn key combinations. Signed-off-by: Bob Ham <bob.ham@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (Derek Foreman changed the prototype for switch_vt_binding to have a weston_keyboard * instead of weston_seat *. The pointer wasn't used, so this is just a warning fix.)
* clients: add simple-v4l-dmabuf clientEmmanuel Gil Peyrot2016-01-114-0/+975
| | | | | | | | | | | | | | | | | | | This client opens a V4L2 device, usually exposed as /dev/videoN, and retrieves its frames as dmabuf for later import into the compositor. It supports both single- and multi-planar devices, and any format exposed by the V4L2 device the Wayland compositor accepts. This client never changes the v4l2 settings, use `v4l2-ctl -c` if you want to change those. Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Acked-by: Derek Foreman <derekf@osg.samsung.com> Tested-by: Derek Foreman <derekf@osg.samsung.com> Maniphest Tasks: T90 Differential Revision: https://phabricator.freedesktop.org/D339
* clients: Fix a few issues in simple-dmabuf-intelEmmanuel Gil Peyrot2016-01-111-22/+19
| | | | | | | | | | | | | | | | | | | | | Those were found while working on simple-dmabuf-v4l, as found in the next patch of this series. After each buffer’s params were ready to be submitted to the compositor, a roundtrip was done, which is wasteful since we can do it only once after having queued all the params we want. Removing those nested roundtrips also prevent the potentially dangerous side-effect of calling callbacks for later events while previous events were still being processed. An extraneous surface damage was also removed. Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Differential Revision: https://phabricator.freedesktop.org/D344
* clients: rename simple-dmabuf into simple-dmabuf-intelEmmanuel Gil Peyrot2016-01-114-17/+17
| | | | | | | | | | | | This client was using an Intel-specific way to allocate a dmabuf, so it makes sense to have that in its name. Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Differential Revision: https://phabricator.freedesktop.org/D342
* gl-renderer: Add support for a few YUV dmabuf formatsEmmanuel Gil Peyrot2016-01-111-43/+252
| | | | | | | | | | | | Namely the single-planar YUYV, the two-planar NV12, and the three-planar YUV420, using the shaders already present in Weston. Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Maniphest Tasks: T13 Differential Revision: https://phabricator.freedesktop.org/D334
* gl-renderer: introduce a new struct dmabuf_imageEmmanuel Gil Peyrot2016-01-111-58/+113
| | | | | | | | | | | | | This struct serves as renderer data for linux-dmabuf buffers, and can contain multiple struct egl_image, simplifying this latter in the common non-dmabuf case. Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Differential Revision: https://phabricator.freedesktop.org/D333
* compositor: Document routines relating to idle behaviorBryce Harrington2015-12-221-0/+51
| | | | | Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* compositor: Fix a couple comment typosBryce Harrington2015-12-222-3/+3
| | | | | Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xwm: let the shells decide the position of X windowsGiulio Camuffo2015-12-185-54/+64
| | | | | | | | | | | | | The xwm used to automatically send to Xwayland the position of X windows when that changed, using the x,y of the primary view of the surface. This works fine for the desktop shell but less so for others. This patch adds a 'send_position' vfunc to the weston_shell_client that the shell will call when it wants to let Xwayland know what the position of a window is. The logic used by the desktop-shell for that is exactly the same the xwm used to have. Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: David Fort <contact@hardening-consulting.com>
* compositor-fbdev: Drop intermediate shadow bufferSjoerd Simons2015-12-181-65/+3
| | | | | | | | | | | | | | | | | | | | Currently the fbdev compositor has its own shadow buffer when rendering with pixman, causing the following copies to occur: [pixman shadow buffer] -> [fbdev shadow buffer] -> [fbdev hardware] As the pixman render already does all output translation when compositing the intermediate shadow buffer really isn't needed, so drop it. As a side-effect this fixes updating the fbdev hardware for outputs not starting at 0x0. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: David FORT <contact@hardening-consulting.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Tested-by: Derek Foreman <derekf@osg.samsung.com>
* weston-info: display output scaleJonny Lamb2015-12-181-2/+30
| | | | | | | | | Fall back to not showing anything as before if we don't have a compositor with wl_output new enough (version 2 or newer). Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* ivi-shell: hmi-controller supports multi screens at random-mode.Nobuhiko Tanibata2015-12-141-5/+34
| | | | | | | It shows ivi applications at screensa randomly. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* ivi-shell: hmi-controller supports multi screens at fullscreen mode.Nobuhiko Tanibata2015-12-141-0/+18
| | | | | | | | | | | | | It shows ivi applications in fullscreen per screen like, The first screen: Application 1,4,5,6,,,, The seconed screen: Application 2, The third screen: Application 3 Thie mode assigns one application to each screen at first. And remaind applications more than screens will be assigned to the first screen. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* ivi-shell: hmi-controller supports multi screens at side-by-side mode.Nobuhiko Tanibata2015-12-141-23/+38
| | | | | | | | It shows 2 ivi application in a screen at side-by-side. It moves additinal application more than 2xN to next screen N+1. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* ivi-shell: hmi-controller supports multi screens at tiling mode.Nobuhiko Tanibata2015-12-141-16/+22
| | | | | | | | It shows 8 ivi applications in a screen at tiling. It moves additional application more than 8xN to next screen N+1. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* hmi-controller: allocate application layers for multi-screenNobuhiko Tanibata2015-12-141-32/+66
| | | | | | | | To locate surfaces of application on multi screens, multi layers are created baseod on application-layer-id + base-layer-id-offset x N. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>