summaryrefslogtreecommitdiff
path: root/gdk/gdk.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-03-11 01:10:37 +0100
committerBenjamin Otte <otte@redhat.com>2011-03-11 02:10:47 +0100
commit2a2ad8523fe5d647fbb088d0872d7058b708a106 (patch)
treeab106a3c532c01c002bffb32b132d4604cad22af /gdk/gdk.c
parenta55b59fef35af3fa86d6b6279f92ca2e3a124252 (diff)
downloadgtk+-2a2ad8523fe5d647fbb088d0872d7058b708a106.tar.gz
gdk: Add GDK_RENDERING environment variable
It's useful for debugging rendering issues, both correctness and performance wise. See the added documentation for what it does and how it works.
Diffstat (limited to 'gdk/gdk.c')
-rw-r--r--gdk/gdk.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdk/gdk.c b/gdk/gdk.c
index 43d45f50d2..16b4e74ca5 100644
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -215,6 +215,8 @@ gdk_add_option_entries_libgtk_only (GOptionGroup *group)
void
gdk_pre_parse_libgtk_only (void)
{
+ const char *rendering_mode;
+
gdk_initialized = TRUE;
/* We set the fallback program class here, rather than lazily in
@@ -241,6 +243,17 @@ gdk_pre_parse_libgtk_only (void)
g_unsetenv ("GDK_NATIVE_WINDOWS");
}
+ rendering_mode = g_getenv ("GDK_RENDERING");
+ if (rendering_mode)
+ {
+ if (g_str_equal (rendering_mode, "similar"))
+ _gdk_rendering_mode = GDK_RENDERING_MODE_SIMILAR;
+ else if (g_str_equal (rendering_mode, "image"))
+ _gdk_rendering_mode = GDK_RENDERING_MODE_IMAGE;
+ else if (g_str_equal (rendering_mode, "recording"))
+ _gdk_rendering_mode = GDK_RENDERING_MODE_RECORDING;
+ }
+
g_type_init ();
/* Do any setup particular to the windowing system */