Changeset 3847


Ignore:
Timestamp:
Mar 1, 2015, 11:36:31 AM (7 years ago)
Author:
guite
Message:

map: more bug fixes (still not fully fixed…)

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lol/base/avl_tree.h

    r3842 r3847  
    249249            }
    250250
    251 
    252251            return created;
    253252        }
     
    375374                    replacement->m_child[1 - i]->m_child[i] = save1;
    376375                    if (save1)
    377                         save1->m_parent_slot = &replacement->m_child[i]->m_child[1 - i];
     376                        save1->m_parent_slot = &replacement->m_child[1 - i]->m_child[i];
    378377                }
    379378                else
    380379                {
    381 
    382380                    replacement = m_child[i];
    383381                    tree_node * save = replacement->m_child[1 - i];
     
    415413            {
    416414                *replacement->m_parent_slot = replacement->m_child[1 - i];
     415                if (replacement->m_child[1 - i])
     416                    replacement->m_child[1 - i]->m_parent_slot = replacement->m_parent_slot;
    417417
    418418                replacement->m_parent_slot = m_parent_slot;
     
    433433            }
    434434            else
    435                 *m_parent_slot = nullptr;
     435            {
     436                *m_parent_slot = m_child[i];
     437                if (m_child[i])
     438                    m_child[i]->m_parent_slot = m_parent_slot;
     439
     440                replacement = m_child[i];
     441            }
    436442
    437443            replace_chain(replacement);
  • trunk/src/t/base/map.cpp

    r3842 r3847  
    124124        }
    125125
    126         for (int i = 0 ; i < 10000 ; ++i)
     126        for (int i = 0 ; i < 198 ; ++i)
    127127        {
    128128            // debug output
Note: See TracChangeset for help on using the changeset viewer.