[GTK4] Detect mouse enter/leave

I have a problem to get mouse enter/leave event if we use x11 backend on wayland. We get only once an “enter” event at start up even if the mouse is totally out of the window but never “leave” event. The “enter/leave” event detection work correctly if we disable x11 backend. But in my application, I need “x11” backend to be able to move the window.
I use Ubuntu 22.04 Gnome 42.9 (wayland).
Thank you in advance for your help.

#include <gtk/gtk.h>

static void enter_cb (
  GtkEventControllerMotion* self,
  gdouble x,
  gdouble y,
  gpointer user_data
	printf("---> Enter\n");

static void leave_cb (
  GtkEventControllerMotion* self,
  gpointer user_data
	printf("  <--- Leave\n");

static void
activate (GtkApplication *app,
          gpointer        user_data)
	GtkWidget *window;
	window = gtk_window_new ();

	GtkEventController * motion = gtk_event_controller_motion_new();
	g_signal_connect( motion, "enter", G_CALLBACK (enter_cb), NULL);
	g_signal_connect( motion, "leave", G_CALLBACK (leave_cb), NULL);
	gtk_widget_add_controller(GTK_WIDGET(window), GTK_EVENT_CONTROLLER (motion ));

	gtk_window_set_decorated(GTK_WINDOW(window), FALSE);

	gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (app));
	gtk_window_present (GTK_WINDOW (window));

main (int    argc,
      char **argv)
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;

The mouse enter/leave detection works correctly if we reactivate the window decoration
gtk_window_set_decorated(GTK_WINDOW(window), TRUE)

I wonder why GtkEventController depends on window decoration?