Jasper St. Pierre
3e35cac67a
wayland-surface: Repick after cleaning up everything else
...
Just a code cleanup to keep all the freeing code together.
2014-02-01 16:29:36 -05:00
Jasper St. Pierre
1f7a6bf845
wayland-surface: Don't clean up the buffer_destroy_listener twice
...
double_buffered_state_destroy will do this for us.
2014-02-01 16:29:09 -05:00
Jasper St. Pierre
365442c1ff
wayland-surface: Fix typo
2014-02-01 16:19:54 -05:00
Jasper St. Pierre
a09fa3b0e4
wayland: Clean up the parallels between creating callbacks and surface extensions
2014-01-31 16:40:47 -05:00
Jasper St. Pierre
225e20a898
wayland: Remove superfluous "wayland_" from arguments
2014-01-31 11:38:37 -05:00
Jonas Ådahl
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
Jonas Ådahl
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
Jonas Ådahl
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
Jonas Ådahl
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
Jasper St. Pierre
20545941fa
Revert unintentional merge from wip/surface-content to wayland
...
This reverts a lot of commits.
2014-01-22 09:18:13 -05:00
Jasper St. Pierre
e6391c2896
surface content
2014-01-21 19:01:34 -05:00
Jasper St. Pierre
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
Jasper St. Pierre
a3de799939
wayland-surface: Remove inappropriate meta-weston-launch.h include
2013-12-31 19:20:58 -05:00
Jasper St. Pierre
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
Jasper St. Pierre
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
Jasper St. Pierre
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
Jasper St. Pierre
1e211722c7
wayland-surface: Set popups transient to their parents
2013-12-03 11:45:50 -05:00
Jasper St. Pierre
d44574f738
wayland-surface: Process damage even if the buffer didn't change
2013-11-26 12:32:41 -05:00
Jasper St. Pierre
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
Jasper St. Pierre
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
Jasper St. Pierre
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
Jasper St. Pierre
7841042a85
wayland-surface: Restructure code flow in wl_surface_attach a bit more...
2013-11-25 18:15:20 -05:00
Jasper St. Pierre
ea1b8cdc22
wayland-surface: Fix copy/paste typo
2013-11-25 18:15:19 -05:00
Jasper St. Pierre
52b48cfbef
wayland-surface: Return after posting errors back to the client
2013-11-25 18:15:03 -05:00
Jasper St. Pierre
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
Jasper St. Pierre
0ccef81789
wayland-surface: Rework flow control for wl_surface_commit
2013-11-25 17:25:46 -05:00
Jasper St. Pierre
4780f74a40
wayland-surface: Properly allow setting the cursor to a NULL buffer
2013-11-25 17:18:22 -05:00
Jasper St. Pierre
57866fb267
wayland-surface: Don't rewrite input/opaque regions if the client doesn't attach any
2013-11-25 17:18:22 -05:00
Jasper St. Pierre
6d639ac528
window: Support pinging Wayland surfaces as well
2013-11-21 14:24:04 -05:00
Jasper St. Pierre
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
Jasper St. Pierre
ebf6862a10
wayland-surface: Don't mark popup windows as override-redirect
2013-11-21 13:09:21 -05:00
Jasper St. Pierre
f4fc498e65
wayland-surface: Properly destroy extension resources on the destroy request
...
Otherwise, the resource IDs will linger around and be destroyed again
on client close...
2013-11-19 23:34:03 -05:00
Jasper St. Pierre
a8632c2546
Revert "wayland-surface: Allow extension resources to be double-destroyed"
...
This reverts commit 2ebecc5370
.
2013-11-19 23:34:03 -05:00
Jasper St. Pierre
2930612e64
pointer: Remove dead and incorrect code
...
Now that we can never pick a destroying actor, we can remove these
bad asserts.
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
2ebecc5370
wayland-surface: Allow extension resources to be double-destroyed
...
As they will be on shutdown... I'm not sure if this is a wayland-server
bug or not, but we should guard against it anyway.
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
02144d17e9
wayland-surface: Fill in the maximized/fullscreen hints to the configure event
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
bbe3641844
wayland-surface: Add support for xdg_popup
2013-11-19 18:44:21 -05:00
Jasper St. Pierre
0cc5cf940b
wayland-surface: Remove some properties from the double-buffered state
...
Now that we can always set them on the MetaWindow...
2013-11-19 18:44:21 -05:00
Jasper St. Pierre
153d8efcf5
window: Create a backing MetaWindow for unmapped Wayland surfaces
...
We require a MetaWindow to properly implement some of the requests
for xdg_surface, so add a way to have an unmapped MetaWindow that
we can store properties on, that we later map when the client
attaches a buffer...
2013-11-19 17:48:19 -05:00
Jasper St. Pierre
be744775c1
wayland-surface: Support xdg_surface.destroy
...
Cool.
2013-11-19 17:48:19 -05:00
Jasper St. Pierre
5959457c73
wayland-surface: Embed MetaWaylandSurfaceExtension in MetaWaylandSurface
...
This makes it easier to support xdg_surface.destroy, which we're
going to add support for next commit...
2013-11-19 17:48:19 -05:00
Jasper St. Pierre
d945501be6
window: Remove width/height from meta_window_new_for_wayland
2013-11-19 15:37:33 -05:00
Jasper St. Pierre
9461c612de
wayland-surface: Only spew about set_buffer_scale if it's not 1
...
... to stop the GTK+ spam on my system.
2013-11-19 13:00:34 -05:00
Jasper St. Pierre
f0280a8868
wayland-surface: Allow setting a NULL buffer to effectively unmap
2013-11-19 12:47:50 -05:00
Jasper St. Pierre
932e913d88
wayland-surface: Fix formatting
2013-11-14 21:49:51 -05:00
Jasper St. Pierre
b72315e27a
wayland-surface: Support xdg_surface_resize as well
2013-11-14 21:48:39 -05:00
Jasper St. Pierre
3c7cd1f38c
wayland-surface: Use begin_grab_op for move grabs
2013-11-14 21:34:20 -05:00
Jasper St. Pierre
875bbec949
wayland: Drop old hack to synthesize motion events
...
mutter now uses Clutter events for the source of its drag support, so
we don't need to synthesize X11 events anymore.
2013-11-12 16:53:14 -05:00
Jasper St. Pierre
72a900787f
wayland: Send xdg_surface_focused_set / xdg_surface_focused_unset
2013-11-12 16:53:13 -05:00
Jasper St. Pierre
7186841db0
wayland-surface: Remove initial_state
...
Just put everything in the double buffered state so it all
arrives at the same time; on commit.
2013-11-12 16:53:13 -05:00