SIGN IN SIGN UP

Reclaim the right button ripple callback per press.

The ripple outlives the row it was created for: it is owned per peer by
_rightButtons, so a callback baked in on the first press kept repainting
a Row that was long gone. Keep the callback in the button and refresh it
on every press, holding the row through a weak pointer - which is why
has_weak_ptr moves down to BasicRow, where nearly every subclass already
had it.
J
John Preston committed
786289e835237ccafb0629f736609a95ca7387a8
Parent: 3afebb7