Fix bad cast in CIndexBuffer. Modify IIndexBuffer interface for cleanup and safety.
CIndexBuffer::setType could end up casting a temporary u16 variable to u32& (reference!). Probably never noticed as this tended to mostly works (guess next byte on stack often 0?). To prevent this from happening again I modifed IIndexBuffer::push_back to work with copies instead of references. While breaking the interface anyway I also deprecated pointer() which is just identical to getData() anyway. I get the idea of staying similar to core::array interface, but it's just confusing (and not same due to lack of types anyway). Also added a const version for getData() On a side-note - same setType bug still in CVertexBuffer, but a bit harder to fix there. So will be an new patch. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6357 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
--------------------------
|
||||
Changes in 1.9 (not yet released)
|
||||
|
||||
- IIndexBuffer has some interface changes: pointer() deprecated (was same as getData()). Adding a const version of getData().
|
||||
Also some functions no longer use references but copy by value which shouldn't be slower for this and is safer to use.
|
||||
- Fix CIndexBuffer::setType going from 16 to 32 bit. This had some casts which simply could mess up the results.
|
||||
- Fix OSX nor resizing properly. Thanks @torleif, Jordach and sfan5 for patch and report: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819
|
||||
- X meshloader fixes bug with uninitialized normals. Thanks @sfan5 for patch: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819
|
||||
- stl meshloader now faster, especially with text format
|
||||
|
Reference in New Issue
Block a user