summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2021-11-23 16:19:34 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2021-12-03 10:39:59 +0800
commitbdf879427cdf83e55c0645bb480fa342b0b2603f (patch)
tree65e61bfb8864ca56e779273bdf2c965fb1ef31ab
parentbe949496acb9941974ba823e945a2fe299383816 (diff)
downloadgtk+-bdf879427cdf83e55c0645bb480fa342b0b2603f.tar.gz
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.
-rw-r--r--gdk/win32/gdksurface-win32.c2
1 files changed, 2 insertions, 0 deletions
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));
}