diff options
| author | Richard Linden <none@none> | 2013-10-24 14:37:57 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2013-10-24 14:37:57 -0700 | 
| commit | dc60a7564abf16cbf269e47cfc33ed00c6bb0870 (patch) | |
| tree | d8096d7e77da9079171135e590e265a5966f6d7b /indra/newview | |
| parent | 4264060662c1a598856622a749ea4a3216c5975c (diff) | |
SH-4577 WIP Interesting: viewer crashed when clicking a offline Conversation containing a shared object
potential fix by making instance tracker allow key collisions for LLToastNotifyPanel
changed assertion macro to use original unpreprocessed source code
renamed instance tracker behavior macros to use LL prefix
added RestoreCameraPosOnLogin setting to optionally restore old camera positioning behavior
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/CMakeLists.txt | 18 | ||||
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 13 | ||||
| -rwxr-xr-x | indra/newview/llstartup.cpp | 7 | ||||
| -rwxr-xr-x | indra/newview/lltoastnotifypanel.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/lltoastnotifypanel.h | 2 | 
5 files changed, 26 insertions, 16 deletions
| diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 3e1cbb2ac6..0cf0fc1322 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -238,6 +238,9 @@ set(viewer_SOURCE_FILES      llfloaterhelpbrowser.cpp      llfloaterhud.cpp      llfloaterimagepreview.cpp +    llfloaterimsessiontab.cpp +    llfloaterimsession.cpp +    llfloaterimcontainer.cpp      llfloaterinspect.cpp      llfloaterinventory.cpp      llfloaterjoystick.cpp @@ -320,9 +323,6 @@ set(viewer_SOURCE_FILES      llhudrender.cpp      llhudtext.cpp      llhudview.cpp -    llfloaterimsessiontab.cpp -    llfloaterimsession.cpp -    llfloaterimcontainer.cpp      llimhandler.cpp      llimview.cpp      llinspect.cpp @@ -826,6 +826,12 @@ set(viewer_HEADER_FILES      llfloaterhelpbrowser.h      llfloaterhud.h      llfloaterimagepreview.h +    llfloaterimnearbychat.h +    llfloaterimnearbychathandler.h +    llfloaterimnearbychatlistener.h +    llfloaterimsessiontab.h +    llfloaterimsession.h +    llfloaterimcontainer.h      llfloaterinspect.h      llfloaterinventory.h      llfloaterjoystick.h @@ -907,9 +913,6 @@ set(viewer_HEADER_FILES      llhudrender.h      llhudtext.h      llhudview.h -    llfloaterimsessiontab.h -    llfloaterimsession.h -    llfloaterimcontainer.h      llimview.h      llinspect.h      llinspectavatar.h @@ -961,9 +964,6 @@ set(viewer_HEADER_FILES      llnameeditor.h      llnamelistctrl.h      llnavigationbar.h -    llfloaterimnearbychat.h -    llfloaterimnearbychathandler.h -    llfloaterimnearbychatlistener.h      llnetmap.h      llnotificationhandler.h      llnotificationmanager.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index fb0d9c98d4..09d74a7f5e 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1467,7 +1467,18 @@          <real>0.0</real>        </array>      </map> -    <key>CameraPositionSmoothing</key> +    <key>RestoreCameraPosOnLogin</key> +    <map> +      <key>Comment</key> +      <string>Reset camera position to location at logout</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +			<integer>0</integer> +    </map> +		<key>CameraPositionSmoothing</key>      <map>        <key>Comment</key>        <string>Smooths camera position over time</string> diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 72c76f9424..de3be7f3c5 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1962,10 +1962,9 @@ bool idle_startup()  				((start_slurl.getType() == LLSLURL::LAST_LOCATION) && (gAgentStartLocation == "last")) ||  				((start_slurl.getType() == LLSLURL::HOME_LOCATION) && (gAgentStartLocation == "home")))  			{ -				// Start location is OK -				// Disabled code to restore camera location and focus if logging in to default location -				static bool samename = false; -				if (samename) +				if (start_slurl.getType() == LLSLURL::LAST_LOCATION  +					&& gAgentStartLocation == "last"  +					&& gSavedSettings.getBOOL("RestoreCameraPosOnLogin"))  				{  					// restore old camera pos  					gAgentCamera.setFocusOnAvatar(FALSE, FALSE); diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 94d07b37ef..5b110d843d 100755 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -57,7 +57,7 @@ LLToastNotifyPanel::button_click_signal_t LLToastNotifyPanel::sButtonClickSignal  LLToastNotifyPanel::LLToastNotifyPanel(const LLNotificationPtr& notification, const LLRect& rect, bool show_images)   :	LLToastPanel(notification), -	LLInstanceTracker<LLToastNotifyPanel, LLUUID>(notification->getID()) +	LLInstanceTracker<LLToastNotifyPanel, LLUUID, LLInstanceTrackerAllowKeyCollisions>(notification->getID())  {  	init(rect, show_images);  } diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h index d02171b512..dfd6e110b9 100755 --- a/indra/newview/lltoastnotifypanel.h +++ b/indra/newview/lltoastnotifypanel.h @@ -47,7 +47,7 @@ class LLNotificationForm;   * @deprecated this class will be removed after all toast panel types are   *  implemented in separate classes.   */ -class LLToastNotifyPanel: public LLToastPanel, public LLInstanceTracker<LLToastNotifyPanel, LLUUID> +class LLToastNotifyPanel: public LLToastPanel, public LLInstanceTracker<LLToastNotifyPanel, LLUUID, LLInstanceTrackerAllowKeyCollisions>  {  public:  	/** | 
