diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-02-19 20:53:20 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-21 15:28:40 +0100 |
commit | ae445b20fa2567f7e14d989f288edb69b0904433 (patch) | |
tree | b26307f8c862b75e08edfc2859fbf9539b4af13b /src/network | |
parent | 60f7473782b0a4deae11147631d846d7bc8e8bb2 (diff) |
QEasingCurve: simplify and fix copy constructor
The copy constructor used the default Private constructor,
followed by the application of the compiler-generated
copy assignment operator, and finally replaced the config
member with a copy of itself.
This is needlessly inefficient.
Worse: it's incorrect: if config->copy() throws, then
*d_ptr is leaked.
Solution: implement the copy constructor for Private,
and use it in the copy constructor of the public class.
Effect: everything that can throw now prevents the new
Private class from being created, and the compiler ends
up cleaning up after us.
Change-Id: I09ed18bb39ee7cd81aaa8ba01676fc202502a8e3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/network')
0 files changed, 0 insertions, 0 deletions