emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110468: Merge into trunk


From: dancol
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110468: Merge into trunk
Date: Mon, 08 Oct 2012 10:47:29 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110468 [merge]
committer: address@hidden
branch nick: trunk
timestamp: Mon 2012-10-08 10:47:29 -0800
message:
  Merge into trunk
modified:
  src/ChangeLog
  src/w32fns.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-10-08 18:31:39 +0000
+++ b/src/ChangeLog     2012-10-08 18:47:29 +0000
@@ -1,10 +1,15 @@
 2012-10-08  Jan Djärv  <address@hidden>
-
        * nsfont.m (Vfonts_in_cache): New variable.
        (nsfont_open): Use unsignedLongLongValue for cache in case wide ints
        are used.  Add cached fonts to Vfonts_in_cache.
        (syms_of_nsfont): Initialize and staticpro Vfonts_in_cache.
 
+2012-10-08  Daniel Colascione  <address@hidden>
+       * w32fns.c (Fx_display_color_cells): Instead of using NCOLORS,
+       which is broke under remote desktop, calculating the number of
+       colors available for a display based on the display's number of
+       planes and number of bits per pixel per plane.  (bug#10397).
+
 2012-10-08  Juanma Barranquero  <address@hidden>
 
        * makefile.w32-in (LOCAL_FLAGS): Don't define HAVE_NTGUI, it's now

=== modified file 'src/w32fns.c'
--- a/src/w32fns.c      2012-10-08 12:53:18 +0000
+++ b/src/w32fns.c      2012-10-08 18:44:42 +0000
@@ -4642,22 +4642,14 @@
   (Lisp_Object display)
 {
   struct w32_display_info *dpyinfo = check_x_display_info (display);
-  HDC hdc;
   int cap;
 
-  hdc = GetDC (dpyinfo->root_window);
-  if (dpyinfo->has_palette)
-    cap = GetDeviceCaps (hdc, SIZEPALETTE);
-  else
-    cap = GetDeviceCaps (hdc, NUMCOLORS);
-
-  /* We force 24+ bit depths to 24-bit, both to prevent an overflow
-     and because probably is more meaningful on Windows anyway */
-  if (cap < 0)
-    cap = 1 << min (dpyinfo->n_planes * dpyinfo->n_cbits, 24);
-
-  ReleaseDC (dpyinfo->root_window, hdc);
-
+  /* Don't use NCOLORS: it returns incorrect results under remote
+   * desktop.  We force 24+ bit depths to 24-bit, both to prevent an
+   * overflow and because probably is more meaningful on Windows
+   * anyway.  */
+
+  cap = 1 << min (dpyinfo->n_planes * dpyinfo->n_cbits, 24);
   return make_number (cap);
 }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]