struct {
struct gtk_surface1 *gtk_surface;
+ struct xdg_toplevel *xdg_toplevel;
+ struct zxdg_toplevel_v6 *zxdg_toplevel_v6;
} display_server;
GdkWaylandToplevel *transient_for;
{
GdkWaylandSurface parent_instance;
+ struct {
+ struct xdg_popup *xdg_popup;
+ struct zxdg_popup_v6 *zxdg_popup_v6;
+ } display_server;
+
PopupState state;
unsigned int thaw_upon_show : 1;
GdkPopupLayout *layout;
if (impl->pending.is_dirty)
gdk_wayland_surface_configure (surface);
-
- g_assert (!impl->display_server.xdg_popup);
}
static void
static gboolean
is_realized_toplevel (GdkWaylandSurface *impl)
{
- return (impl->display_server.xdg_toplevel ||
- impl->display_server.zxdg_toplevel_v6);
+ GdkWaylandToplevel *toplevel;
+
+ if (!GDK_IS_WAYLAND_TOPLEVEL (impl))
+ return FALSE;
+
+ toplevel = GDK_WAYLAND_TOPLEVEL (impl);
+
+ return (toplevel->display_server.xdg_toplevel ||
+ toplevel->display_server.zxdg_toplevel_v6);
}
static gboolean
is_realized_popup (GdkWaylandSurface *impl)
{
- return (impl->display_server.xdg_popup ||
- impl->display_server.zxdg_popup_v6);
+ GdkWaylandPopup *popup;
+
+ if (!GDK_IS_WAYLAND_POPUP (impl))
+ return FALSE;
+
+ popup = GDK_WAYLAND_POPUP (impl);
+
+ return (popup->display_server.xdg_popup ||
+ popup->display_server.zxdg_popup_v6);
}
static void
struct xdg_toplevel *parent_toplevel;
if (impl_parent)
- parent_toplevel = impl_parent->display_server.xdg_toplevel;
+ parent_toplevel = GDK_WAYLAND_TOPLEVEL (impl_parent)->display_server.xdg_toplevel;
else
parent_toplevel = NULL;
- xdg_toplevel_set_parent (impl->display_server.xdg_toplevel,
- parent_toplevel);
+ xdg_toplevel_set_parent (GDK_WAYLAND_TOPLEVEL (impl)->display_server.xdg_toplevel, parent_toplevel);
break;
}
break;
struct zxdg_toplevel_v6 *parent_toplevel;
if (impl_parent)
- parent_toplevel = impl_parent->display_server.zxdg_toplevel_v6;
+ parent_toplevel = GDK_WAYLAND_TOPLEVEL (impl_parent)->display_server.zxdg_toplevel_v6;
else
parent_toplevel = NULL;
- zxdg_toplevel_v6_set_parent (impl->display_server.zxdg_toplevel_v6,
- parent_toplevel);
+ zxdg_toplevel_v6_set_parent (GDK_WAYLAND_TOPLEVEL (impl)->display_server.zxdg_toplevel_v6, parent_toplevel);
break;
}
default:
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_title (impl->display_server.xdg_toplevel, toplevel->title);
+ xdg_toplevel_set_title (toplevel->display_server.xdg_toplevel, toplevel->title);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_title (impl->display_server.zxdg_toplevel_v6, toplevel->title);
+ zxdg_toplevel_v6_set_title (toplevel->display_server.zxdg_toplevel_v6, toplevel->title);
break;
default:
g_assert_not_reached ();
GdkRectangle parent_geometry;
int x, y, width, height;
- if (wayland_surface->display_server.xdg_popup)
+ if (wayland_popup->display_server.xdg_popup)
{
xdg_surface_ack_configure (wayland_surface->display_server.xdg_surface,
wayland_surface->pending.serial);
}
- else if (wayland_surface->display_server.zxdg_popup_v6)
+ else if (wayland_popup->display_server.zxdg_popup_v6)
{
zxdg_surface_v6_ack_configure (wayland_surface->display_server.zxdg_surface_v6,
wayland_surface->pending.serial);
};
static void
-create_xdg_toplevel_resources (GdkSurface *surface)
+create_xdg_toplevel_resources (GdkWaylandToplevel *toplevel)
{
- GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
+ GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (toplevel);
- impl->display_server.xdg_toplevel =
+ toplevel->display_server.xdg_toplevel =
xdg_surface_get_toplevel (impl->display_server.xdg_surface);
- xdg_toplevel_add_listener (impl->display_server.xdg_toplevel,
+ xdg_toplevel_add_listener (toplevel->display_server.xdg_toplevel,
&xdg_toplevel_listener,
- surface);
+ toplevel);
}
static void
};
static void
-create_zxdg_toplevel_v6_resources (GdkSurface *surface)
+create_zxdg_toplevel_v6_resources (GdkWaylandToplevel *toplevel)
{
- GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
+ GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (toplevel);
- impl->display_server.zxdg_toplevel_v6 =
+ toplevel->display_server.zxdg_toplevel_v6 =
zxdg_surface_v6_get_toplevel (impl->display_server.zxdg_surface_v6);
- zxdg_toplevel_v6_add_listener (impl->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_add_listener (toplevel->display_server.zxdg_toplevel_v6,
&zxdg_toplevel_v6_listener,
- surface);
+ toplevel);
}
/**
gdk_wayland_toplevel_set_application_id (GdkToplevel *toplevel,
const char *application_id)
{
+ GdkWaylandToplevel *wayland_toplevel = GDK_WAYLAND_TOPLEVEL (toplevel);
GdkWaylandSurface *impl;
GdkWaylandDisplay *display_wayland;
if (!is_realized_toplevel (impl))
return;
+ wayland_toplevel = GDK_WAYLAND_TOPLEVEL (toplevel);
display_wayland = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (GDK_SURFACE (toplevel)));
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_app_id (impl->display_server.xdg_toplevel,
- application_id);
+ xdg_toplevel_set_app_id (wayland_toplevel->display_server.xdg_toplevel, application_id);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_app_id (impl->display_server.zxdg_toplevel_v6,
- application_id);
+ zxdg_toplevel_v6_set_app_id (wayland_toplevel->display_server.zxdg_toplevel_v6, application_id);
break;
default:
g_assert_not_reached ();
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- create_xdg_toplevel_resources (surface);
+ create_xdg_toplevel_resources (wayland_toplevel);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- create_zxdg_toplevel_v6_resources (surface);
+ create_zxdg_toplevel_v6_resources (wayland_toplevel);
break;
default:
g_assert_not_reached ();
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
if (wayland_toplevel->initial_state.set_flags & GDK_TOPLEVEL_STATE_MAXIMIZED)
- xdg_toplevel_set_maximized (wayland_surface->display_server.xdg_toplevel);
+ xdg_toplevel_set_maximized (wayland_toplevel->display_server.xdg_toplevel);
if (wayland_toplevel->initial_state.set_flags & GDK_TOPLEVEL_STATE_MINIMIZED)
- xdg_toplevel_set_minimized (wayland_surface->display_server.xdg_toplevel);
+ xdg_toplevel_set_minimized (wayland_toplevel->display_server.xdg_toplevel);
if (wayland_toplevel->initial_state.set_flags & GDK_TOPLEVEL_STATE_FULLSCREEN)
- xdg_toplevel_set_fullscreen (wayland_surface->display_server.xdg_toplevel,
+ xdg_toplevel_set_fullscreen (wayland_toplevel->display_server.xdg_toplevel,
wayland_toplevel->initial_fullscreen_output);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
if (wayland_toplevel->initial_state.set_flags & GDK_TOPLEVEL_STATE_MAXIMIZED)
- zxdg_toplevel_v6_set_maximized (wayland_surface->display_server.zxdg_toplevel_v6);
+ zxdg_toplevel_v6_set_maximized (wayland_toplevel->display_server.zxdg_toplevel_v6);
if (wayland_toplevel->initial_state.set_flags & GDK_TOPLEVEL_STATE_MINIMIZED)
- zxdg_toplevel_v6_set_minimized (wayland_surface->display_server.zxdg_toplevel_v6);
+ zxdg_toplevel_v6_set_minimized (wayland_toplevel->display_server.zxdg_toplevel_v6);
if (wayland_toplevel->initial_state.set_flags & GDK_TOPLEVEL_STATE_FULLSCREEN)
- zxdg_toplevel_v6_set_fullscreen (wayland_surface->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_set_fullscreen (wayland_toplevel->display_server.zxdg_toplevel_v6,
wayland_toplevel->initial_fullscreen_output);
break;
default:
switch (display->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- impl->display_server.xdg_popup =
+ wayland_popup->display_server.xdg_popup =
xdg_surface_get_popup (impl->display_server.xdg_surface,
parent_impl->display_server.xdg_surface,
positioner);
- xdg_popup_add_listener (impl->display_server.xdg_popup,
+ xdg_popup_add_listener (wayland_popup->display_server.xdg_popup,
&xdg_popup_listener,
wayland_popup);
xdg_positioner_destroy (positioner);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- impl->display_server.zxdg_popup_v6 =
+ wayland_popup->display_server.zxdg_popup_v6 =
zxdg_surface_v6_get_popup (impl->display_server.zxdg_surface_v6,
parent_impl->display_server.zxdg_surface_v6,
positioner);
- zxdg_popup_v6_add_listener (impl->display_server.zxdg_popup_v6,
+ zxdg_popup_v6_add_listener (wayland_popup->display_server.zxdg_popup_v6,
&zxdg_popup_v6_listener,
wayland_popup);
zxdg_positioner_v6_destroy (positioner);
switch (display->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_popup_grab (impl->display_server.xdg_popup, seat, serial);
+ xdg_popup_grab (wayland_popup->display_server.xdg_popup, seat, serial);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_popup_v6_grab (impl->display_server.zxdg_popup_v6, seat, serial);
+ zxdg_popup_v6_grab (wayland_popup->display_server.zxdg_popup_v6, seat, serial);
break;
default:
g_assert_not_reached ();
impl->display_server.egl_window = NULL;
}
- if (impl->display_server.xdg_toplevel)
+ if (GDK_IS_WAYLAND_TOPLEVEL (surface))
{
- xdg_toplevel_destroy (impl->display_server.xdg_toplevel);
- impl->display_server.xdg_toplevel = NULL;
- }
- else if (impl->display_server.xdg_popup)
+ GdkWaylandToplevel *toplevel = GDK_WAYLAND_TOPLEVEL (surface);
+
+ if (toplevel->display_server.xdg_toplevel)
+ {
+ xdg_toplevel_destroy (toplevel->display_server.xdg_toplevel);
+ toplevel->display_server.xdg_toplevel = NULL;
+ }
+ if (toplevel->display_server.zxdg_toplevel_v6)
+ {
+ zxdg_toplevel_v6_destroy (toplevel->display_server.zxdg_toplevel_v6);
+ toplevel->display_server.zxdg_toplevel_v6 = NULL;
+ }
+ }
+
+ if (GDK_IS_WAYLAND_POPUP (surface))
{
- xdg_popup_destroy (impl->display_server.xdg_popup);
- impl->display_server.xdg_popup = NULL;
- display_wayland->current_popups =
- g_list_remove (display_wayland->current_popups, surface);
- display_wayland->current_grabbing_popups =
- g_list_remove (display_wayland->current_grabbing_popups, surface);
+ GdkWaylandPopup *popup = GDK_WAYLAND_POPUP (surface);
+
+ if (popup->display_server.xdg_popup)
+ {
+ xdg_popup_destroy (popup->display_server.xdg_popup);
+ popup->display_server.xdg_popup = NULL;
+ display_wayland->current_popups =
+ g_list_remove (display_wayland->current_popups, surface);
+ display_wayland->current_grabbing_popups =
+ g_list_remove (display_wayland->current_grabbing_popups, surface);
+ }
+ if (popup->display_server.zxdg_popup_v6)
+ {
+ zxdg_popup_v6_destroy (popup->display_server.zxdg_popup_v6);
+ popup->display_server.zxdg_popup_v6 = NULL;
+ display_wayland->current_popups =
+ g_list_remove (display_wayland->current_popups, surface);
+ display_wayland->current_grabbing_popups =
+ g_list_remove (display_wayland->current_grabbing_popups, surface);
+ }
}
+
if (impl->display_server.xdg_surface)
{
xdg_surface_destroy (impl->display_server.xdg_surface);
else
impl->initial_configure_received = FALSE;
}
-
- if (impl->display_server.zxdg_toplevel_v6)
- {
- zxdg_toplevel_v6_destroy (impl->display_server.zxdg_toplevel_v6);
- impl->display_server.zxdg_toplevel_v6 = NULL;
- }
- else if (impl->display_server.zxdg_popup_v6)
- {
- zxdg_popup_v6_destroy (impl->display_server.zxdg_popup_v6);
- impl->display_server.zxdg_popup_v6 = NULL;
- display_wayland->current_popups =
- g_list_remove (display_wayland->current_popups, surface);
- display_wayland->current_grabbing_popups =
- g_list_remove (display_wayland->current_grabbing_popups, surface);
- }
if (impl->display_server.zxdg_surface_v6)
{
zxdg_surface_v6_destroy (impl->display_server.zxdg_surface_v6);
wayland_popup->unconstrained_width = width;
wayland_popup->unconstrained_height = height;
- if (!wayland_surface->display_server.xdg_popup ||
- xdg_popup_get_version (wayland_surface->display_server.xdg_popup) <
+ if (!wayland_popup->display_server.xdg_popup ||
+ xdg_popup_get_version (wayland_popup->display_server.xdg_popup) <
XDG_POPUP_REPOSITION_SINCE_VERSION)
{
g_warning_once ("Compositor doesn't support moving popups, "
positioner = create_dynamic_positioner (wayland_popup,
width, height, layout,
TRUE);
- xdg_popup_reposition (wayland_surface->display_server.xdg_popup,
+ xdg_popup_reposition (wayland_popup->display_server.xdg_popup,
positioner,
++wayland_popup->reposition_token);
xdg_positioner_destroy (positioner);
reposition_popup (wayland_popup, width, height, layout);
}
- while (wayland_surface->display_server.xdg_popup && !is_relayout_finished (surface))
+ while (wayland_popup->display_server.xdg_popup && !is_relayout_finished (surface))
wl_display_dispatch_queue (display_wayland->wl_display, wayland_surface->event_queue);
- if (wayland_surface->display_server.xdg_popup)
+ if (wayland_popup->display_server.xdg_popup)
{
gdk_surface_invalidate_rect (surface, NULL);
return TRUE;
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_min_size (impl->display_server.xdg_toplevel,
+ xdg_toplevel_set_min_size (toplevel->display_server.xdg_toplevel,
min_width, min_height);
- xdg_toplevel_set_max_size (impl->display_server.xdg_toplevel,
+ xdg_toplevel_set_max_size (toplevel->display_server.xdg_toplevel,
max_width, max_height);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_min_size (impl->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_set_min_size (toplevel->display_server.zxdg_toplevel_v6,
min_width, min_height);
- zxdg_toplevel_v6_set_max_size (impl->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_set_max_size (toplevel->display_server.zxdg_toplevel_v6,
max_width, max_height);
break;
default:
{
GdkSurface *surface = GDK_SURFACE (toplevel);
GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
+ GdkWaylandToplevel *wayland_toplevel = GDK_WAYLAND_TOPLEVEL (surface);
GdkWaylandDisplay *display_wayland;
if (GDK_SURFACE_DESTROYED (surface))
return TRUE;
- if (!is_realized_toplevel (GDK_WAYLAND_SURFACE (surface)))
+ if (!is_realized_toplevel (impl))
return TRUE;
/* FIXME: xdg_toplevel does not come with a minimized state that we can
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_minimized (impl->display_server.xdg_toplevel);
+ xdg_toplevel_set_minimized (wayland_toplevel->display_server.xdg_toplevel);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_minimized (impl->display_server.zxdg_toplevel_v6);
+ zxdg_toplevel_v6_set_minimized (wayland_toplevel->display_server.zxdg_toplevel_v6);
break;
default:
g_assert_not_reached ();
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_maximized (wayland_surface->display_server.xdg_toplevel);
+ xdg_toplevel_set_maximized (wayland_toplevel->display_server.xdg_toplevel);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_maximized (wayland_surface->display_server.zxdg_toplevel_v6);
+ zxdg_toplevel_v6_set_maximized (wayland_toplevel->display_server.zxdg_toplevel_v6);
break;
default:
g_assert_not_reached ();
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_unset_maximized (wayland_surface->display_server.xdg_toplevel);
+ xdg_toplevel_unset_maximized (wayland_toplevel->display_server.xdg_toplevel);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_unset_maximized (wayland_surface->display_server.zxdg_toplevel_v6);
+ zxdg_toplevel_v6_unset_maximized (wayland_toplevel->display_server.zxdg_toplevel_v6);
break;
default:
g_assert_not_reached ();
static void
gdk_wayland_toplevel_fullscreen_on_monitor (GdkWaylandToplevel *wayland_toplevel,
- GdkMonitor *monitor)
+ GdkMonitor *monitor)
{
GdkSurface *surface = GDK_SURFACE (wayland_toplevel);
GdkWaylandSurface *wayland_surface = GDK_WAYLAND_SURFACE (surface);
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_fullscreen (wayland_surface->display_server.xdg_toplevel,
- output);
+ xdg_toplevel_set_fullscreen (wayland_toplevel->display_server.xdg_toplevel, output);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_fullscreen (wayland_surface->display_server.zxdg_toplevel_v6,
- output);
+ zxdg_toplevel_v6_set_fullscreen (wayland_toplevel->display_server.zxdg_toplevel_v6, output);
break;
default:
g_assert_not_reached ();
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_set_fullscreen (wayland_surface->display_server.xdg_toplevel,
- NULL);
+ xdg_toplevel_set_fullscreen (wayland_toplevel->display_server.xdg_toplevel, NULL);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_set_fullscreen (wayland_surface->display_server.zxdg_toplevel_v6,
- NULL);
+ zxdg_toplevel_v6_set_fullscreen (wayland_toplevel->display_server.zxdg_toplevel_v6, NULL);
break;
default:
g_assert_not_reached ();
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_unset_fullscreen (wayland_surface->display_server.xdg_toplevel);
+ xdg_toplevel_unset_fullscreen (wayland_toplevel->display_server.xdg_toplevel);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_unset_fullscreen (wayland_surface->display_server.zxdg_toplevel_v6);
+ zxdg_toplevel_v6_unset_fullscreen (wayland_toplevel->display_server.zxdg_toplevel_v6);
break;
default:
g_assert_not_reached ();
{
GdkSurface *surface = GDK_SURFACE (toplevel);
GdkWaylandSurface *impl;
+ GdkWaylandToplevel *wayland_toplevel;
GdkWaylandDisplay *display_wayland;
GdkEventSequence *sequence;
uint32_t resize_edges, serial;
}
impl = GDK_WAYLAND_SURFACE (surface);
+ wayland_toplevel = GDK_WAYLAND_TOPLEVEL (surface);
display_wayland = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (surface));
if (!is_realized_toplevel (impl))
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_resize (impl->display_server.xdg_toplevel,
+ xdg_toplevel_resize (wayland_toplevel->display_server.xdg_toplevel,
gdk_wayland_device_get_wl_seat (device),
serial, resize_edges);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_resize (impl->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_resize (wayland_toplevel->display_server.zxdg_toplevel_v6,
gdk_wayland_device_get_wl_seat (device),
serial, resize_edges);
break;
{
GdkSurface *surface = GDK_SURFACE (toplevel);
GdkWaylandSurface *impl;
+ GdkWaylandToplevel *wayland_toplevel;
GdkWaylandDisplay *display_wayland;
GdkEventSequence *sequence;
uint32_t serial;
return;
impl = GDK_WAYLAND_SURFACE (surface);
+ wayland_toplevel = GDK_WAYLAND_TOPLEVEL (surface);
display_wayland = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (surface));
if (!is_realized_toplevel (impl))
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_move (impl->display_server.xdg_toplevel,
+ xdg_toplevel_move (wayland_toplevel->display_server.xdg_toplevel,
gdk_wayland_device_get_wl_seat (device),
serial);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_move (impl->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_move (wayland_toplevel->display_server.zxdg_toplevel_v6,
gdk_wayland_device_get_wl_seat (device),
serial);
break;
{
GdkSurface *surface = GDK_SURFACE (toplevel);
GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
+ GdkWaylandToplevel *wayland_toplevel = GDK_WAYLAND_TOPLEVEL (surface);
GdkWaylandDisplay *display_wayland =
GDK_WAYLAND_DISPLAY (gdk_surface_get_display (surface));
GdkSeat *seat;
switch (display_wayland->shell_variant)
{
case GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL:
- xdg_toplevel_show_window_menu (impl->display_server.xdg_toplevel,
+ xdg_toplevel_show_window_menu (wayland_toplevel->display_server.xdg_toplevel,
wl_seat, serial, x, y);
break;
case GDK_WAYLAND_SHELL_VARIANT_ZXDG_SHELL_V6:
- zxdg_toplevel_v6_show_window_menu (impl->display_server.zxdg_toplevel_v6,
+ zxdg_toplevel_v6_show_window_menu (wayland_toplevel->display_server.zxdg_toplevel_v6,
wl_seat, serial, x, y);
break;
default:
iface->unexport_handle = gdk_wayland_toplevel_real_unexport_handle;
}
-/* vim:set foldmethod=marker expandtab: */
+