Commit Graph

7 Commits

Author SHA1 Message Date
John Preston b6128b6fe0 Fix undefined behaviour in base::weak_ptr.
Regression was introduced in 1c79f85d00.

Invalid casts lead to crashes in macOS notifications handling.
Casts were T* -> has_weak_ptr* -> void* -> T* which was not working
in case T had has_weak_ptr as not first base class.

Now it uses just T* -> has_weak_ptr* -> T* casts.
2018-10-10 00:19:47 +03:00
John Preston 1c79f85d00 Optimize base::weak_ptr. 2018-10-09 19:27:16 +03:00
Sven-Hendrik Haase f37f097dec Add include to <memory> (#4887) 2018-07-03 20:22:52 +03:00
John Preston c2fa149ffd Replace InvokeQueued with on_main for has_weak_ptr. 2018-06-12 01:02:04 +03:00
John Preston ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +03:00
John Preston af552fb4c0 Replace base/task_queue with crl. 2017-12-31 00:28:38 +03:00
John Preston 2432845df2 Optimize and rename base::weak_unique_ptr.
Rename base::enable_weak_from_this -> base::has_weak_ptr.
Rename base::weak_unique_ptr -> base::weak_ptr.
Rename base::make_weak_unique -> base::make_weak.
Rename base/weak_unique_ptr.h -> base/weak_ptr.h
2017-11-30 21:33:27 +04:00