]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix appending of non-leaf node to wxGTK's wxDataViewCtrl.
authorVáclav Slavík <vslavik@fastmail.fm>
Mon, 12 Sep 2011 09:23:59 +0000 (09:23 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Mon, 12 Sep 2011 09:23:59 +0000 (09:23 +0000)
This was accidentally broken in r68965: appending a branch node after
all others node resulted in corruption of m_nodes, as the node was never
added to the list.

Fixes #13467.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/dataview.cpp

index a50f37aa30fa29402a6822edbcc7da4af33bab4f..b848fcdc9328001c4bfe0a7ec38c90862b80c670 100644 (file)
@@ -380,6 +380,7 @@ public:
             // Insert into m_nodes so that the order of nodes in m_nodes is the
             // same as the order of their corresponding IDs in m_children:
             const unsigned int count = m_nodes.GetCount();
+            bool inserted = false;
             for (unsigned i = 0; i < count; i++)
             {
                 wxGtkTreeModelNode *node = m_nodes[i];
@@ -387,9 +388,12 @@ public:
                 if ( (unsigned)posInChildren >= pos )
                 {
                     m_nodes.Insert(child, i);
+                    inserted = true;
                     break;
                 }
             }
+            if ( !inserted )
+                m_nodes.Add(child);
 
             m_children.Insert( id, pos );
         }