]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix crash in XRC ID range support code.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 8 Nov 2010 13:50:46 +0000 (13:50 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 8 Nov 2010 13:50:46 +0000 (13:50 +0000)
Really fix removing the record from the linked list. This code was modified by
r66064 but was still wrong because the wrong pointer was updated.

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

src/xrc/xmlres.cpp

index f24b8455c6f7e8f23e4051172a24752b1267bfe7..eebc913691f3b996ea4dcbced1222ca0ee6371d7 100644 (file)
@@ -2641,16 +2641,14 @@ void wxIdRangeManager::RemoveXRCIDEntry(const wxString& idstr)
         if (wxStrcmp(rec->key, str_id) == 0)
         {
             // Found the item to be removed so delete its record; but first
-            // replace it in the table with any rec->next (usually == NULL)
-            (*p_previousrec) = rec->next;
+            // remove it from the linked list.
+            *p_previousrec = rec->next;
             free(rec->key);
             delete rec;
             return;
         }
-        else
-        {
-            p_previousrec = &rec;
-        }
+
+        p_previousrec = &rec->next;
     }
 }