From 5edef4e98ce638069e37984537a9c5e5c7750667 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 31 Jan 2022 18:13:19 +0800 Subject: [PATCH] Improve portability of GDK visual code * src/gtkutil.c (xg_create_frame_widgets): Look up the visual instead of assuming it based on the depth. --- src/gtkutil.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/gtkutil.c b/src/gtkutil.c index ea9c91d316b..b961cdedca9 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -1601,12 +1601,14 @@ xg_create_frame_widgets (struct frame *f) GdkScreen *screen = gtk_widget_get_screen (wtop); #if !defined HAVE_PGTK - if (FRAME_DISPLAY_INFO (f)->n_planes == 32) - { - GdkVisual *visual = gdk_screen_get_rgba_visual (screen); - gtk_widget_set_visual (wtop, visual); - gtk_widget_set_visual (wfixed, visual); - } + GdkVisual *visual = gdk_x11_screen_lookup_visual (screen, + XVisualIDFromVisual (FRAME_X_VISUAL (f))); + + if (!visual) + emacs_abort (); + + gtk_widget_set_visual (wtop, visual); + gtk_widget_set_visual (wfixed, visual); #endif #ifndef HAVE_PGTK -- 2.39.5