- May 08, 2015
-
-
Giulio Camuffo authored
The compositor's output_created signal used to be sent in weston_output_init() which the backend call before putting the output in the output_list. This caused problems when creating a new view in a listener to that signal, because weston_view_assign_output() doesn't yet know the new output exists. To fix this add a new weston_composito_add_output() func which adds the output in the list and later sends the signal, and make the backends call that.
-
- May 07, 2015
-
-
Manuel Bachmann authored
weston-editor is the only stock client spawning the virtual keyboard ; which means it may be the only client able to obtain some special characters (depending on the user's keyboard layout). If we implement Cut, Copy and Paste, the user has now a way to copy such characters to other useful clients (such as weston-terminal). Plus, it demonstrates text data exchange between two clients of different nature. Functionality is implemented in a right-click menu and the Ctrl+Shift+X/C/V bindings, just as in weston-terminal. Signed-off-by:
Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Tested-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Bryce Harrington authored
-
- May 05, 2015
-
-
Bryce Harrington authored
-
Jonas Ådahl authored
We cannot rely on the client to provide a surface filling the output so we must specify what happens with the outputs area that is not covered completely. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
Some times the compositor needs to send a configure request but without having any clue about what size the surface should have. Examples include unmaximizing a surface that was mapped as maximized, or an initial state which doesn't have any size expectations. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
Mention set_window_geometry in configure documentation. Add a strategic "For instance" to clarify what is just an example. Clarify that the arguments of set_window_geometry are in the surface local coordinate space. Point out that the client needs to destroy a dismissed popup. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Jonas Ådahl authored
Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
Require the client to have attached (either previously committed, or newly) a buffer to the corresponding wl_surface, and that the window will not be potentially mapped until calling wl_surface.commit after having created the window. This is required to make valid double buffered xdg_surface state possible when creating a window. Currently there is no double buffered state in xdg_popup, but it should behave the same as xdg_surface, and for making it future proof in case we want to add double buffered state to xdg_popup. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
They are errors that may be as a result of calling get_xdg_popup on an xdg_shell, not a result of calling a request on xdg_popup. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Jonas Ådahl authored
Require all child objects to be destroyed before the parent. In other words, all popups and surfaces created by one xdg_shell instance needs to be destroyed before the xdg_shell object, otherwise a protocol error is raised. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- May 02, 2015
-
-
Derek Foreman authored
Signed-off-by:
Derek Foreman <derekf@osg.samsung.com>
-
- May 01, 2015
-
-
As we do for the input interfaces such as wl_pointer, we must send the selection event to all the wl_data_device resources the client created for a specified seat. Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
This commit adds a new exported function, weston_seat_send_selection(), which sends the current selection to a specified client. This is useful e.g. to implement a clipboard manager as a special client. Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
The other set_focus() functions take the relevant type instead of a seat already, so this is consistent. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Apr 30, 2015
-
-
Pekka Paalanen authored
Pass 'this' weston_surface as the data argument to weston_surface::destroy_signal listeners. The old &surface->resource was really just an offsetted pointer to the weston_surface anyway. And, because 'resource' happened to be the first member in struct weston_surface, it was actually 'this' weston_surface. The argument type was accidentally changed in commit 26ed73ce from wl_resource* to wl_resource**. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Pekka Paalanen authored
There is no valid case, where you would actually destroy a weston_surface, while leaving the wl_surface protocol object in existence. Therefore, inert wl_surface objects do not exist, except because of bugs. To catch such bugs, check that the resource is really NULL before actually destroying the weston_surface. We actually used to have this check, but it was removed by: commit 9dadfb53 Author: Kristian Høgsberg <krh@bitplanet.net> Date: Mon Jul 8 13:49:36 2013 -0400 compositor: Eliminate marshalling warning for leave events However, the invariant was put back in: commit 0d379744 Author: Giulio Camuffo <giuliocamuffo@gmail.com> Date: Fri Nov 15 22:06:15 2013 +0100 compositor: set weston_surface:resource to NULL when destroyed So apparently the issue fixed by 9dadfb53 was fixed another way later. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Apr 28, 2015
-
-
Especially, the size of destination rectagle is set to (1,1). This is because the size will be used for caluculating scale and not to be 0 to avoid 0 dividing. I also remark this as FIXME. This shall be fixed at ivi-layout-tansition.c. In new invoded application, its property is initilized by (0,0) destination rectangle. So transition fucntion always calculates its scale as inf at first frame of fade-in with new invoked application. To fix this, restructing transition function is ideally needed. Signed-off-by:
Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This method should not update weston_view directly. This shall be done by controller via ivi_layout_*. Signed-off-by:
Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
When application changes the size of its content, UI shall fit the source rectangle, view area, to the size of its content to show whole content. Signed-off-by:
Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Scale is calculated as float and to be inf. It shall be avoided by, ivi_layout_surface_set_source/destination_rectangle. So output log and then return this method to use prevous scale for fail safe. Signed-off-by:
Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
ivi_layout_surface_configure is called from ivi-shell when configure listener of weston surface is triggered. This function shall do, - emit signal to hmi-controller to notify the configuration change Other unnecesary logics are cleaned up. Signed-off-by:
Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Apr 21, 2015
-
-
The reason why the result is not output in the method is that it avoids to have dependency on CAIRO. If user want to output it to file, user shall link CAIRO on its controller. ivi_layout_surface_get_size is also supported here because user needs stride to call ivi_layout_surafce_dump. Signed-off-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Apr 14, 2015
-
-
Bryce Harrington authored
-
- Apr 13, 2015
-
-
It doesn't work anymore, and it never did anything useful. Signed-off-by:
Dima Ryazanov <dima@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Currently, the shell crashes if the parent is not a shell surface. Instead, send an error to the client. Signed-off-by:
Dima Ryazanov <dima@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
At least in some shells test needs 3 arguments for string comparison if test $foo=yes ... will always be true. if test $foo = yes ... will perform a string comparison. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-By:
Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Apr 10, 2015
-
-
If windows are created and quickly destroyed it's possible that they'll be on the unpaired window list at the time of surface creation. The surface destroy listener for that surface isn't properly freed and a crash happens some time later. This patch removes the window from the unpaired list during unmap, so we should never get to the destroy handler with a surface destroy listener set. Just in case there's another path to that failure, I've also removed the surface destroy listener in the destory handler. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Acked-by:
Jasper St. Pierre <jstpierre@mecheye.net> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Added build error message when 'make install' is run as non-root and the --disable-setuid-install configuration option has not been used. Signed-off-by:
Jon A. Cruz <jonc@osg.samsung.com> Acked-by:
Peter Hutterer <peter.hutterer@who-t.net> Tested-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This lets us verify that all callers are actually testing for a successful hash lookup at compile time. All current users of hash_table_lookup are converted to the new wm_lookup_window() and the appropriate success check is added. This fixes any call sites that used to assume a successful return and dereference a NULL pointer. This closes http://bugs.freedesktop.org/show_bug.cgi?id=83994 The xwayland test has been failing because weston crashes due to a hash lookup failure and a subsequent dereference of the returned NULL pointer. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Apr 09, 2015
-
-
Pekka Paalanen authored
This is the ivi_layout stand-alone test controller module that does not require any clients to run. Therefore it is much simpler than ivi_layout-test-plugin.c and does not need a matching part in ivi_layout-test.c. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com>
-
Pekka Paalanen authored
Testing the ivi_layout API requires two things: - the tests must be written as a controller module to access the API - the tests need a helper client to create some objects that can then be managed via the API This patch adds all the infrastructure and two different kinds of example tests. Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston with ivi-shell, and loads the given module as a controller module, not as a normal plugin. The test controller module ivi-*.la will launch a helper client. For ivi-layout-test.la the helper client is ivi-layout.ivi. The helper client uses the weston-test-runner framework to fork and exec each TEST with a fresh connection to the compositor. The actual test is triggered by the weston_test_runner protocol interface, a new addition to weston-test.xml. The helper client uses weston_test_runner to trigger a test, and the server side of the interface is implemented by the test controller module (ivi-layout-test.la). The server side of weston_test_runner uses the same trick as weston-test-runner.h to gather a list of defined tests. A test is defined with the RUNNER_TEST macro. If a test defined by RUNNER_TEST succeeds, an event is sent to the helper client that it can continue (or exit). If a test fails, a fatal protocol error is sent to the helper client. Once the helper client has iterated over all of its tests, it signals the batch success/failure via process exit code. That is cought in the test controller module, and forwarded as Weston's exit code. In summary: each ivi_layout test is a combination of a client side helper/setup and server side actual tests. v2: Load weston-test.so, because create_client() needs it. v3: add a comment about IVI_TEST_SURFACE_ID_BASE. v4: Rebased to upstream weston-tests-env changes. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
-
Pekka Paalanen authored
This simply tests that Weston starts with ivi-shell, and ivi_application is present. Changes in v3: - Rebased to upstream weston-tests-env changes. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
-
- Apr 08, 2015
-
-
EGL_MESA_configless_context is a display extension. The query for client extensions was overwriting the pointer, so it was being searched from the client extensions instead. Fix any confusion here by moving all client extension checks into another function. Drop a useless cast. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
An EGL implementation may support client extensions without supporting EGL_EXT_platform_base. In such a case, we should return 0 to fall back to the old eglGetDisplay() way. Cc: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Some DRI drivers, including VMware vmwgfx, do not support calling eglQueryString() with a EGL_NO_DISPLAY parameter. Just as we do in gl_renderer_supports(), which returns 0 but does not fail in this case, do not fail in gl_renderer_setup_egl_extensions(). Signed-off-by:
Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> [Pekka: split the patch] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
The first break in TYPE_WM_PROTOCOLS was almost certainly intended to be nested within the if statement. Even if it wasn't, it makes sense there. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-