1diff -ur a/gdk.typemap b/gdk.typemap
2--- a/gdk.typemap 2017-05-21 15:02:54.000000000 -0400
3+++ b/gdk.typemap 2023-11-03 13:17:43.717890172 -0400
4@@ -23,6 +23,7 @@
5 TYPEMAP
6
7 # can be either a pointer or an integer, this handles both cases
8+uintptr_t T_UV
9 GdkNativeWindow T_UV
10
11 # GdkBitmap doesn't get its own type id, but needs to be treated separately.
12diff -ur a/xs/GdkDnd.xs b/xs/GdkDnd.xs
13--- a/xs/GdkDnd.xs 2017-05-21 15:02:54.000000000 -0400
14+++ b/xs/GdkDnd.xs 2023-11-03 13:23:22.478329089 -0400
15@@ -142,12 +142,12 @@
16 void
17 gdk_drag_get_protocol_for_display (class, display, xid)
18 GdkDisplay *display
19- guint32 xid
20+ uintptr_t xid
21 PREINIT:
22 GdkDragProtocol protocol;
23- guint32 ret;
24+ uintptr_t ret;
25 PPCODE:
26- ret = gdk_drag_get_protocol_for_display (display, xid, &protocol);
27+ ret = (uintptr_t)gdk_drag_get_protocol_for_display (display, INT2PTR(GdkNativeWindow, xid), &protocol);
28 XPUSHs (sv_2mortal (newSVuv (ret)));
29 XPUSHs (sv_2mortal (ret
30 ? newSVGdkDragProtocol (protocol)
31@@ -184,12 +184,12 @@
32 =cut
33 void
34 gdk_drag_get_protocol (class, xid)
35- guint32 xid
36+ uintptr_t xid
37 PREINIT:
38 GdkDragProtocol protocol;
39- guint32 ret;
40+ uintptr_t ret;
41 PPCODE:
42- ret = gdk_drag_get_protocol (xid, &protocol);
43+ ret = (uintptr_t)gdk_drag_get_protocol (INT2PTR(GdkNativeWindow, xid), &protocol);
44 XPUSHs (sv_2mortal (newSVuv (ret)));
45 XPUSHs (sv_2mortal (newSVGdkDragProtocol (protocol)));
46
47diff -ur a/xs/GdkSelection.xs b/xs/GdkSelection.xs
48--- a/xs/GdkSelection.xs 2017-05-21 15:02:54.000000000 -0400
49+++ b/xs/GdkSelection.xs 2023-11-03 13:26:58.976888906 -0400
50@@ -147,7 +147,7 @@
51 ## void gdk_selection_send_notify (guint32 requestor, GdkAtom selection, GdkAtom target, GdkAtom property, guint32 time_)
52 void
53 gdk_selection_send_notify (class, requestor, selection, target, property, time_)
54- guint32 requestor
55+ GdkNativeWindow requestor
56 GdkAtom selection
57 GdkAtom target
58 GdkAtom property
59@@ -161,7 +161,7 @@
60 void
61 gdk_selection_send_notify_for_display (class, display, requestor, selection, target, property, time_)
62 GdkDisplay *display
63- guint32 requestor
64+ GdkNativeWindow requestor
65 GdkAtom selection
66 GdkAtom target
67 GdkAtom property
68diff -ur a/xs/GtkWindow.xs b/xs/GtkWindow.xs
69--- a/xs/GtkWindow.xs 2017-05-21 15:02:54.000000000 -0400
70+++ b/xs/GtkWindow.xs 2023-11-03 13:32:53.673168678 -0400
71@@ -581,13 +581,13 @@
72 void
73 gtk_window_remove_embedded_xid (window, xid)
74 GtkWindow * window
75- guint xid
76+ GdkNativeWindow xid
77
78 ## void gtk_window_add_embedded_xid (GtkWindow *window, guint xid)
79 void
80 gtk_window_add_embedded_xid (window, xid)
81 GtkWindow * window
82- guint xid
83+ GdkNativeWindow xid
84
85 ##void gtk_window_reshow_with_initial_size (GtkWindow *window)
86 void