From: Po Lu Date: Mon, 31 Jan 2022 10:13:19 +0000 (+0800) Subject: Improve portability of GDK visual code X-Git-Tag: emacs-29.0.90~2630 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5edef4e98ce638069e37984537a9c5e5c7750667;p=emacs.git 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. --- 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