Commit graph

2850 commits

Author SHA1 Message Date
Eduardo Lima (Etrunko)
98be20f0de weston.pc: Added libexecdir and pkglibexecdir variables
These can be used by external clients to check the installation path

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-07 01:38:38 -04:00
Rob Bradford
3331ee8d8e udev-seat: Fail input setup only if no devices are found
Rather than failing if we cannot open any single device fail the input
setup if there are no input devices added.

https://bugs.freedesktop.org/show_bug.cgi?id=64506
2013-06-07 01:38:29 -04:00
U. Artie Eoff
47ba3a0f11 use _exit instead of exit if client fails to exec
exit() calls atexit() handlers and C++ destructors (e.g. a C++
weston module) which could destroy state that the main process
depends on (e.g. ioctl's, tmpfiles, sockets, etc...).  If an exec
fails, call _exit() instead of exit().

v2: prefer _exit over _Exit

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-06-07 01:38:21 -04:00
Alexander Larsson
8d7562e47b compositor-x11: Set original mode after current
Otherwise we're pointing the original mode on some uninitialized
value.
2013-06-07 01:37:25 -04:00
Kristian Høgsberg
0d78b9aa87 compositor: Make backlight_current int32_t to avoid unsigned overflow
Backlight brightness was wrapping around when decrementing from 0.
2013-06-07 01:35:21 -04:00
Kristian Høgsberg
275481d59d compositor-drm: Log failure and which backlight sysfs file we're using 2013-06-07 01:35:13 -04:00
Rob Bradford
698edf44ac weston-launch: Print explanation of why we failed to open the device 2013-06-07 01:34:29 -04:00
Dima Ryazanov
186775c4da Fix missing corner resize cursors in Kubuntu (oxy-white theme)
Looks like that theme uses different names. Also, add the correspoding
horizontal and vertical resize cursors, just for consistency.
2013-06-07 01:33:50 -04:00
Eduardo Lima (Etrunko)
9caf77bd92 text: Respawn input method process if it exits
Just the same as it is done in shell.c, if the input method process exits
for any reason, we relaunch it automatically, as it is not possible to
launch a standalone application outside of the weston process.

In v2:
 - Proper error message when giving up.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>

Conflicts:
	src/text-backend.c
2013-05-15 09:03:15 -04:00
Ander Conselvan de Oliveira
504a780b15 compositor-drm: Don't page flip before a mode is set
The function drm_output_start_repaint_loop() unconditionally issues a
page flip, even if the crtc for that output has not been enabled yet.
That causes the page flip to fail, and drm_output_repaint() is never
called.

Solve this by bypassing the initial page flip if the output needs a
mode set.

This has the caveat of affecting latency predictability for that first
frame and when a "driver" mode fullscreen surface causes a mode set.
However, on both cases the mode set would take an unpredictable amount
of time anyway.

https://bugs.freedesktop.org/show_bug.cgi?id=63812
https://bugs.freedesktop.org/show_bug.cgi?id=64183
2013-05-15 09:02:16 -04:00
Kristian Høgsberg
5b65927f4f compositor-drm: Destroy sprites before destroying the outputs 2013-05-15 09:02:07 -04:00
Kristian Høgsberg
310cee07ec xwm: Reparent client windows into ARGB windows
We used to rely on an ugly hack where the xwayland server would always
report RGB X windows as having ARGB pixels, so that texturing from these
would also sample the undefined alpha.  We also relied on Xrender rendering
to RGB X windows to write the alpha channel correctly, so that when we
texture from the RGB X window as an ARGB surface we end up getting the
alpha written by Xrender.

That was obviously all broken.  We can instead reparent client windows into
ARGB frame windows.  That way we can render the decorations using a
ARGB render pictformat and sample back those alpha values in a well-defined
way.  We can also unbreak xwayland and let it report RGB pixel format for
RGB windows.  We still need the opaque region or the RGB-only client window
but that's OK.
2013-05-15 09:01:24 -04:00
Chris Michael
225a0ee18a Fix not checking return value of drmIoctl function call to map dumb buffer
in drm_fb_create_dumb, the return value of the drmIoctl function call
to map the dumb buffer was never checked, thus the following "if
(ret)" check was invalid as it was checking the previous return value
from the above drmModeAddFB call.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-15 09:01:15 -04:00
Emilio Pozuelo Monfort
85480fa8f8 weston.ini: document background-type 2013-05-15 09:00:57 -04:00
Yeh, Sinclair
6ab1353195 Fix simple-egl tear-down order to prevent a crash on exit time
wl_egl_window_destory() destroys the window handle that
dri2_destroy_surface() later uses when eglTerminate() is called.

Reordering the tear down order prevents such case from occuring.
2013-05-15 09:00:54 -04:00
Kristian Høgsberg
2e43720743 window: Add a log handler for window.c clients
This way we can see what kind of error we get if we get an error.
2013-04-16 20:46:59 -04:00
Kristian Høgsberg
c08bc364fc configure.ac: Bump version to 1.1.0 2013-04-15 21:51:35 -04:00
Philipp Brüschweiler
63e7be60b3 shell: clear popup grab interface on remove_popup_grab and popup_grab_end
Fixes a segfault. Steps to reproduce:

* start weston with the x11 backend
* open a terminal
* click on the icon in the top left corner, choose close
* close the x11 window containing weston
2013-04-15 21:13:34 -04:00
Philipp Brüschweiler
96386b8e5e desktop-shell: better error logging
v2: only call cairo_surface_status once
2013-04-15 20:57:55 -04:00
Hardening
4a3c150c96 Correctly handle extended RDP keycodes
The keycodes received by the FreeRDP server aren't evdev keycodes.
This patch adds the correct convertion to evdev keycodes. After the
patch all keys that are marked as extended in RDP packets become
functionnal (that's the case for the windows key).
Please note that this patch rely on some corrections that have been
pushed on the FreeRDP github tonight.
2013-04-11 16:11:11 -04:00
Tiago Vignatti
b67c91d46d clients: tablet-shell: Wait for set_homescreen hits the server
This relates to:
    https://bugs.freedesktop.org/show_bug.cgi?id=57634
    https://bugs.freedesktop.org/show_bug.cgi?id=57637

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2013-04-09 15:05:32 -04:00
Jonas Ådahl
e5a1225bc4 Make backends always specify output repaint time
Most backends relies on gettimeofday(2) for output repaint timestamps
but this is not a requirement. Before this patch repaints coming from
idle_repaint() always used gettimeofday(2) for timestamps. For backends
not using that time source this could cause large jumps between
timestamps.

To fix this, timestamps needs to always come from the backend. This
means that the backend needs to always be responsible of starting the
repaint loop in case that the repaint cannot start immediately.

The drm backend implementation is from the patch by Ander Conselvan de
Oliveira found here:
http://lists.freedesktop.org/archives/wayland-devel/2013-February/007393.html

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2013-04-08 14:24:03 -04:00
Kristian Høgsberg
b76237e508 compositor-drm: Allow running without launcher if effective UID is 0
This lets us keep running weston as root or setuid root.
2013-04-04 21:36:20 -04:00
Armin K
eb3c73f288 Fix compiler warnings
This prevents compiler warnings when using libpng 1.6 and GCC 4.8
2013-04-03 20:40:44 -04:00
Quentin Glidic
5daccc373e autotools: Add a libunwind configure switch
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2013-04-03 14:31:44 -04:00
Rob Bradford
91ae483ab9 compositor: Use wl_pointer_set_current to cleanup after surface destruction
This API call handles setting the current surface on the wl_pointer and also
maintaining a destroy notification to monitor that surface for destruction.

This is part of the fix for: https://bugzilla.gnome.org/show_bug.cgi?id=696946
2013-04-03 12:05:57 -04:00
Giulio Camuffo
319b91b97a window: don't execute the selected menu item when getting popup_done 2013-04-03 08:48:31 -04:00
Philipp Brüschweiler
e14560e381 compositor: add information about the fbdev backend to --help output 2013-04-01 21:45:00 -04:00
Hardening
a83409cbff RDP compositor take 6
This patch is the 6th version of the FreeRDP based compositor.
Changes from last version:
 * use pixman_image_get_stride() when appropriate
 * always realloc

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2013-04-01 20:50:54 -04:00
Philipp Brüschweiler
57edf7f49e compositor: add WESTON_COMPOSITOR_OFFSCREEN state
This state is used when the user switches the vt. It turns of rendering
and frame events, but doesn't set the DPMS state to off.

As a part of this change, also turn off the idle timer when entering
the SLEEPING or OFFSCREEN states, which fixes
https://bugs.freedesktop.org/show_bug.cgi?id=61910 (rpi backend
untested).
2013-03-29 14:05:27 -04:00
Damien Lespiau
cee79e91f3 gitignore: Ignore test-driver
Automake (1.12 here) parallel-tests installs a test-driver file, another
file to add to .gitignore.

While at it, remove the duplicate cscope.out entry and add TAGS (the
result of automake's "make tag")
2013-03-28 14:04:05 -04:00
Giulio Camuffo
7fe01b18d8 sdk: be C++ friendly
This renames the weston_surface's private member to configure_private
and externs "C" the headers of the SDK.
2013-03-28 14:03:58 -04:00
Damien Lespiau
b5bae3450c build: Make the X11 compositor explicitely depend on xcb-shm
Otherwise, it means the X11 compositor depends on another library to
pull xcb-shm (cairo?), which is not always the case. Here I end up with:

[01:54:38.970] Failed to load module:
$prefix/lib/weston/x11-backend.so: undefined symbol: xcb_shm_id
2013-03-28 12:18:51 -04:00
Kristian Høgsberg
88817f869f compositor: Remove unused wl_pointer variable
Using move_pointer() in notify_pointer_focus() left the wl_pointer variable
unused.
2013-03-27 23:00:29 -04:00
Peter Maatman
e5b42e4466 Added handler for SIGABRT 2013-03-27 22:57:33 -04:00
Jonas Ådahl
848e2e670e evdev-touchpad: Disable tap FSM by default on touchpads with button pads
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2013-03-27 15:39:09 -04:00
Kristian Høgsberg
5006596a72 compositor-x11: Fix relative motion reporting for multiple outputs 2013-03-27 15:14:07 -04:00
Rob Bradford
c088e2c011 compositor: Support notifying with absolute position too
With evdev input devices that generate absolute positions we need to provide
an infrastructure in the compositor for supporting those.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=61997
2013-03-27 14:42:28 -04:00
Rafal Mielniczuk
32069c09ea compositor-drm: ensure we run drm-backend using weston-launch
We do this by checking if launcher_sock != -1

This fixes https://bugs.freedesktop.org/show_bug.cgi?id=60926
2013-03-27 13:46:01 -04:00
Giulio Camuffo
1b4b61ace3 shell: set the popup grab button as pressed only if it actually is
This ensures the popup_grab.initial_up field isn't reset to 0
if the popup was not opened because of a mouse press but because
of moving the mouse with a popup already open. Not doing so will
make the first click outside the client area go ignored.
2013-03-27 13:11:06 -04:00
Giulio Camuffo
5085a75dee shell: handle multiple popups
This patch implements a popup stack. When the first popup is opened
the grab is started, and it is added to a list. Further popups will
be added to this list but the grab won't change. When a popup is
closed it is removed from the list and, if it is now empty, the grab
is ended.
A click outside the client area will send the popup_done event to
all the popups in the list, and the grab will end.
2013-03-25 22:36:58 -04:00
Rob Bradford
0f3f97d34a weston-egl: Allow compilation against older EGL stack
Provide a definition of EGL_BUFFER_AGE_EXT so that you can compile against an
EGL stack that may not yet support that extension.
2013-03-22 10:26:04 -04:00
Scott Moreau
706d15e2a7 Revert "weston.ini: Use 'modeline' key for modeline example"
This reverts commit 97a5614563.

The current code detects the mode key, not modeline. Reference:
http://cgit.freedesktop.org/wayland/weston/tree/src/compositor-drm.c#n2464
2013-03-19 15:52:40 -04:00
Scott Moreau
650aab55e7 weston.man: Document the way to disable idle timeout 2013-03-19 15:50:45 -04:00
Emilio Pozuelo Monfort
02d8ad6021 config.ini: add examples for cursor-theme and cursor-size 2013-03-19 14:42:48 -04:00
Emilio Pozuelo Monfort
57ac406c2f weston.ini.man: document cursor-theme and cursor-key 2013-03-19 14:42:46 -04:00
Emilio Pozuelo Monfort
ab44b0c61e toytoolkit: implement cursor-size config key 2013-03-19 14:42:43 -04:00
Siddharth Heroor
d6be88b5e2 weston-launch: cleanup - return failures in main with EXIT_FAILURE
Signed-off-by: Siddharth Heroor <heroor@gmail.com>
2013-03-19 14:41:05 -04:00
Philipp Brüschweiler
e74dc19aa1 compositor-rpi: Use correct enum, removes a warning 2013-03-19 14:35:34 -04:00
Philipp Brüschweiler
4b409c387d compositor: remove unused field option_idle_time 2013-03-19 14:31:46 -04:00