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:
|
All:
|
||||||
|
|
||||||
- Fix wxSocket::WaitForAccept() in non-main thread (Hajo Kirchhoff).
|
- Fix wxSocket::WaitForAccept() in non-main thread (Hajo Kirchhoff).
|
||||||
|
- Fix memory overallocation in wxVector::reserve() (Nigel Paton).
|
||||||
|
|
||||||
All (GUI):
|
All (GUI):
|
||||||
|
|
||||||
|
@@ -327,7 +327,7 @@ public:
|
|||||||
if ( m_capacity + increment > n )
|
if ( m_capacity + increment > n )
|
||||||
n = m_capacity + increment;
|
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;
|
m_capacity = n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user