phoenix-firestorm/indra/llui
Nat Goodspeed afaad3cef7 DRTVWR-476: Remove special case for listen(boost::bind(weak_ptr)).
LLEventDetail::visit_and_connect() promised special treatment for the
specific case when an LLEventPump::listen() listener was composed of (possibly
nested) boost::bind() objects storing boost::weak_ptr values -- specifically
boost::bind() rather than std::bind or lambdas, specifically boost::weak_ptr
rather than std::weak_ptr.

Outside of self-tests, it does not appear that anyone actually uses that
support.

There is good reason not to: it's a silent side effect of a complicated
compile-time inspection that could be silently derailed by use of std::bind()
or a lambda or a std::weak_ptr. Can you be sure you've engaged that promise?
How?

A more robust guarantee can be achieved by storing an LLTempBoundConnection in
the transient object itself. When the object is destroyed, the listener is
disconnected. Normal C++ rules around object destruction guarantee it. This
idiom is widely used.

There are a couple good reasons to remove the visit_and_connect() machinery:

* boost::bind() and boost::weak_ptr do not constitute the wave of the future.
  Preferring those constructs to lambdas and std::weak_ptr penalizes new code,
  whether by silently failing or by discouraging use of modern idioms.
* The visit_and_connect() machinery was always complicated, and apparently
  never very robust. Most of its promised features have been commented out
  over the years. Making the code base simpler, clearer and more maintainable
  is always a useful effect.

LLEventDetail::visit_and_connect() was also used by the four
LLNotificationChannelBase::connectMumble() methods. Streamline those as well.

Of course, remove related test code.
2020-03-25 18:52:11 -04:00
..
tests Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-02-03 20:14:32 -05:00
CMakeLists.txt SL-793: Use Boost.Fiber instead of the "dcoroutine" library. 2020-03-25 17:32:45 -04:00
llaccordionctrl.cpp [DRTVWR-476] - fix compiler errors 32 bit windows build 2020-03-25 18:44:04 -04:00
llaccordionctrl.h
llaccordionctrltab.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llaccordionctrltab.h
llbadge.cpp MAINT-8171 "New" tag is not in front of folder when searching items in "Received Items" panel 2018-01-12 19:22:37 +02:00
llbadge.h MAINT-8171 "New" tag is not in front of folder when searching items in "Received Items" panel 2018-01-12 19:22:37 +02:00
llbadgeholder.cpp
llbadgeholder.h
llbadgeowner.cpp MAINT-8171 "New" tag is not in front of folder when searching items in "Received Items" panel 2018-01-12 19:22:37 +02:00
llbadgeowner.h MAINT-8171 "New" tag is not in front of folder when searching items in "Received Items" panel 2018-01-12 19:22:37 +02:00
llbutton.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llbutton.h SL-10293 Firestorm PR: preferences and menu search 2019-01-03 22:59:49 +02:00
llcallbackmap.h
llchat.h
llchatentry.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llchatentry.h
llcheckboxctrl.cpp SL-12595 The checkbox overlaps buttons in the 'Delete selected item?' notification 2020-01-20 17:08:13 +02:00
llcheckboxctrl.h SL-12595 The checkbox overlaps buttons in the 'Delete selected item?' notification 2020-01-20 17:08:13 +02:00
llclipboard.cpp
llclipboard.h
llcombobox.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llcombobox.h MAINT-8488 FIXED Favourite location list on login screen is not updated after pressing "Esc" key while in username field 2018-04-05 18:22:15 +03:00
llcommandmanager.cpp
llcommandmanager.h
llconsole.cpp DRTVWR-494: Defend LLInstanceTracker against multi-thread usage. 2020-03-25 15:28:17 -04:00
llconsole.h DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llcontainerview.cpp
llcontainerview.h
llctrlselectioninterface.cpp
llctrlselectioninterface.h
lldockablefloater.cpp
lldockablefloater.h
lldockcontrol.cpp
lldockcontrol.h
lldraghandle.cpp
lldraghandle.h
lleditmenuhandler.cpp
lleditmenuhandler.h MAINT-380 Add "Duplicate" feature into Build-Object sunbmenu 2017-03-24 19:09:54 +02:00
llf32uictrl.cpp
llf32uictrl.h
llfiltereditor.cpp
llfiltereditor.h
llflashtimer.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llflashtimer.h
llflatlistview.cpp
llflatlistview.h
llfloater.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llfloater.h
llfloaterreg.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llfloaterreg.h
llfloaterreglistener.cpp
llfloaterreglistener.h
llflyoutbutton.cpp
llflyoutbutton.h
llfocusmgr.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llfocusmgr.h
llfolderview.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llfolderview.h STORM-2149: Add a warning notification when deleting a folder of filtered content 2017-06-02 16:44:00 +02:00
llfolderviewitem.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llfolderviewitem.h
llfolderviewmodel.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llfolderviewmodel.h SL-717 Additional search options for inventory window 2017-08-04 18:44:38 +03:00
llfunctorregistry.h
llhelp.h
lliconctrl.cpp
lliconctrl.h
llkeywords.cpp
llkeywords.h
lllayoutstack.cpp DRTVWR-494: Defend LLInstanceTracker against multi-thread usage. 2020-03-25 15:28:17 -04:00
lllayoutstack.h
lllazyvalue.h
lllineeditor.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
lllineeditor.h SL-10890 Ban duration edit field shows value with a left shift if a large value was set 2019-04-05 22:42:04 +03:00
llloadingindicator.cpp
llloadingindicator.h
lllocalcliprect.cpp
lllocalcliprect.h
llmenubutton.cpp
llmenubutton.h
llmenugl.cpp Downstream merge from 494-maint-wassail 2019-11-12 02:37:15 +02:00
llmenugl.h SL-10293 Firestorm PR: preferences and menu search 2019-01-03 22:59:49 +02:00
llmodaldialog.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llmodaldialog.h
llmultifloater.cpp
llmultifloater.h
llmultislider.cpp
llmultislider.h
llmultisliderctrl.cpp
llmultisliderctrl.h
llnotificationptr.h
llnotifications.cpp Downstream merge from 494-maint-wassail 2019-11-12 02:37:15 +02:00
llnotifications.h DRTVWR-476: Remove special case for listen(boost::bind(weak_ptr)). 2020-03-25 18:52:11 -04:00
llnotificationslistener.cpp DRTVWR-494: Defend LLInstanceTracker against multi-thread usage. 2020-03-25 15:28:17 -04:00
llnotificationslistener.h
llnotificationsutil.cpp
llnotificationsutil.h
llnotificationtemplate.h MAINT-2585 Make permission request notifications permanent until action taken 2017-05-25 16:51:45 +03:00
llnotificationvisibilityrule.h
llpanel.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llpanel.h
llprogressbar.cpp
llprogressbar.h
llradiogroup.cpp MAINT-1747 Fixed after switching Preferences tabs, radio buttons don't get focus on click 2017-01-13 17:20:08 +02:00
llradiogroup.h MAINT-1747 Fixed after switching Preferences tabs, radio buttons don't get focus on click 2017-01-13 17:20:08 +02:00
llresizebar.cpp
llresizebar.h
llresizehandle.cpp
llresizehandle.h
llresmgr.cpp
llresmgr.h
llrngwriter.cpp
llrngwriter.h
llscrollbar.cpp Downstream merge from 494-maint-wassail 2019-11-12 02:37:15 +02:00
llscrollbar.h SL-11910 [Win] Horizontal scroll 2019-09-10 19:49:15 +03:00
llscrollcontainer.cpp SL-11910 [Win] Horizontal scroll 2019-09-10 19:49:15 +03:00
llscrollcontainer.h SL-11910 [Win] Horizontal scroll 2019-09-10 19:49:15 +03:00
llscrollingpanellist.cpp
llscrollingpanellist.h
llscrolllistcell.cpp
llscrolllistcell.h
llscrolllistcolumn.cpp
llscrolllistcolumn.h
llscrolllistctrl.cpp Merge branch 'master' of https://bitbucket.org/lindenlab/viewer-private into DRTVWR-481 2020-01-28 21:47:35 +00:00
llscrolllistctrl.h Merge branch 'master' of https://bitbucket.org/lindenlab/viewer-private into DRTVWR-481 2020-01-28 21:47:35 +00:00
llscrolllistitem.cpp
llscrolllistitem.h
llsearchablecontrol.h SL-10293 Firestorm PR: preferences and menu search 2019-01-03 22:59:49 +02:00
llsearcheditor.cpp
llsearcheditor.h
llslider.cpp
llslider.h
llsliderctrl.cpp
llsliderctrl.h SL-10293 Firestorm PR: preferences and menu search 2019-01-03 22:59:49 +02:00
llspellcheck.cpp DRTVWR-493 LLSpellcheck doesn't need separate init 2019-06-27 22:14:52 +03:00
llspellcheck.h DRTVWR-493 LLSpellcheck doesn't need separate init 2019-06-27 22:14:52 +03:00
llspellcheckmenuhandler.h
llspinctrl.cpp SL-10890 Ban duration edit field shows value with a left shift if a large value was set 2019-04-05 22:42:04 +03:00
llspinctrl.h MAINT-1614 Fixed Object changed its position inworld but value in Edit tool was not changed 2017-06-16 18:55:43 +03:00
llstatbar.cpp
llstatbar.h
llstatgraph.cpp
llstatgraph.h
llstatview.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llstatview.h
llstyle.cpp
llstyle.h
lltabcontainer.cpp SL-10325 FIXED Preferences tabs are displayed incorrectly if hovering it while searching any keyword 2019-01-09 17:21:13 +02:00
lltabcontainer.h SL-10293 Firestorm PR: preferences and menu search 2019-01-03 22:59:49 +02:00
lltextbase.cpp Merge branch 'master' of https://bitbucket.org/lindenlab/viewer-private into DRTVWR-481 2020-01-28 21:47:35 +00:00
lltextbase.h Merge branch 'master' of https://bitbucket.org/lindenlab/viewer-private into DRTVWR-481 2020-01-28 21:47:35 +00:00
lltextbox.cpp Merged in lindenlab/viewer-release 2019-09-10 20:30:25 +03:00
lltextbox.h SL-1397 FIXED Check mark doesn't switch when clicking on the label "Mute when minimized" in Preferences 2018-09-12 17:42:23 +03:00
lltexteditor.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
lltexteditor.h
lltextparser.cpp
lltextparser.h
lltextutil.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
lltextutil.h
lltextvalidate.cpp
lltextvalidate.h
lltimectrl.cpp
lltimectrl.h
lltoggleablemenu.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
lltoggleablemenu.h
lltoolbar.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
lltoolbar.h
lltooltip.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
lltooltip.h
lltrans.cpp MAINT-8180 Add the way to get default string despite of current localiztion 2018-01-30 17:45:04 +02:00
lltrans.h build fix 2018-01-31 12:13:07 +02:00
lltransutil.cpp SL-10423 Dump path data when missing critical file 2019-06-03 21:37:43 +03:00
lltransutil.h
llui.cpp Merged in lindenlab/viewer-release 2019-08-14 15:02:56 +03:00
llui.h DRTVWR-493: Streamline LLParamSingleton, LLLockedSingleton. 2019-08-12 09:44:56 -04:00
lluicolor.cpp
lluicolor.h
lluicolortable.cpp
lluicolortable.h
lluiconstants.h
lluictrl.cpp SL-1171 [Dev tools] UI controls <-> settings connection issues 2019-08-30 19:06:30 +03:00
lluictrl.h SL-10293 Firestorm PR: preferences and menu search 2019-01-03 22:59:49 +02:00
lluictrlfactory.cpp
lluictrlfactory.h
lluifwd.h
lluistring.cpp
lluistring.h
llundo.cpp
llundo.h
llurlaction.cpp
llurlaction.h
llurlentry.cpp Merged in lindenlab/viewer-release 2019-11-12 00:39:07 +02:00
llurlentry.h MAINT-8552 FIXED Secure map links do not parse in chat and SL icon is not displayed 2018-04-19 16:48:46 +03:00
llurlmatch.cpp
llurlmatch.h
llurlregistry.cpp MAINT-8023 Viewer breaks URLs with internationalized domain names 2017-11-24 17:58:02 +02:00
llurlregistry.h
llview.cpp Downstream merge from 494-maint-wassail 2019-11-12 02:37:15 +02:00
llview.h Downstream merge from 494-maint-wassail 2019-11-12 02:37:15 +02:00
llviewborder.cpp
llviewborder.h
llviewereventrecorder.cpp DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llviewereventrecorder.h
llviewinject.cpp
llviewinject.h DRTVWR-493 LLUI to LLParamSingleton 2019-08-10 15:31:03 +03:00
llviewmodel.cpp
llviewmodel.h
llviewquery.cpp
llviewquery.h
llwindowshade.cpp
llwindowshade.h
llxuiparser.cpp MAINT-7593 FIXED "Failed to parse parameter" spam 2017-07-13 11:01:20 +03:00
llxuiparser.h