diff --git a/include/wx/gtk/private/mediactrl.h b/include/wx/gtk/private/mediactrl.h index b650dd06a2..0847bc5f72 100644 --- a/include/wx/gtk/private/mediactrl.h +++ b/include/wx/gtk/private/mediactrl.h @@ -32,16 +32,19 @@ inline gpointer wxGtkGetIdFromWidget(GtkWidget* widget) GdkWindow* window = gtk_widget_get_window(widget); wxASSERT(window); +#ifdef __WXGTK3__ + const char* name = g_type_name(G_TYPE_FROM_INSTANCE(window)); +#endif #ifdef GDK_WINDOWING_X11 #ifdef __WXGTK3__ - if ( GDK_IS_X11_WINDOW(window) ) + if (strcmp("GdkX11Window", name) == 0) #endif { return (gpointer)GDK_WINDOW_XID(window); } #endif #ifdef GDK_WINDOWING_WAYLAND - if ( GDK_IS_WAYLAND_WINDOW(window) ) + if (strcmp("GdkWaylandWindow", name) == 0) { return (gpointer)gdk_wayland_window_get_wl_surface(window); } diff --git a/src/unix/glegl.cpp b/src/unix/glegl.cpp index eac7c5400f..7e78b9897d 100644 --- a/src/unix/glegl.cpp +++ b/src/unix/glegl.cpp @@ -457,8 +457,9 @@ bool wxGLCanvasEGL::CreateSurface() } GdkWindow *window = GTKGetDrawingWindow(); + const char* name = g_type_name(G_TYPE_FROM_INSTANCE(window)); #ifdef GDK_WINDOWING_X11 - if ( GDK_IS_X11_WINDOW(window) ) + if (strcmp("GdkX11Window", name) == 0) { m_xwindow = GDK_WINDOW_XID(window); m_surface = eglCreatePlatformWindowSurface(m_display, *m_config, @@ -467,7 +468,7 @@ bool wxGLCanvasEGL::CreateSurface() } #endif #ifdef GDK_WINDOWING_WAYLAND - if ( GDK_IS_WAYLAND_WINDOW(window) ) + if (strcmp("GdkWaylandWindow", name) == 0) { int x, y; gdk_window_get_origin(window, &x, &y);