repo: rxvt-unicode-sixel
action: commit
revision: 
path_from: 
revision_from: 2915b1365d7789808991721143d72d27a4fa4508:
path_to: 
revision_to: 
git.thebackupbox.net
rxvt-unicode-sixel
git clone git://git.thebackupbox.net/rxvt-unicode-sixel
commit 2915b1365d7789808991721143d72d27a4fa4508
Author: Marc Lehmann 
Date:   Thu Jun 30 17:02:22 2016 +0000

    *** empty log message ***

diff --git a/src/command.C b/src/command.C
index 92add58ead5dc8bf87673206397624111ff15ace..
index ..35b321fc1a1fb1398b5f855767b839b6cf23b817 100644
--- a/src/command.C
+++ b/src/command.C
@@ -3367,9 +3367,6 @@ rxvt_term::map_rgb24_color (unsigned int r, unsigned int g, unsigned int b)
   unsigned int idx_b = b * (Blue_levels  - 1) / 0xff;
   unsigned int idx = colorcube_index (idx_r, idx_g, idx_b);

-  if (rgb24_color[idx] == color)
-    return idx + minTermCOLOR24;
-
   /* we allow one of the 6 directly neighbouring colours */
   /* to replace the current color, if they not used recently */
   static const signed char dxyz[][3] = {
@@ -3394,6 +3391,12 @@ rxvt_term::map_rgb24_color (unsigned int r, unsigned int g, unsigned int b)

       unsigned int index = colorcube_index (r, g, b);

+      if (rgb24_color[index] == color)
+        {
+          rgb24_seqno[idx] = ++rgb24_sequence;
+          return index + minTermCOLOR24;
+        }
+
       // minor issue: could update index 0 few more times
       if ((rgb24_seqno[index] | rgb24_color[index]) == 0)
         {
@@ -3401,9 +3404,6 @@ rxvt_term::map_rgb24_color (unsigned int r, unsigned int g, unsigned int b)
           goto update;
         }

-      if (rgb24_color[index] == color)
-        return index + minTermCOLOR24;
-
       // like (rgb24_seqno[idx] > rgb24_seqno[index])
       // but also handles wrap around values good enough
       if ((uint16_t)(rgb24_seqno[idx] - rgb24_seqno[index]) < 0x7fff)

-----END OF PAGE-----