All pastes #1855873 Raw Edit

clueless

public text v1 · immutable
#1855873 ·published 2010-04-03 16:39 UTC
rendered paste body
Index: src/common/paws/pawslistbox.cpp===================================================================--- src/common/paws/pawslistbox.cpp	(revision 5758)+++ src/common/paws/pawslistbox.cpp	(working copy)@@ -115,6 +115,7 @@  void pawsListBox::Clear() {+    selected = -1;     for ( size_t x = 0; x < rows.GetSize(); x++ )     {         children.Delete( rows[x] );@@ -353,7 +354,6 @@     {         pawsListBoxRow* zombie = rows[selected];         Remove(zombie);-        selected = -1;         return zombie;     } }@@ -367,7 +367,7 @@         {             pawsListBoxRow* zombie = rows[x];             Remove(zombie);-	    delete zombie;+            delete zombie;             return;         }     }@@ -378,9 +378,14 @@ {     if (rowToRemove)     {+        pawsListBoxRow* selectedRow = NULL;+        if (selected != -1)+            selectedRow = rows[selected];+         rows.Delete( rowToRemove );         children.Delete( rowToRemove );         totalRows--;+        Select(selectedRow);         CalculateDrawPositions();     } }@@ -1174,18 +1179,11 @@     sort_ascOrder    = ascOrder;     qsort(sortedRows, rows.GetSize(), sizeof (void*), sort_cmp); -    for ( i=0; i < rows.GetSize(); i++)-    {-        rows[i] = sortedRows[i];-        if(sortedRows[i] == selectedrow) //check if the current row is the one which was selected-            selected = (int) i; //if so update our selected variable-    }-     delete [] sortedRows;      CheckSortingArrow(sortColNum, ascOrder); //check if the sorting arrow is there if not add it -    Select(GetSelectedRow()); //allows select to handle the new position and update gfx correctly+    Select(selectedrow); //allows select to handle the new position and update gfx correctly      CalculateDrawPositions(); }Index: src/client/gui/pawsskillwindow.cpp===================================================================--- src/client/gui/pawsskillwindow.cpp	(revision 5758)+++ src/client/gui/pawsskillwindow.cpp	(working copy)@@ -216,7 +216,7 @@             rowEntry.PushBack(fact->name);             ratingStr.Format("%d", fact->rating);             rowEntry.PushBack(ratingStr);-            pawsListBoxRow* row = factionList->NewTextBoxRow(rowEntry);+            factionList->NewTextBoxRow(rowEntry);         }     }     else if (factRequest)   // ignore MSG_UPDATE if weve not had full list first@@ -266,7 +266,7 @@                 rowEntry.PushBack(fact->name);                 ratingStr.Format("%d", fact->rating);                 rowEntry.PushBack(ratingStr);-                pawsListBoxRow* row = factionList->NewTextBoxRow(rowEntry);+                factionList->NewTextBoxRow(rowEntry);             }         }     }@@ -298,11 +298,11 @@                     skillString = incoming.commandData;                     skillCache.apply(&incoming.skillCache); -                    bool flush = train != incoming.trainingWindow;+                    bool flush = train != incoming.trainingWindow || incoming.openWindow;                     train=incoming.trainingWindow;                      int selectedRowIdx = -1;-                    HandleSkillList(&skillCache, incoming.focusSkill, &selectedRowIdx, true);+                    HandleSkillList(&skillCache, incoming.focusSkill, &selectedRowIdx, flush);                      SelectSkill(selectedRowIdx, incoming.skillCat); @@ -424,11 +424,9 @@     if (!flush && !skills->isModified())         return; -    if (skills->hasRemoved())+    if (skills->hasRemoved() || unsortedSkills.IsEmpty())         flush = true; -    selectedSkill.Clear();-     if (flush)     {         // Clear descriptions@@ -502,18 +500,13 @@     if (flush)     {         statsSkillList->SetSortedColumn(0);-        statsSkillList->SortRows();         combatSkillList->SetSortedColumn(0);-        combatSkillList->SortRows();         magicSkillList->SetSortedColumn(0);-        magicSkillList->SortRows();         jobsSkillList->SetSortedColumn(0);-        jobsSkillList->SortRows();         variousSkillList->SetSortedColumn(0);-        variousSkillList->SortRows();     } -    if (!foundSelected)+    if (flush && !foundSelected)     {         selectedSkill.Clear();     }@@ -913,7 +906,7 @@         unsortedSkills[idx] = row;     }     -    if (skillName == selectedSkill)+    if (flush && skillName == selectedSkill)     {         statsSkillList->Select(row);         foundSelected = true;