Don't allocate way too much memory in wxVector::reserve().
We multiplied the number of items by the size of each element twice, once in wxVector::reserve() itself and once in Ops::Realloc() it called, so we allocated much more memory than actually needed. Fix this by passing the number of elements to Ops::Realloc(). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -577,6 +577,7 @@ Major new features in this release
|
||||
All:
|
||||
|
||||
- Fix wxSocket::WaitForAccept() in non-main thread (Hajo Kirchhoff).
|
||||
- Fix memory overallocation in wxVector::reserve() (Nigel Paton).
|
||||
|
||||
All (GUI):
|
||||
|
||||
|
@@ -327,7 +327,7 @@ public:
|
||||
if ( m_capacity + increment > n )
|
||||
n = m_capacity + increment;
|
||||
|
||||
m_values = Ops::Realloc(m_values, n * sizeof(value_type), m_size);
|
||||
m_values = Ops::Realloc(m_values, n, m_size);
|
||||
m_capacity = n;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user