- install missing files
[enigma2.git] / lib / gdi / gpixmap.cpp
index e9c469c425714241441a5ad7717b3754e4887ce6..f0f04d69237e618848ba27e69fa897dbebd98581 100644 (file)
@@ -74,15 +74,8 @@ gSurfaceSystem::gSurfaceSystem(eSize size, int _bpp)
                bypp=(bpp+7)/8;
        }
        stride=x*bypp;
-       if (bpp==8)
-       {
-               clut.colors=256;
-               clut.data=new gRGB[clut.colors];
-       } else
-       {
-               clut.colors=0;
-               clut.data=0;
-       }
+       clut.colors=0;
+       clut.data=0;
        data=malloc(x*y*bypp);
 }
 
@@ -231,10 +224,9 @@ void gPixmap::blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flag
 
 void gPixmap::mergePalette(const gPixmap &target)
 {
-       eDebug("merge palette! %p %p", surface, target.surface);
        if ((!surface->clut.colors) || (!target.surface->clut.colors))
                return;
-#if 0
+
        gColor *lookup=new gColor[surface->clut.colors];
 
        for (int i=0; i<surface->clut.colors; i++)
@@ -255,7 +247,6 @@ void gPixmap::mergePalette(const gPixmap &target)
        }
        
        delete [] lookup;
-#endif
 }
 
 static inline int sgn(int a)
@@ -388,6 +379,8 @@ gColor gPalette::findColor(const gRGB &rgb) const
                ttd+=td;
                if (ttd>=difference)
                        continue;
+               if (!ttd)
+                       return t;
                difference=ttd;
                best_choice=t;
        }