- Nov 19, 2014
-
-
This function is used and clearly designed only for drawing the shadows. Rename it so that it has name after what it does and also move some common code into the function. Signed-off-by:
Marek Chalupa <mchqwerty@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Signed-off-by:
Seedo Eldho Paul <seedoeldhopaul@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Pekka Paalanen authored
This reverts commit 5c11fc6f. According to two input specialists, this was the wrong way: http://lists.freedesktop.org/archives/wayland-devel/2014-November/018287.html Cc: Peter Hutterer <peter.hutterer@who-t.net> Cc: Daniel Stone <daniel@fooishbar.org> Cc: Giulio Camuffo <giuliocamuffo@gmail.com> Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Nov 18, 2014
-
-
Pekka Paalanen authored
If there are several things that cause an exit, keep the error code from the first one, not the last one. The latter ones could be just fallout from the first. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Currently, once we've reached our main's wl_display_run(), we always return ret=EXIT_SUCCESS when weston terminates through wl_display_terminate. This patch makes it possible to specify another return value by setting prior to terminating Weston. This is useful for automated tests that want to report test failures to the overlying testing infrastructure. Signed-off-by:
Frederic Plourde <frederic.plourde@collabora.co.uk> [Pekka: fixed some tabs.] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This allows to move or resize a xwayland client by acting on all its views.
-
- Nov 12, 2014
-
-
Pekka Paalanen authored
Remove lots of repeated indirection. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Nov 11, 2014
-
-
weston key bindings are supposed to eat the key events, and not pass it on to clients, and indeed the wl_keyboard.key event is not sent. But we must also not put the key in the keys array to pass to client with the wl_keyboard.enter event, or else we may send the 'eaten' one too. In the case of a key binding hiding a surface having the keyboard focus, the shell may decide to give the focus to another surface, but that will happen before the key is released, so the new focus surface will receive the code of the bound key in the wl_keyboard.enter array. Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Pekka Paalanen authored
Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Signed-off-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com>
-
Signed-off-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com>
-
Signed-off-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com>
-
Signed-off-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com>
-
Signed-off-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com>
-
This patch fixes a couple of misuses around .TP 7 macros that wrongly limited right margins and relative identation. Reviewed-by:
Derek Foreman <derekf@osg.samsung.com> Tested-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
There are a number of invalid read errors reported by valgrind of the form: ==13428== Invalid read of size 4 ==13428== at 0x405656: advect (smoke.c:116) ==13428== by 0x405E80: redraw_handler (smoke.c:228) ==13428== by 0x40DE74: widget_redraw (window.c:3995) ==13428== by 0x40E02D: surface_redraw (window.c:4053) ==13428== by 0x40E0C9: idle_redraw (window.c:4082) ==13428== by 0x410FC9: display_run (window.c:5561) ==13428== by 0x406518: main (smoke.c:373) ==13428== Address 0xb2c9b14 is 4 bytes after a block of size 160,000 alloc'd ==13428== at 0x4C29DB4: calloc ==13428== by 0x40646B: main (smoke.c:360) This results in invalid rendering when running a debug version of the application. Fix the issue by limiting the maximum values of px and py to 1.5 less than width and height. This prevents reading past the end of the source buffer. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=82287 Signed-off-by:
Frank Binns <frank.binns@imgtec.com> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Committing to an xdg_surface with a NULL buffer is currently illegal in the mutter implementation, so this simply causes the client to error and exit. It seems the reason the client did this was so it could add its own frame callback, but toytoolkit actually provides accurate everything we need. Just use its functions instead to get the time and schedule a redraw. Reviewed-by:
Bryce Harrington <b.harrington@samsung.com> Reviewed-by:
Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
the keyboard focus surface may not have a valid resource (server side surface or a surface surviving its client), so check if it is valid before using it. Acked-by:
Marek Chalupa <mchqwerty@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
The comments already call it bool, so let's just make it one Reviewed-by:
Bryce Harrington <b.harrington@samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
commit 6ae7bc98 accidentally made weston_output_mode_switch_temporary send done events when it shouldn't. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Nov 10, 2014
-
-
Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Nov 05, 2014
-
-
use wl_list_for_each_safe to iterate on the bindings list when firing them, this way a binding can safely be destroyed in its function handler. Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This breaks weston_output_mode_switch() into 3 functions: weston_output_mode_set_native() weston_output_mode_switch_to_temporary() weston_output_mode_switch_to_native() Differences from previous behaviour: SET_NATIVE didn't set current_scale (now it does) SET_TEMPORARY could set mode and scale independently - now it can't. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Commit 280e7dd9 introduced a bug in the return value of weston_subsurface_is_synchronized(). Signed-off-by:
Carlos Olmedo Escobar <carlos.olmedo.e@gmail.com> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Nov 04, 2014
-
-
[Pekka Paalanen: removed trailing space, split long line.] Signed-off-by:
kabeer khan <kabeer.khan@samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
data_device : change version while initializing data_device_manager interface and data_device interface [Pekka Paalanen: split long lines, dropped MIN().] Signed-off-by:
kabeer khan <kabeer.khan@samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
For functions that test if something is true/valid and return a 1 or 0, it makes sense to switch to bool. Reviewed-by:
Bryce Harrington <b.harrington@samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Oct 10, 2014
-
-
Derek Foreman authored
output_rotate_damage shifted an array of pixman regions with a loop. Now it uses an index into that array. This currently only saves 1 pixman_region32_copy, but we can now raise BUFFER_DAMAGE_COUNT without a performance impact if we run into a configuration where this is useful. Reviewed-by:
Jason Ekstrand <jason.ekstrand@intel.com>
-
- Oct 08, 2014
-
-
Daniel Stone authored
-
Daniel Stone authored
Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
Add tests for triggering the role conflict when a wl_surface is already a wl_shell_surface and then attempted to be made into a sub-surface, and vice versa. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Jasper St. Pierre <jstpierre@mecheye.net>
-
Pekka Paalanen authored
With the more accurate definition of wl_surface roles in Wayland, enforce the restriction: a role is always set permanently, and attempting to change it is a protocol error. This patch is based on Jasper's patch: http://lists.freedesktop.org/archives/wayland-devel/2014-August/016811.html The difference in this patch compared to his are: - send role errors on the interface whose request triggers it, not on wl_surface - an interface could have several requests assigning different roles, cannot use wl_interface as the unique key; use an arbitary string instead - ensure in window-manager.c that create_shell_surface() -> create_common_surface() is never called with surface->configure set, to avoid compositor abort - use wl_resource_post_no_memory() where appropriate instead of hand-rolling it with wl_resource_post_error() Ideally we would not add weston_surface::role_name field, but use weston_surface::configure. At the moment this is not possible though, because at least shell.c uses several different roles with the same configure function. Drag'n'drop uses two configure functions for the same role. The configure hook is also reset in several places, which is not good for role tracking. This patch overlooks the wl_surface roles assigned in privileged extensions: screensaver, panel, background, lock, input panel. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Jasper St. Pierre <jstpierre@mecheye.net>
-
Pekka Paalanen authored
Needed for properly reporting role violations from xdg_shell.get_xdg_surface and .get_xdg_popup. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Jasper St. Pierre <jstpierre@mecheye.net> Acked-by:
Jason Ekstrand <jason.ekstrand@intel.com>
-
- Oct 01, 2014
-
-
Pekka Paalanen authored
Noticed while reading code, that create_common_surface() may return NULL, and callers of its direct callers check for NULL, but the intermediate function in between would crash. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Sep 30, 2014
-
-
Pekka Paalanen authored
This started as a copy of simple-shm.c before it was converted to xdg_shell. This demo excercises the presentation feedback interface in five different modes: - A continuous repaint loop triggered by frame callbacks, and using immediate commits, just gathering presentation feedback and computing some time intervals for statistics. - The same as above, except with 1s sleep before actually repainting as a response to frame callback. This tests how well the compositor can do a repaint from idle state (not continuously repainting), assuming nothing else is causing repaints. - A continuous repaint loop triggered by 'presented' events rather than by frame callbacks. If Weston uses an appropriate scheduling algorithm, this mode achieves the smallest possible frame latency (below one output refresh period). In all modes, all frames are pre-rendered at startup, so no rendering happens during the animation. [Louis-Francis Ratté-Boulianne: split queuing feature] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
-
Pekka Paalanen authored
Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Pekka Paalanen authored
Add 'msc' field to weston_output to maintain the refresh counter, and use it in presentation_feedback.presented. Make compositor-drm update the per-output refresh counter with the values reported by DRM. If the DRM reported value jumps backwards, assume it wrapped around once. Other backends do not update weston_output::msc, and there presentation_feedback will always deliver refresh counter as zero. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v3 Reviewed-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-
Pekka Paalanen authored
Implement the presentation.feedback request, and the presentation_feedback protocol interface. Feedback information is delivered to clients as the backend reports it, except the refresh counter (MSC) which is always reported as zero. Changes in v4: * add 'flags' argument to 'presented' event without implementation Changes in v5: * remove the 'destroy' method implementation for feedback objects [Pekka Paalanen: do not leak struct feedback.] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v3 Reviewed-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-
Pekka Paalanen authored
Add presentation clock setters that verify the given clock actually works. Offer an automatic choice of a software fallback clock, when a backend has to always use clock_gettime() to approximate the presentation time. The DRM backend already queried the DRM about the clock id, just let the DRM backend set the presentation clock from that. For all other backends which do not get a timestamp from the driver, call the software clock setter to choose a suitable clock. Report the chosen clock via presentation.clock_id event to clients. In finish_frame(), upgrade the argument from uint32_t milliseconds to struct timespec which can accurately hold the presentation clock values. This will be needed when weston_output_finish_frame() starts to send out presentation_feedback.presented events. While at it, replace gettimeofday() calls with clock_gettime() using the chosen presentation clock, so we manufacture presentation timestamps from the presentation clock when the gfx drivers cannot give us a proper timestamp. Rpi patch is more verbose due to not having the compositor pointer available in rpi_flippipe_update_complete(). Explicitly carry the clock id with flippipe so it is available in the thread. Changes in v4: * rpi debug build fix v4 Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v3 Reviewed-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-
Pekka Paalanen authored
Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v3 Reviewed-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-