aboutsummaryrefslogtreecommitdiff
path: root/fastiv-view.c
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2021-11-16 13:38:42 +0100
committerPřemysl Eric Janouch <p@janouch.name>2021-11-16 14:57:02 +0100
commitc4d58cb9ad154f536447f842d0f3026af3e4c976 (patch)
tree238aedebaf8ab62102c40efa00ceeac0b10628d0 /fastiv-view.c
parent9bebb0a3fecb8fa8bca102f48d10e09e494a6b4d (diff)
downloadfiv-c4d58cb9ad154f536447f842d0f3026af3e4c976.tar.gz
fiv-c4d58cb9ad154f536447f842d0f3026af3e4c976.tar.xz
fiv-c4d58cb9ad154f536447f842d0f3026af3e4c976.zip
Prefer the dark theme variant
Diffstat (limited to 'fastiv-view.c')
-rw-r--r--fastiv-view.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fastiv-view.c b/fastiv-view.c
index f55fd49..9ed93f8 100644
--- a/fastiv-view.c
+++ b/fastiv-view.c
@@ -188,8 +188,16 @@ fastiv_view_realize(GtkWidget *widget)
&attributes, GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL);
// Without the following call, or the rendering mode set to "recording",
- // RGB30 degrades to RGB24. It completely breaks the Quartz backend.
+ // RGB30 degrades to RGB24, because gdk_window_begin_paint_internal()
+ // creates backing stores using cairo_content_t constants.
+ //
+ // It completely breaks the Quartz backend, so limit it to X11.
#ifdef GDK_WINDOWING_X11
+ // FIXME: This causes some flicker while scrolling, because it disables
+ // double buffering, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2560
+ //
+ // If GTK+'s OpenGL integration fails to deliver, we need to use the window
+ // directly, sidestepping the toolkit entirely.
if (GDK_IS_X11_WINDOW(window))
gdk_window_ensure_native(window);
#endif // GDK_WINDOWING_X11