summaryrefslogtreecommitdiff
path: root/indra/llui/llbutton.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2009-11-30 12:57:45 -0500
committerNat Goodspeed <nat@lindenlab.com>2009-11-30 12:57:45 -0500
commit7b6ddb4106726f1d4f39a98cc5d7b49e39abc907 (patch)
tree9003af978069e45c12252c3705033a6250562af0 /indra/llui/llbutton.cpp
parent224cfffa1c46e144f290402f33b96d23cb27d98c (diff)
DEV-43463: Keep LLEventPump's LLStandardSignal alive during post()
Replace LLEventPump's boost::scoped_ptr<LLStandardSignal> with boost::shared_ptr. Take a local stack copy of that shared_ptr in post() methods, and invoke the signal through that copy. This guards against scenario in which LLEventPump gets destroyed during signal invocation. (See Jira for details.) Re-enable Mani's test case that used to crash. Introduce ll_template_cast<> to allow a template function to recognize a parameter of a particular type. Introduce LLListenerWrapper mechanism to support wrapper objects for LLEventPump listeners. You instantiate an LLListenerWrapper subclass object inline in the listen() call (typically with llwrap<>), passing it the real listener, trusting it to forward the eventual call. Introduce prototypical LLCoutListener and LLLogListener subclasses for illustrative and diagnostic purposes. Test that LLLogListener doesn't block recognizing LLEventTrackable base class bound into wrapped listener.
Diffstat (limited to 'indra/llui/llbutton.cpp')
0 files changed, 0 insertions, 0 deletions