365442c1ff
wayland-surface: Fix typo
2014-02-01 16:19:54 -05:00
9567fa9c6a
wayland: Check for launcher before freeing it
...
This prevents a segfault on shutdown.
2014-01-31 19:03:56 -05:00
7a8de0c0af
wayland: Reindent
2014-01-31 19:03:56 -05:00
10fead9ba1
wayland-pointer: Fix infinite loop when leaving focus from a destroyed surface
...
To prevent corruption, our focus listener needs to be removed even when
the surface is destroyed. So, bailing out when pointer->focus->resource
is NULL just isn't good enough.
2014-01-31 18:21:04 -05:00
a09fa3b0e4
wayland: Clean up the parallels between creating callbacks and surface extensions
2014-01-31 16:40:47 -05:00
9edff6f250
wayland: Use wl_callback_send_done
...
For no specific reason...
2014-01-31 16:40:47 -05:00
225e20a898
wayland: Remove superfluous "wayland_" from arguments
2014-01-31 11:38:37 -05:00
1a62ac9276
xwayland: Shuffle some code around
2014-01-31 11:24:02 -05:00
4f4b1bfc37
wayland: Support wl_subsurface.set_sync/set_desync
...
Implement support for synchronous subsurfaces commits. This means that
the client can, by calling wl_subsurface.set_sync, cause its surface
state to be commited not until its parent commits.
This will mean there will be will potentially be one more surface state
(regions, buffer) at the same time: the active surface state, the mutable
pending surface state, and the immutable surface state that was pending
on last surface commit.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com >
https://bugzilla.gnome.org/show_bug.cgi?id=705502
2014-01-30 15:13:44 -05:00
9348c9bd4b
wayland: Make wl_subsurface.place_(above|below) properly synchronized
...
The placement set by either wl_subsurface.place_above or
wl_subsurface.place_below should be applied when the parent surface
invokes wl_surface.commit.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com >
https://bugzilla.gnome.org/show_bug.cgi?id=705502
2014-01-30 15:13:43 -05:00
16de7f66fb
wayland: Make wl_subsurface.set_position properly synchronized
...
The position set by wl_subsurface.set_position should be applied when
the parent surface invokes wl_surface.commit.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com >
https://bugzilla.gnome.org/show_bug.cgi?id=705502
2014-01-30 19:12:06 +01:00
799c27484d
wayland: Report error when trying to stack subsurface incorrectly
...
Don't allow a client to stack a subsurface next to a subsurface with
another parent, or to a non-parent non-subsurface surface.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com >
https://bugzilla.gnome.org/show_bug.cgi?id=705502
2014-01-30 19:12:06 +01:00
9c876722a0
xwayland: Use server protocol wrappers instead of wl_resource_post_event
2014-01-29 10:27:16 -05:00
96fc93d744
xwayland: Reindent
2014-01-29 10:23:58 -05:00
20545941fa
Revert unintentional merge from wip/surface-content to wayland
...
This reverts a lot of commits.
2014-01-22 09:18:13 -05:00
ac32b9ef95
get xwayland working again
2014-01-21 19:06:06 -05:00
e6391c2896
surface content
2014-01-21 19:01:34 -05:00
a0fe392665
surface-actor: Move unobscured_region processing here
...
https://bugzilla.gnome.org/show_bug.cgi?id=720631
2014-01-21 19:01:34 -05:00
8cb9cfb7b8
Revert "meta-weston-launch: Call VT_ACTIVATE ourselves"
...
This reverts commit ebe6e3180e
.
This is wrong, as mutter's controlling TTY may not be the same
as the active VT, and in fact won't be in the case of systemd
spawning us.
The "correct" API for this is to use David Herrmann's
"Session Positions" system to switch to another VT:
http://lists.freedesktop.org/archives/systemd-devel/2013-December/014956.html
2014-01-16 13:42:07 -05:00
002c5b8f87
wayland: Don't keep track of the drm FD in the WaylandCompositor
...
As logind can give us a new FD at any time when it resumes. Theoretically,
this is still technically wrong, as the MetaCursorTracker holds onto it.
We'll fix this after we port to logind.
2013-12-31 19:22:16 -05:00
1d3dbea20c
meta-weston-launch: Don't use a GObject here
...
We don't need a complicated API anymore.
2013-12-31 19:22:16 -05:00
ebe6e3180e
meta-weston-launch: Call VT_ACTIVATE ourselves
...
We don't need any special permissions, so we don't need to go through
weston-launch to do so...
2013-12-31 19:22:16 -05:00
a3de799939
wayland-surface: Remove inappropriate meta-weston-launch.h include
2013-12-31 19:20:58 -05:00
7009d1e470
wayland: Update to latest xdg-shell
...
We don't use the new maximize / fullscreen request system yet, leading
to broken maximization / fullscreen. This will be fixed in a followup.
2013-12-17 15:04:16 -05:00
fd8cc9b7a8
xwayland: Remove outdated code
...
Now that focus management goes through the central display.c,
we don't need to do this separately. Wayland and X clients
should just behave as one.
2013-12-09 13:57:32 -05:00
65b39212d5
meta-wayland: Remove undefined variable
2013-12-05 18:32:11 -05:00
283649b8d7
Support keybindings again, too
2013-12-05 17:18:49 -05:00
1be117e430
wayland-surface: Properly set the window type
...
We need to make sure to call meta_window_type_changed after updating
the type...
2013-12-04 10:41:58 -05:00
0924c7d61b
wayland: Use a stage paint callback instead of a signal handler on "paint"
...
This is much more appropriate...
2013-12-03 14:49:40 -05:00
fe26cb5989
wayland-surface: Unmanage the window when destroying xdg_surface/xdg_popup
...
Also, unparent the actor when destroying a subsurface, as well, and
don't free the surface when we destroy the MetaWindow.
2013-12-03 11:45:50 -05:00
602307e694
Revert "pointer: Remove focus listener"
...
This reverts commit a8ac2cc275
.
2013-12-03 11:45:50 -05:00
b2c18c4a78
Revert "keyboard: Remove focus listener"
...
This reverts commit 0ac142d39e
.
2013-12-03 11:45:50 -05:00
1e211722c7
wayland-surface: Set popups transient to their parents
2013-12-03 11:45:50 -05:00
461f74ef18
wayland: Fix setting keyboard/pointer focus for new clients
...
When we have a new client, we potentially set the focus on one of its
surfaces when we map it but the client might not have called
wl_seat.get_keyboard/pointer yet. When it finally calls
get_keyboard/pointer we must then register its resource as the
focus_resource which means that we can only return early if
focus_resource is already set.
https://bugzilla.gnome.org/show_bug.cgi?id=719725
2013-12-03 15:56:15 +01:00
20e92c5a72
wayland: Set the clutter stage focus when we focus a window
...
Otherwise clutter events don't have their source actor properly set
and we aren't able to determine the MetaWindow to which a given
keybinding applies.
https://bugzilla.gnome.org/show_bug.cgi?id=719724
2013-12-03 13:58:27 +01:00
d44574f738
wayland-surface: Process damage even if the buffer didn't change
2013-11-26 12:32:41 -05:00
a9424255a5
wayland-surface: Add support for subsurfaces
...
The state for a subsurface isn't double-buffered yet, though...
2013-11-25 18:33:03 -05:00
5089a63d76
wayland-surface: Create the surface actor ourselves
...
Otherwise, we can't rely on a surface_actor being around to add
ourselves to...
2013-11-25 18:29:58 -05:00
f9a2c64460
wayland-surface: Don't require a MetaWindow to process damage...
...
and ClutterActor will clip to the actor bounds, anyway...
2013-11-25 18:15:20 -05:00
7841042a85
wayland-surface: Restructure code flow in wl_surface_attach a bit more...
2013-11-25 18:15:20 -05:00
ea1b8cdc22
wayland-surface: Fix copy/paste typo
2013-11-25 18:15:19 -05:00
52b48cfbef
wayland-surface: Return after posting errors back to the client
2013-11-25 18:15:03 -05:00
304005e04f
wayland-surface: Replace MetaWindowActor with MetaSurfaceActor
...
Since subsurfaces won't have toplevel MetaWindowActors, we need to
use MetaSurfaceActor instead. These are embedded in the MetaWindowActor,
just like MetaShapedTexture was (in fact, MetaSurfaceActor now contains
a MetaShapedTexture)
2013-11-25 17:25:55 -05:00
0ccef81789
wayland-surface: Rework flow control for wl_surface_commit
2013-11-25 17:25:46 -05:00
4780f74a40
wayland-surface: Properly allow setting the cursor to a NULL buffer
2013-11-25 17:18:22 -05:00
57866fb267
wayland-surface: Don't rewrite input/opaque regions if the client doesn't attach any
2013-11-25 17:18:22 -05:00
6d639ac528
window: Support pinging Wayland surfaces as well
2013-11-21 14:24:04 -05:00
8a3501ffe1
xwayland: Fix a couple of small leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=712833
2013-11-21 19:22:26 +01:00
a37a8c6497
wayland-surface: Fix transient_for
...
It takes a wl_surface resource, not an xdg_shell_surface resource,
and the argument is allowed to be NULL.
2013-11-21 13:09:21 -05:00
ebf6862a10
wayland-surface: Don't mark popup windows as override-redirect
2013-11-21 13:09:21 -05:00