- Aug 08, 2017
-
-
Bryce Harrington authored
-
- Aug 05, 2017
-
-
Arnaud Vrac authored
Without this weston crashes when a client using xdg-shell-v5 is run. Signed-off-by:
Arnaud Vrac <rawoul@gmail.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
- Aug 01, 2017
-
-
Bryce Harrington authored
-
- Jul 28, 2017
-
-
Philipp Kerling authored
xdg_shell requires this information to be shared with the client in order to conform with the specification. The code to forward this to the client by way of a configure() event is already in place and works fine, it was just never being used until now. Signed-off-by:
Philipp Kerling <pkerling@casix.org> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
- Jul 27, 2017
-
-
Derek Foreman authored
commit 749637a8 introduced this feature, but the break is outside of any conditional so only the first item in the list is ever tested. If a client skips a few configures and then acks the most recent it's still operating within spec, so the break should only occur when a match is found. This version also adds a break after we miss the target, as a tiny optimization (the list will be cleaned up on disconnect anyway), as it makes the code no more difficult to read or maintain. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
This is easily noticed as a leaked fd on every VC switch. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net> Tested-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Pekka Paalanen authored
Fix a regression with VT-switching away from Weston and then back causing drmModePageFlip() to fail with ENOSPC or EINVAL, leaving one or more outputs not updated. The regression appeared in 47224cc9: compositor-drm: Delete drm_backend_set_modes Fix it by forcing a drmModeSetCrtc() on all outputs both initially created and after VT-switch in. Cc: Daniel Stone <daniels@collabora.com> Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v2: moved state_invalid=true from create_output_for_connector() to drm_output_enable() Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
We still need to close fds passed to us - or we leak quite a few fds on VC switch. Regression, originally fixed in 8f5acc2f and re-broken in commit 72dea06d but only for the logind launcher. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Jul 26, 2017
-
-
Philipp Kerling authored
Shell surfaces may have a geometry that is different to the size of their main surface, e.g. due to subcompositing. In states where size is strictly enforced (fullscreen and maximized), the size that the compositor wants must be checked against the window geometry and not just the main surface size. Fix by calling weston_desktop_surface_get_geometry and using that size instead of main surface size. Signed-off-by:
Philipp Kerling <pkerling@casix.org> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
Philipp Kerling authored
The focused surface is used for determining whether shell surfaces are activated. They should also be considered activated when a subsurface has focus. Inserting a call to weston_surface_get_main_surface fixes this. seat->focused_surface is only used for shell_surface keyboard focus tracking. Signed-off-by:
Philipp Kerling <pkerling@casix.org> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
- Jul 25, 2017
-
-
Bryce Harrington authored
-
Pekka Paalanen authored
This is a simple wrapper for casting the user data of a wl_resource into a struct weston_output pointer. Using the wrapper clearly marks all the places where a wl_output protocol object is used. Replace ALL wl_output related calls to wl_resource_get_user_data() with a call to weston_output_from_resource(). v2: add type assert in weston_output_from_resource(). Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
It really is a boolean. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
It's a little awkward to try to keep the weston_output::region and weston_output::previous_damage allocate exactly only when the output is enabled. There was also a leak: weston_output_move() was calling weston_output_init_geometry() on an already allocated regions without fini in between. Fix both issues by allocating the regions in weston_output_init(), always fini/init'ing them in weston_output_init_geometry(), and fini'ing for good in weston_output_destroy(). This nicely gets rid of weston_output_enable_undo() so I do not need to try to figure out what to do with it later. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Move the wl_output global management into weston_compositor_add_output() and weston_compositor_remove_output(). If weston_output_enable() fails, there is no need to clean up the global and the clients will not see a wl_output come and go. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Move the output id management into weston_compositor_add_output() and weston_compositor_remove_output(). This is a more logical place, and works towards assimilating weston_output_enable_undo(). The output id is no longer available to the backend enable() vfuncs, but it was not used there to begin with. v2: moved assert earlier in weston_compositor_add_output() Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Enabling an already enabled output is an error, at least with the current implementation. However, disabling an output that has not been enabled is ok. Cope with the first and document the second. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
It was ambiguous what this flag meant - it did not mean whether the backend is considering this output to be enabled, because weston_output_destroy() unsets it while deliberately not calling the backend disable() vfunc. Perhaps the most clear definition is with respect to the output's assignment in the pending vs. enabled output lists. There is also a whole bunch of variables that are allocated only when enabled is true. Since the flag is related to the list membership, set and clear the flag only when manipulating the lists. Assert that weston_compositor_add_output() and weston_compositor_remove_output() are not called in a wrong state. v2: - talk about "list of enabled outputs" - clear 'enabled' in weston_compositor_remove_output() earlier Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
weston_compositor_add_pending_output() is the point through which all backends must go when creating a new output. The enable and disable vfuns are essential for anything to be done with the output, so it makes sense to check them here, rather than when actually enabling or disabling. Particularly the disable vfunc is rarely called, so this gets the check better excercised. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Only used internally in core. Needs to happen automatically when something changes, so there should no need to call it from outside. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Only used by weston_output_enable(). Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Document two more functions of the weston_output API. Exported functions marked internal are meant for backends only. Exported functions not marked internal are meant for libweston users. v2: talk about "list of enabled outputs". Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
A weston_output available to the compositor should always be either in the list of pending outputs or the list of enabled outputs. Let weston_compositor_add_output() and weston_compositor_remove_output() handle the moves between the lists. This way weston_output_enable() does not need to remove and oops-it-failed-add-it-back. weston_output_disable() does not need to manually re-add the output back to the pending list. To make everything nicely symmetric and fix any unbalancing caused by this: - weston_output_destroy() explicitly wl_list_remove()s - weston_compositor_add_pending_output() first removes then inserts, as we have the assumption that the link is always valid, even if empty. Update the documentations, too. v2: - talk about "list of enabled outputs" - keep wl_list_remove in weston_compositor_remove_output in its old place Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
To shorten lines. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Pekka Paalanen authored
Trying to make it more readable. Things that happen in the same step are kept in the same paragraph. v2: talk about "list of enabled outputs" Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Armin Krezović <krezovic.armin@gmail.com>
-
Signed-off-by:
Michael Teyfel <mteyfel@de.adit-jv.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Jul 24, 2017
-
-
Dead code as orientation cannot be changed anymore, see patches: ivi-shell: remove layer_set_orientation API ivi-shell: remove surface_set_orientation API Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> [Pekka: added commit message] Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This API is used to rotate the contents of application's buffer, which are in the render order list of the layer. But this API is not needed because an application can rotate its buffers with set_buffer_transform request of wl_surface interface Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This API is used to rotate the contents of application's buffer. But it is not needed because an application can rotate its buffers with set_buffer_transform request of wl_surface interface. Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
It is analagous to layer_remove_surface API. The API removes a layer from the render order of the screen. v3: add the new vfunc at the end of the ivi_layout_interface struct. Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Eugen Friedrich <friedrix@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Jul 21, 2017
-
-
Ilia Bozhinov authored
When we receive configure_notify we should update the surface's position by calling xwayland_api->set_xwayland(). Otherwise some surfaces like dnd surfaces from xwayland views are "stuck" at one place. When setting XWAYLAND state though we should always call view_set_position(), not just the first time we set this state. Signed-off-by:
Ilia Bozhinov <ammen99@gmail.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
- Jul 20, 2017
-
-
Quentin Glidic authored
Now we keep track of serial->state association and we discard the states that the client ignored. Signed-off-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Jonas Ådahl <jadahl@gmail.com>
-
- Jul 18, 2017
-
-
Quentin Glidic authored
We were checking against the pending size, which lead some clients (simple-egl) to crash because they sent a buffer before acknowledging the latest configure event. Signed-off-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Tested-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by:
Jonas Ådahl <jadahl@gmail.com>
-
- Jul 12, 2017
-
-
Quentin Glidic authored
Signed-off-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Jonas Ådahl <jadahl@gmail.com> Tested-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
-
Quentin Glidic authored
Signed-off-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Jonas Ådahl <jadahl@gmail.com> Tested-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
-
Bryce Harrington authored
-
- Jul 03, 2017
-
-
Derek Foreman authored
Cosmetic leftovers I missed when removing the configure option to --disable-xkbcommon Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
We need to make sure the client bound dmabuf with a high enough version to receive modifier events before sending them or the client will crash. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
We shouldn't free &modifier_invalid because it wasn't allocated with malloc() Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Some log messages weren't terminated with a newline. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-