From bdf879427cdf83e55c0645bb480fa342b0b2603f Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 23 Nov 2021 16:19:34 +0800 Subject: [PATCH] gdksurface-win32.c: Call gdk_surface_set_egl_native_window() .. when creating the surface (with the HWND associated with the newly-created surface) as well as destroying the surface (with NULL, since the HWND is going to be destroyed), so that we can tie the EGL calls to the HWND that we want to do the EGL stuff. --- gdk/win32/gdksurface-win32.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c index 6cfe38f679..1b4effa80f 100644 --- a/gdk/win32/gdksurface-win32.c +++ b/gdk/win32/gdksurface-win32.c @@ -638,6 +638,7 @@ _gdk_win32_display_create_surface (GdkDisplay *display, return NULL; } + gdk_surface_set_egl_native_window (surface, (void *) impl->handle); if (display_win32->tablet_input_api == GDK_WIN32_TABLET_INPUT_API_WINPOINTER) gdk_winpointer_initialize_surface (surface); @@ -693,6 +694,7 @@ gdk_win32_surface_destroy (GdkSurface *window, if (!foreign_destroy) { + gdk_surface_set_egl_native_window (window, NULL); window->destroyed = TRUE; DestroyWindow (GDK_SURFACE_HWND (window)); }