Ken Thomases : winemac: Add registry setting to control setting display gamma ramp.

Alexandre Julliard julliard at winehq.org
Tue Jul 9 15:58:10 CDT 2013


Module: wine
Branch: master
Commit: 4f23821f080ead6232377141fb10338d4f2a04cc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4f23821f080ead6232377141fb10338d4f2a04cc

Author: Ken Thomases <ken at codeweavers.com>
Date:   Mon Jul  8 17:36:49 2013 -0500

winemac: Add registry setting to control setting display gamma ramp.

---

 dlls/winemac.drv/display.c     |    6 ++++++
 dlls/winemac.drv/macdrv.h      |    1 +
 dlls/winemac.drv/macdrv_main.c |    4 ++++
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c
index 9ed02f8..e44415d 100644
--- a/dlls/winemac.drv/display.c
+++ b/dlls/winemac.drv/display.c
@@ -797,6 +797,12 @@ BOOL macdrv_SetDeviceGammaRamp(PHYSDEV dev, LPVOID ramp)
 
     TRACE("dev %p ramp %p\n", dev, ramp);
 
+    if (!allow_set_gamma)
+    {
+        TRACE("disallowed by registry setting\n");
+        return FALSE;
+    }
+
     if (macdrv_get_displays(&displays, &num_displays))
     {
         WARN("failed to get Mac displays\n");
diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h
index 3c7bea5..4c74ddc 100644
--- a/dlls/winemac.drv/macdrv.h
+++ b/dlls/winemac.drv/macdrv.h
@@ -37,6 +37,7 @@
 
 extern BOOL skip_single_buffer_flushes DECLSPEC_HIDDEN;
 extern BOOL allow_vsync DECLSPEC_HIDDEN;
+extern BOOL allow_set_gamma DECLSPEC_HIDDEN;
 
 
 extern const char* debugstr_cf(CFTypeRef t) DECLSPEC_HIDDEN;
diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c
index 6bae707..dd032f3 100644
--- a/dlls/winemac.drv/macdrv_main.c
+++ b/dlls/winemac.drv/macdrv_main.c
@@ -49,6 +49,7 @@ int topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_NONFULLSCREEN;
 int capture_displays_for_fullscreen = 0;
 BOOL skip_single_buffer_flushes = FALSE;
 BOOL allow_vsync = TRUE;
+BOOL allow_set_gamma = TRUE;
 
 
 /**************************************************************************
@@ -164,6 +165,9 @@ static void setup_options(void)
     if (!get_config_key(hkey, appkey, "AllowVerticalSync", buffer, sizeof(buffer)))
         allow_vsync = IS_OPTION_TRUE(buffer[0]);
 
+    if (!get_config_key(hkey, appkey, "AllowSetGamma", buffer, sizeof(buffer)))
+        allow_set_gamma = IS_OPTION_TRUE(buffer[0]);
+
     if (appkey) RegCloseKey(appkey);
     if (hkey) RegCloseKey(hkey);
 }




More information about the wine-cvs mailing list