Kristian Høgsberg
980c49e6cd
window: Remove unused variable
13 years ago
Pekka Paalanen
77cbc951cb
window: clean up redraw and focuses on destroy
...
Currently, the way to destroy a window in a response to an event (e.g.
button click), is to put a task into the deferred list with
display_defer(). The task will then call window_destroy() from outside
event handling code.
As events are handled, it is possible that the deferred list contains
also the redraw task for this window. As the execution order of these
tasks is unknown (redrawing a freed window is a bug) and redrawing
something that goes away immediately is not useful, the redraw task must
be removed on window_destroy().
'struct input' contains pointers to windows currently in focus for that
input device. These pointers must also be cleared on window_destroy().
This fixes a use-after-free bug for the unlock dialog in desktop-shell
(future commit).
As an irrelevant minor cleanup, window::grab_device member is not used
anywhere, and is removed.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
13 years ago
Rob Bradford
8bd35c7770
window: Avoid setting an invalid surface for the pointer
...
If we failed to load the pointer image to the surface then do not create a
buffer from a NULL surface and do not attach that to the device.
13 years ago
Rob Bradford
21223bf6d1
window: Report an error if we cannot load the pointer files
13 years ago
Kristian Høgsberg
bcee9a4b25
desktop-shell: Add beginning of pop-up menu to panel
13 years ago
Benjamin Franzke
1a89f28c7d
gears: Fail if compiled without cairo-egl
13 years ago
Benjamin Franzke
0c99163d9b
window: Create a cairo device for each egl config
13 years ago
Benjamin Franzke
47eb8f4e91
window: Remove display_flush_cairo_device
...
Rather add a flush_surface utility that
flushed the cairo_device thats associated to a surface.
13 years ago
Kristian Høgsberg
e4fb78de8f
Handle compositors without wl_shell
13 years ago
Kristian Høgsberg
e28d05b0ad
window.c: Move window items to window.c
13 years ago
Kristian Høgsberg
3a69627f43
window: Stop using glib mainloop in toy toolkit
13 years ago
Kristian Høgsberg
1e164b9afd
Move rounded_rect() to cairo-util.c
13 years ago
Kristian Høgsberg
547da5afc9
terminal: Make -f (fullscreen) option work again
13 years ago
Kristian Høgsberg
f8ab46e149
window: Default to toplevel windows
13 years ago
Kristian Høgsberg
0c29eb292e
clients: Add a simple desktop-shell app
...
This just provides the background surface and the top panel.
13 years ago
Kristian Høgsberg
900b226ac1
window: Add enter/leave handlers
13 years ago
Benjamin Franzke
4b87a13974
clients: Fix typos
...
And forgotten display_create conversion in view.c.
13 years ago
Benjamin Franzke
91eacca38b
Remove egl display type setenv hack
...
No longer needed with mesa 7.12-devel egl display autodetection.
13 years ago
Kristian Høgsberg
f389cacc20
Move away from visuals and just use EGLConfigs or shm format tokens
13 years ago
Kristian Høgsberg
9de79a92a6
window.c: Drop global handler argument
...
We can just register a global handler directly on the wl_display now.
13 years ago
Kristian Høgsberg
a8d1fa762e
clients: Bring clients up to date
13 years ago
Kristian Høgsberg
334182062f
Use the new wl_callback interface
13 years ago
Benjamin Franzke
22d5481f91
window.c: Fix compile/run using cairo without egl
14 years ago
Benjamin Franzke
14f7ff91ad
window: Set egl_window_resize late and once
...
Previously we resized in attach_surface and create_surface.
THe second resize overwrote dx or dy from the first.
14 years ago
Kristian Høgsberg
8f0ce05f52
compositor: Send out more detailed output events
14 years ago
Kristian Høgsberg
7a5c979f4c
Move map requests to shell
14 years ago
Benjamin Franzke
65e5051bc7
clients: Add an optional roundtrip for visual lookup
14 years ago
Kristian Høgsberg
3be87d1931
window: Add support for opaque windows
14 years ago
Kristian Høgsberg
8357cd61d8
window.c: Deal with visual changes
14 years ago
Egbert Eich
e7b8d9055e
compositor: Set EGL_PLATFORM env variable for each backend.
...
I may have missed something, but - since the Wayland compositor
already picks a platform backend, opens a connection and initializes the
backend specific display data structure it doesn't make sense
to let egl pick a platform. If it picks a different one the
display specific data structure will most likely not match.
Thus determine the platform in the Wayland rendering backend by setting
the EGL_PLATFORM env variable.
For the client any other platform than 'wayland' doesn't seem to make
sense.
I'm not sure if I've got the the platform ofr openfwd right.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
14 years ago
Benjamin Franzke
bde55ec8e4
Implement buffer.damage in shm, use it in window.c
14 years ago
Kristian Høgsberg
7cbdb64ab6
Fix clients to work with wl_ prefixed interface names
14 years ago
Kristian Høgsberg
91342c6081
Switch to new subscribe protocol and wayland-egl
14 years ago
Kristian Høgsberg
d11eadb519
window.c: Check for cairo device failure the right way
14 years ago
Kristian Høgsberg
01aed1c665
Remove double definition of window_get_wl_surface()
14 years ago
Kristian Høgsberg
12b0bb343b
Fix window_set_child_size() for windows without decoration
14 years ago
Kristian Høgsberg
386857ba6a
Add struct window accessor for the wl_surface
14 years ago
Tim Wiederhake
b4b67344f0
Define global handler on display creation
...
Otherwise the initial announcement of interfaces gets lost.
14 years ago
Benjamin Franzke
cff904e69d
gears: Use wayland egl surface instead of images
14 years ago
Benjamin Franzke
6693ac2108
window: Use window surfaces for windows
14 years ago
Benjamin Franzke
ec4d342aa9
Support per surface frame events
...
This fixes tearing with multi head.
14 years ago
Tim Wiederhake
9c7a8cc663
fix typo in window.c
14 years ago
Kristian Høgsberg
0d5007a76f
window.c: Use eglGetProcAddress to look up extension functions
14 years ago
Kristian Høgsberg
297d6dd442
window.c: Include wayland-egl.h before EGL headers so we get the right platform
14 years ago
Kristian Høgsberg
bfb8e61381
Follow wayland-egl renames
14 years ago
Kristian Høgsberg
297c6313eb
Port window.c to use wayland-egl
14 years ago
nobled
7b87cb04a9
window: add null checks
...
Also check for invalid parameters early on, so if we crash,
we know *why* we crashed.
14 years ago
nobled
14d222f612
add newlines in error messages
14 years ago
Kristian Høgsberg
0ce245761c
Add initial basic support for fullscreen surfaces
14 years ago
Kristian Høgsberg
3ba4858c4b
compositor-x11: Handle keyboard focus correctly so we avoid stuck modifiers
14 years ago