Go to file
Kp bde498894a Disallow operator=(T &&) && in valptridx
GCC std::remove_if overwrites removed elements using:

	*dstiter = move(*srciter);

This is fine for normal containers, but produces incorrect results when
*dstiter returns a proxy object instead of a reference.  In that case,
the proxy object is move-assigned from the source, then goes out of
scope.  If the move assignment did not write to underlying storage, as
valptridx proxy objects do not, then incorrect results occur.  This
broke ActiveDoor handling (fixed in 4a01fab66d98[1]) and has been a trap
waiting to recur.  Apply reference-qualifiers to valptridx objects so
that move-assignment requires an lvalue for the left-hand side.  This
permits normal use of move-assignment, but forces a compile error if
std::remove_if or similar are used on valptridx proxy objects.

[1]: 4a01fab66d
2018-06-08 04:04:05 +00:00
common Disallow operator=(T &&) && in valptridx 2018-06-08 04:04:05 +00:00
contrib Bump Gentoo ebuilds for beta2 2018-06-06 04:53:45 +00:00
d1x-rebirth Make eclip_num unsigned 2018-03-31 21:53:01 +00:00
d2x-rebirth Pass font to various drawing functions 2018-05-19 23:21:42 +00:00
Documentation Require support for reference qualified methods 2016-12-10 17:51:07 +00:00
similar Use valptridx for Dl_indices 2018-06-06 04:53:45 +00:00
.gitattributes Add experimental Windows manifest 2017-08-02 02:49:12 +00:00
.gitignore ignore XCode user data 2014-12-06 22:43:12 -08:00
COPYING.txt corrected typo in COPYING.txt (it's to its) 2014-06-06 13:18:52 +02:00
GPL-3.txt Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
INSTALL.markdown Restore GOG reference in INSTALL.markdown 2017-11-25 01:56:51 +00:00
ISSUE_TEMPLATE.md Adjust issue template formatting 2018-04-28 04:36:11 +00:00
SConstruct Improve SCons diagnostics for missing required headers 2018-06-06 04:53:45 +00:00