GNU bug report logs -
#10397
[PATCH] Under Remote Desktop, NUMCOLORS is unreliable; workaround
Previous Next
Reported by: Daniel Colascione <dancol <at> dancol.org>
Date: Thu, 29 Dec 2011 14:10:02 UTC
Severity: normal
Tags: patch
Fixed in version 24.3
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Under remote desktop, Windows returns the wrong number of colors from
GetDeviceCaps (hdc, NUMCOLORS). I hit this bug myself, and MSDN
comments seem to indicate that others hit it as well. The workaround
seems harmless: on non-palettized displays, calculating the number of
display colors based on display bitness should produce good results.
---
src/w32fns.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/w32fns.c b/src/w32fns.c
index 822e353..4b94f16 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -4510,7 +4510,10 @@ If omitted or nil, that stands for the selected frame's display. */)
if (dpyinfo->has_palette)
cap = GetDeviceCaps (hdc, SIZEPALETTE);
else
- cap = GetDeviceCaps (hdc, NUMCOLORS);
+ // GetDeviceCaps (NUMCOLORS) is buggy under remote desktop and sometimes
+ // returns the number of system reserved colors (20) instead of
+ // the actual number of available colors.
+ cap = -1;
/* We force 24+ bit depths to 24-bit, both to prevent an overflow
and because probably is more meaningful on Windows anyway */
--
1.7.5.1
This bug report was last modified 8 years and 240 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.