avoid accessing zero-sized containers with operator[]
remove count>=3 condition when considering entries for the palette ( fixes #2068 but breaks almost all visual tests )
This commit is contained in:
parent
6d1422c5bb
commit
03250869b6
1 changed files with 5 additions and 3 deletions
|
@ -249,7 +249,9 @@ public:
|
||||||
}
|
}
|
||||||
if (colors_ == 1)
|
if (colors_ == 1)
|
||||||
{
|
{
|
||||||
|
if (pal_remap_.size() > 1)
|
||||||
return pal_remap_[has_holes_?1:0];
|
return pal_remap_[has_holes_?1:0];
|
||||||
|
else return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
rgba_hash_table::iterator it = color_hashmap_.find(val);
|
rgba_hash_table::iterator it = color_hashmap_.find(val);
|
||||||
|
@ -361,7 +363,7 @@ private:
|
||||||
|
|
||||||
void print_tree(node *r, int d=0, int id=0) const
|
void print_tree(node *r, int d=0, int id=0) const
|
||||||
{
|
{
|
||||||
for (int i=0; i<d; i++)
|
for (int i=0; i<d; ++i)
|
||||||
{
|
{
|
||||||
printf("\t");
|
printf("\t");
|
||||||
}
|
}
|
||||||
|
@ -396,7 +398,7 @@ private:
|
||||||
// clip extreme alfa values
|
// clip extreme alfa values
|
||||||
void create_palette_rek(std::vector<rgba> & palette, node * itr) const
|
void create_palette_rek(std::vector<rgba> & palette, node * itr) const
|
||||||
{
|
{
|
||||||
if (itr->count >= 3)
|
if (itr->count != 0)
|
||||||
{
|
{
|
||||||
unsigned count = itr->count;
|
unsigned count = itr->count;
|
||||||
byte a = byte(itr->alphas/float(count));
|
byte a = byte(itr->alphas/float(count));
|
||||||
|
|
Loading…
Reference in a new issue