build: Allow building xwayland without x11
Co-authored-by: Jonas Ådahl <jadahl@gmail.com> Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/3553 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3853>
This commit is contained in:
parent
4134d12789
commit
820a7ad813
15 changed files with 84 additions and 50 deletions
|
@ -34,7 +34,7 @@ if have_egl
|
|||
]
|
||||
endif
|
||||
|
||||
if have_x11_client
|
||||
if have_x11
|
||||
cogl_pkg_deps += [
|
||||
x11_dep,
|
||||
]
|
||||
|
|
|
@ -192,14 +192,14 @@ if have_egl
|
|||
egl_dep = dependency('egl')
|
||||
endif
|
||||
|
||||
have_glx = get_option('glx') and have_x11_client
|
||||
have_glx = get_option('glx') and have_x11
|
||||
if have_glx
|
||||
if not have_gl
|
||||
error('GLX support requires OpenGL to be enabled')
|
||||
endif
|
||||
endif
|
||||
|
||||
have_egl_xlib = have_egl and have_x11_client
|
||||
have_egl_xlib = have_egl and have_x11
|
||||
|
||||
have_gles2 = get_option('gles2')
|
||||
if have_gles2
|
||||
|
|
|
@ -33,7 +33,7 @@ mtk_pkg_deps = [
|
|||
pixman_dep,
|
||||
]
|
||||
|
||||
if have_x11
|
||||
if have_x11_client
|
||||
mtk_pkg_deps += x11_dep
|
||||
endif
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ mtk_sources = [
|
|||
'mtk-region.c',
|
||||
]
|
||||
|
||||
if have_x11
|
||||
if have_x11_client
|
||||
mtk_sources += 'mtk-x11-errors.c'
|
||||
mtk_headers += [
|
||||
'mtk-x11-errors.h',
|
||||
|
|
|
@ -437,6 +437,7 @@ has_shadow (MetaWindowActorX11 *actor_x11)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_X11
|
||||
gboolean
|
||||
meta_window_actor_x11_should_unredirect (MetaWindowActorX11 *actor_x11)
|
||||
{
|
||||
|
@ -478,6 +479,7 @@ meta_window_actor_x11_set_unredirected (MetaWindowActorX11 *actor_x11,
|
|||
surface_x11 = META_SURFACE_ACTOR_X11 (surface);
|
||||
meta_surface_actor_x11_set_unredirected (surface_x11, unredirected);
|
||||
}
|
||||
#endif /* HAVE_X11 */
|
||||
|
||||
static const char *
|
||||
get_shadow_class (MetaWindowActorX11 *actor_x11)
|
||||
|
@ -1013,9 +1015,11 @@ is_actor_maybe_transparent (MetaWindowActorX11 *actor_x11)
|
|||
if (!surface)
|
||||
return TRUE;
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (META_IS_SURFACE_ACTOR_X11 (surface) &&
|
||||
meta_surface_actor_x11_is_unredirected (META_SURFACE_ACTOR_X11 (surface)))
|
||||
return FALSE;
|
||||
#endif
|
||||
|
||||
stex = meta_surface_actor_get_texture (surface);
|
||||
if (!meta_shaped_texture_has_alpha (stex))
|
||||
|
@ -1148,9 +1152,11 @@ handle_updates (MetaWindowActorX11 *actor_x11)
|
|||
meta_window_actor_get_surface (META_WINDOW_ACTOR (actor_x11));
|
||||
MetaWindow *window;
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (META_IS_SURFACE_ACTOR_X11 (surface) &&
|
||||
meta_surface_actor_x11_is_unredirected (META_SURFACE_ACTOR_X11 (surface)))
|
||||
return;
|
||||
#endif
|
||||
|
||||
window = meta_window_actor_get_meta_window (META_WINDOW_ACTOR (actor_x11));
|
||||
if (meta_window_actor_is_frozen (META_WINDOW_ACTOR (actor_x11)))
|
||||
|
@ -1168,6 +1174,7 @@ handle_updates (MetaWindowActorX11 *actor_x11)
|
|||
return;
|
||||
}
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (META_IS_SURFACE_ACTOR_X11 (surface))
|
||||
{
|
||||
MetaSurfaceActorX11 *surface_x11 = META_SURFACE_ACTOR_X11 (surface);
|
||||
|
@ -1178,6 +1185,7 @@ handle_updates (MetaWindowActorX11 *actor_x11)
|
|||
if (META_IS_SURFACE_ACTOR_X11 (surface) &&
|
||||
!meta_surface_actor_x11_is_visible (META_SURFACE_ACTOR_X11 (surface)))
|
||||
return;
|
||||
#endif /* HAVE_X11 */
|
||||
|
||||
update_frame_bounds (actor_x11);
|
||||
check_needs_reshape (actor_x11);
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <X11/extensions/Xdamage.h>
|
||||
|
||||
#include "compositor/meta-window-actor-private.h"
|
||||
|
||||
#define META_TYPE_WINDOW_ACTOR_X11 (meta_window_actor_x11_get_type())
|
||||
|
@ -31,10 +33,12 @@ G_DECLARE_FINAL_TYPE (MetaWindowActorX11,
|
|||
void meta_window_actor_x11_process_x11_damage (MetaWindowActorX11 *actor_x11,
|
||||
XDamageNotifyEvent *event);
|
||||
|
||||
#ifdef HAVE_X11
|
||||
gboolean meta_window_actor_x11_should_unredirect (MetaWindowActorX11 *actor_x11);
|
||||
|
||||
void meta_window_actor_x11_set_unredirected (MetaWindowActorX11 *actor_x11,
|
||||
gboolean unredirected);
|
||||
#endif
|
||||
|
||||
void meta_window_actor_x11_update_shape (MetaWindowActorX11 *actor_x11);
|
||||
|
||||
|
|
|
@ -495,7 +495,7 @@ init_surface_actor (MetaWindowActor *self)
|
|||
MetaWindow *window = priv->window;
|
||||
MetaSurfaceActor *surface_actor = NULL;
|
||||
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#ifdef HAVE_X11
|
||||
if (!meta_is_wayland_compositor ())
|
||||
{
|
||||
surface_actor = meta_surface_actor_x11_new (window);
|
||||
|
@ -953,7 +953,7 @@ meta_window_actor_sync_actor_geometry (MetaWindowActor *self,
|
|||
|
||||
/* When running as a Wayland compositor we catch size changes when new
|
||||
* buffers are attached */
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#ifdef HAVE_X11
|
||||
if (META_IS_SURFACE_ACTOR_X11 (priv->surface))
|
||||
meta_surface_actor_x11_set_size (META_SURFACE_ACTOR_X11 (priv->surface),
|
||||
actor_rect.width, actor_rect.height);
|
||||
|
|
|
@ -664,7 +664,7 @@ create_compositor (MetaDisplay *display)
|
|||
if (META_IS_BACKEND_NATIVE (backend))
|
||||
return META_COMPOSITOR (meta_compositor_native_new (display, backend));
|
||||
#endif
|
||||
#ifdef HAVE_XWAYLAND
|
||||
#if defined(HAVE_XWAYLAND) && defined(HAVE_X11)
|
||||
if (META_IS_BACKEND_X11_NESTED (backend))
|
||||
return META_COMPOSITOR (meta_compositor_server_new (display, backend));
|
||||
#endif
|
||||
|
@ -801,7 +801,7 @@ disable_input_capture (MetaInputCapture *input_capture,
|
|||
priv->enable_input_capture = FALSE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#ifdef HAVE_X11
|
||||
static gboolean
|
||||
meta_display_init_x11_display (MetaDisplay *display,
|
||||
GError **error)
|
||||
|
@ -860,7 +860,6 @@ meta_display_init_x11_finish (MetaDisplay *display,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
static void
|
||||
on_xserver_started (MetaXWaylandManager *manager,
|
||||
GAsyncResult *result,
|
||||
|
@ -889,7 +888,6 @@ on_xserver_started (MetaXWaylandManager *manager,
|
|||
g_task_return_boolean (task, TRUE);
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_XWAYLAND */
|
||||
|
||||
void
|
||||
meta_display_init_x11 (MetaDisplay *display,
|
||||
|
@ -898,21 +896,17 @@ meta_display_init_x11 (MetaDisplay *display,
|
|||
gpointer user_data)
|
||||
{
|
||||
g_autoptr (GTask) task = NULL;
|
||||
#ifdef HAVE_XWAYLAND
|
||||
MetaWaylandCompositor *compositor;
|
||||
#endif
|
||||
|
||||
task = g_task_new (display, cancellable, callback, user_data);
|
||||
g_task_set_source_tag (task, meta_display_init_x11);
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
compositor = wayland_compositor_from_display (display);
|
||||
|
||||
meta_xwayland_start_xserver (&compositor->xwayland_manager,
|
||||
cancellable,
|
||||
(GAsyncReadyCallback) on_xserver_started,
|
||||
g_steal_pointer (&task));
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -178,7 +178,7 @@ sequence_is_pointer_emulated (MetaDisplay *display,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#ifdef HAVE_X11
|
||||
static void
|
||||
maybe_unfreeze_pointer_events (MetaBackend *backend,
|
||||
const ClutterEvent *event,
|
||||
|
@ -424,7 +424,7 @@ meta_display_handle_event (MetaDisplay *display,
|
|||
if (meta_window_handle_ungrabbed_event (window, event))
|
||||
return CLUTTER_EVENT_STOP;
|
||||
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#ifdef HAVE_X11
|
||||
/* Now replay the button press event to release our own sync grab. */
|
||||
maybe_unfreeze_pointer_events (backend, event, EVENTS_UNFREEZE_REPLAY);
|
||||
#endif
|
||||
|
@ -441,7 +441,7 @@ meta_display_handle_event (MetaDisplay *display,
|
|||
/* We could not match the event with a window, make sure we sync
|
||||
* the pointer to discard the sequence and don't keep events frozen.
|
||||
*/
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#ifdef HAVE_X11
|
||||
maybe_unfreeze_pointer_events (backend, event, EVENTS_UNFREEZE_SYNC);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -33,6 +33,10 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#ifdef HAVE_X11_CLIENT
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
|
||||
#include "core/util-private.h"
|
||||
#include "meta/display.h"
|
||||
#include "meta/window.h"
|
||||
|
|
|
@ -97,7 +97,7 @@ if have_introspection
|
|||
]
|
||||
endif
|
||||
|
||||
if have_x11
|
||||
if have_x11_client
|
||||
mutter_pkg_deps += [
|
||||
xfixes_dep,
|
||||
xi_dep,
|
||||
|
@ -451,17 +451,17 @@ if have_x11
|
|||
'backends/x11/nested/meta-stage-x11-nested.h',
|
||||
'backends/x11/nested/meta-renderer-x11-nested.c',
|
||||
'backends/x11/nested/meta-renderer-x11-nested.h',
|
||||
]
|
||||
endif
|
||||
|
||||
if have_x11_client
|
||||
mutter_sources += [
|
||||
'compositor/meta-compositor-x11.c',
|
||||
'compositor/meta-compositor-x11.h',
|
||||
'compositor/meta-surface-actor-x11.c',
|
||||
'compositor/meta-surface-actor-x11.h',
|
||||
'compositor/meta-sync-ring.c',
|
||||
'compositor/meta-sync-ring.h',
|
||||
]
|
||||
endif
|
||||
|
||||
if have_x11_client
|
||||
mutter_sources += [
|
||||
'compositor/meta-window-actor-x11.c',
|
||||
'compositor/meta-window-actor-x11.h',
|
||||
'x11/atomnames.h',
|
||||
|
|
|
@ -1850,11 +1850,12 @@ meta_x11_display_handle_xevent (MetaX11Display *x11_display,
|
|||
{
|
||||
MetaDisplay *display = x11_display->display;
|
||||
MetaContext *context = meta_display_get_context (display);
|
||||
MetaBackend *backend = meta_context_get_backend (context);
|
||||
Window modified;
|
||||
gboolean bypass_compositor = FALSE;
|
||||
XIEvent *input_event;
|
||||
#ifdef HAVE_X11
|
||||
MetaCursorTracker *cursor_tracker;
|
||||
MetaBackend *backend = meta_context_get_backend (context);
|
||||
#endif
|
||||
gboolean bypass_compositor G_GNUC_UNUSED = FALSE;
|
||||
XIEvent *input_event;
|
||||
#ifdef HAVE_XWAYLAND
|
||||
MetaWaylandCompositor *wayland_compositor;
|
||||
#endif
|
||||
|
@ -1897,8 +1898,10 @@ meta_x11_display_handle_xevent (MetaX11Display *x11_display,
|
|||
|
||||
display->current_time = event_get_time (x11_display, event);
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (META_IS_BACKEND_X11 (backend))
|
||||
meta_backend_x11_reset_cached_logical_monitor (META_BACKEND_X11 (backend));
|
||||
#endif
|
||||
|
||||
if (x11_display->focused_by_us &&
|
||||
event->xany.serial > x11_display->focus_serial &&
|
||||
|
@ -1915,6 +1918,7 @@ meta_x11_display_handle_xevent (MetaX11Display *x11_display,
|
|||
x11_display->is_server_focus = FALSE;
|
||||
}
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (event->xany.window == x11_display->xroot)
|
||||
{
|
||||
cursor_tracker = meta_backend_get_cursor_tracker (backend);
|
||||
|
@ -1930,8 +1934,7 @@ meta_x11_display_handle_xevent (MetaX11Display *x11_display,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
modified = event_get_modified_window (x11_display, event);
|
||||
#endif
|
||||
|
||||
input_event = get_input_event (x11_display, event);
|
||||
|
||||
|
@ -1950,11 +1953,15 @@ meta_x11_display_handle_xevent (MetaX11Display *x11_display,
|
|||
}
|
||||
|
||||
out:
|
||||
#ifdef HAVE_X11
|
||||
if (!bypass_compositor && META_IS_COMPOSITOR_X11 (display->compositor))
|
||||
{
|
||||
MetaCompositorX11 *compositor_x11 =
|
||||
META_COMPOSITOR_X11 (display->compositor);
|
||||
MetaWindow *window;
|
||||
Window modified;
|
||||
|
||||
modified = event_get_modified_window (x11_display, event);
|
||||
|
||||
if (modified != None)
|
||||
window = meta_x11_display_lookup_x_window (x11_display, modified);
|
||||
|
@ -1963,6 +1970,7 @@ meta_x11_display_handle_xevent (MetaX11Display *x11_display,
|
|||
|
||||
meta_compositor_x11_process_xevent (compositor_x11, event, window);
|
||||
}
|
||||
#endif /* HAVE_X11 */
|
||||
|
||||
display->current_time = META_CURRENT_TIME;
|
||||
|
||||
|
|
|
@ -1242,7 +1242,9 @@ meta_x11_display_new (MetaDisplay *display,
|
|||
if (!xdisplay)
|
||||
return NULL;
|
||||
|
||||
#ifdef HAVE_X11
|
||||
XSynchronize (xdisplay, meta_context_is_x11_sync (context));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
if (meta_is_wayland_compositor ())
|
||||
|
@ -1340,9 +1342,8 @@ meta_x11_display_new (MetaDisplay *display,
|
|||
x11_display,
|
||||
G_CONNECT_SWAPPED);
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
#ifdef HAVE_X11
|
||||
if (!meta_is_wayland_compositor ())
|
||||
#endif
|
||||
{
|
||||
ClutterStage *stage =
|
||||
CLUTTER_STAGE (meta_get_stage_for_display (display));
|
||||
|
@ -1353,6 +1354,7 @@ meta_x11_display_new (MetaDisplay *display,
|
|||
x11_display,
|
||||
G_CONNECT_SWAPPED);
|
||||
}
|
||||
#endif
|
||||
|
||||
x11_display->xids = g_hash_table_new (meta_unsigned_long_hash,
|
||||
meta_unsigned_long_equal);
|
||||
|
@ -1754,6 +1756,7 @@ update_cursor_theme (MetaX11Display *x11_display)
|
|||
set_cursor_theme (x11_display->xdisplay, backend);
|
||||
schedule_reload_x11_cursor (x11_display);
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (META_IS_BACKEND_X11 (backend))
|
||||
{
|
||||
MetaBackendX11 *backend_x11 = META_BACKEND_X11 (backend);
|
||||
|
@ -1762,6 +1765,7 @@ update_cursor_theme (MetaX11Display *x11_display)
|
|||
set_cursor_theme (xdisplay, backend);
|
||||
meta_backend_x11_reload_cursor (backend_x11);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
MetaWindow *
|
||||
|
@ -1883,27 +1887,27 @@ create_guard_window (MetaX11Display *x11_display)
|
|||
/* https://bugzilla.gnome.org/show_bug.cgi?id=710346 */
|
||||
XStoreName (x11_display->xdisplay, guard_window, "mutter guard window");
|
||||
|
||||
{
|
||||
if (!meta_is_wayland_compositor ())
|
||||
{
|
||||
MetaBackendX11 *backend =
|
||||
META_BACKEND_X11 (backend_from_x11_display (x11_display));
|
||||
Display *backend_xdisplay = meta_backend_x11_get_xdisplay (backend);
|
||||
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
|
||||
XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
|
||||
#ifdef HAVE_X11
|
||||
if (!meta_is_wayland_compositor ())
|
||||
{
|
||||
MetaBackendX11 *backend =
|
||||
META_BACKEND_X11 (backend_from_x11_display (x11_display));
|
||||
Display *backend_xdisplay = meta_backend_x11_get_xdisplay (backend);
|
||||
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
|
||||
XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
|
||||
|
||||
XISetMask (mask.mask, XI_ButtonPress);
|
||||
XISetMask (mask.mask, XI_ButtonRelease);
|
||||
XISetMask (mask.mask, XI_Motion);
|
||||
XISetMask (mask.mask, XI_ButtonPress);
|
||||
XISetMask (mask.mask, XI_ButtonRelease);
|
||||
XISetMask (mask.mask, XI_Motion);
|
||||
|
||||
/* Sync on the connection we created the window on to
|
||||
* make sure it's created before we select on it on the
|
||||
* backend connection. */
|
||||
XSync (x11_display->xdisplay, False);
|
||||
/* Sync on the connection we created the window on to
|
||||
* make sure it's created before we select on it on the
|
||||
* backend connection. */
|
||||
XSync (x11_display->xdisplay, False);
|
||||
|
||||
XISelectEvents (backend_xdisplay, guard_window, &mask, 1);
|
||||
}
|
||||
}
|
||||
XISelectEvents (backend_xdisplay, guard_window, &mask, 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
meta_stack_tracker_record_add (x11_display->display->stack_tracker,
|
||||
guard_window,
|
||||
|
@ -2429,6 +2433,7 @@ meta_x11_display_set_stage_input_region (MetaX11Display *x11_display,
|
|||
XRectangle *rects,
|
||||
int n_rects)
|
||||
{
|
||||
#ifdef HAVE_X11
|
||||
Display *xdisplay = x11_display->xdisplay;
|
||||
MetaBackend *backend = backend_from_x11_display (x11_display);
|
||||
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
|
||||
|
@ -2447,6 +2452,7 @@ meta_x11_display_set_stage_input_region (MetaX11Display *x11_display,
|
|||
XFixesSetWindowShapeRegion (xdisplay,
|
||||
x11_display->composite_overlay_window,
|
||||
ShapeInput, 0, 0, x11_display->stage_input_region);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
#include "meta-x11-keybindings-private.h"
|
||||
|
||||
#ifdef HAVE_X11
|
||||
static GArray *
|
||||
calc_grab_modifiers (MetaKeyBindingManager *keys,
|
||||
unsigned int modmask)
|
||||
|
@ -55,6 +56,7 @@ calc_grab_modifiers (MetaKeyBindingManager *keys,
|
|||
|
||||
return mods_array;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
meta_change_button_grab (MetaKeyBindingManager *keys,
|
||||
|
@ -64,6 +66,7 @@ meta_change_button_grab (MetaKeyBindingManager *keys,
|
|||
int button,
|
||||
int modmask)
|
||||
{
|
||||
#ifdef HAVE_X11
|
||||
MetaBackendX11 *backend;
|
||||
Display *xdisplay;
|
||||
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
|
||||
|
@ -111,6 +114,7 @@ meta_change_button_grab (MetaKeyBindingManager *keys,
|
|||
mtk_x11_error_trap_pop (xdisplay);
|
||||
|
||||
g_array_free (mods, TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -133,6 +137,7 @@ meta_x11_keybindings_change_keygrab (MetaKeyBindingManager *keys,
|
|||
gboolean grab,
|
||||
MetaResolvedKeyCombo *resolved_combo)
|
||||
{
|
||||
#ifdef HAVE_X11
|
||||
MetaBackendX11 *backend_x11;
|
||||
Display *xdisplay;
|
||||
GArray *mods;
|
||||
|
@ -185,6 +190,7 @@ meta_x11_keybindings_change_keygrab (MetaKeyBindingManager *keys,
|
|||
mtk_x11_error_trap_pop (xdisplay);
|
||||
|
||||
g_array_free (mods, TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
typedef struct
|
||||
|
|
|
@ -3840,9 +3840,11 @@ is_our_xwindow (MetaX11Display *x11_display,
|
|||
Window xwindow,
|
||||
XWindowAttributes *attrs)
|
||||
{
|
||||
#ifdef HAVE_X11
|
||||
MetaDisplay *display;
|
||||
MetaContext *context;
|
||||
MetaBackend *backend;
|
||||
#endif
|
||||
|
||||
if (xwindow == x11_display->no_focus_window)
|
||||
return TRUE;
|
||||
|
@ -3859,6 +3861,7 @@ is_our_xwindow (MetaX11Display *x11_display,
|
|||
if (xwindow == x11_display->composite_overlay_window)
|
||||
return TRUE;
|
||||
|
||||
#ifdef HAVE_X11
|
||||
display = meta_x11_display_get_display (x11_display);
|
||||
context = meta_display_get_context (display);
|
||||
backend = meta_context_get_backend (context);
|
||||
|
@ -3866,6 +3869,7 @@ is_our_xwindow (MetaX11Display *x11_display,
|
|||
if (META_IS_BACKEND_X11 (backend) &&
|
||||
xwindow == meta_backend_x11_get_xwindow (META_BACKEND_X11 (backend)))
|
||||
return TRUE;
|
||||
#endif
|
||||
|
||||
/* Any windows created via meta_create_offscreen_window */
|
||||
if (attrs->override_redirect &&
|
||||
|
|
Loading…
Reference in a new issue