aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:45 -0500
committerJacek Antonelli2008-08-15 23:45:45 -0500
commitb1831d23bfdd0c876ac8cf687d6d3cf02345e28e (patch)
treee977d6563859940ad05af08b7bc150f57a7cb548 /linden/indra/newview
parentSecond Life viewer sources 1.20.3 (diff)
downloadmeta-impy-b1831d23bfdd0c876ac8cf687d6d3cf02345e28e.zip
meta-impy-b1831d23bfdd0c876ac8cf687d6d3cf02345e28e.tar.gz
meta-impy-b1831d23bfdd0c876ac8cf687d6d3cf02345e28e.tar.bz2
meta-impy-b1831d23bfdd0c876ac8cf687d6d3cf02345e28e.tar.xz
Second Life viewer sources 1.20.4
Diffstat (limited to 'linden/indra/newview')
-rw-r--r--linden/indra/newview/app_settings/settings.xml2
-rw-r--r--linden/indra/newview/lldynamictexture.cpp6
-rw-r--r--linden/indra/newview/llfloateranimpreview.cpp3
-rw-r--r--linden/indra/newview/llfloaterimagepreview.cpp8
-rw-r--r--linden/indra/newview/llglsandbox.cpp35
-rw-r--r--linden/indra/newview/llimpanel.cpp4
-rw-r--r--linden/indra/newview/lltexlayer.cpp4
-rw-r--r--linden/indra/newview/lltoolmorph.cpp5
-rw-r--r--linden/indra/newview/llviewermenu.cpp4
-rw-r--r--linden/indra/newview/llviewermessage.cpp2
-rw-r--r--linden/indra/newview/llvovolume.cpp20
-rw-r--r--linden/indra/newview/releasenotes.txt8
12 files changed, 66 insertions, 35 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 7be1db3..2bfac48 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -5763,7 +5763,7 @@
5763 <key>RenderUseCleverUI</key> 5763 <key>RenderUseCleverUI</key>
5764 <map> 5764 <map>
5765 <key>Comment</key> 5765 <key>Comment</key>
5766 <string>Turns on the \"clever\" UI rendering optimization. It's a known performace gain (and enabled by default) on apple.</string> 5766 <string>Turns on the \"clever\" UI rendering optimization. It's a known performace gain on apple.</string>
5767 <key>Persist</key> 5767 <key>Persist</key>
5768 <integer>1</integer> 5768 <integer>1</integer>
5769 <key>Type</key> 5769 <key>Type</key>
diff --git a/linden/indra/newview/lldynamictexture.cpp b/linden/indra/newview/lldynamictexture.cpp
index 14b80d6..6bcf140 100644
--- a/linden/indra/newview/lldynamictexture.cpp
+++ b/linden/indra/newview/lldynamictexture.cpp
@@ -223,17 +223,15 @@ BOOL LLDynamicTexture::updateAllInstances()
223 glClear(GL_DEPTH_BUFFER_BIT); 223 glClear(GL_DEPTH_BUFFER_BIT);
224 gDisplaySwapBuffers = FALSE; 224 gDisplaySwapBuffers = FALSE;
225 225
226 LLVertexBuffer::startRender();
227 gGL.start();
228
229 dynamicTexture->preRender(); // Must be called outside of startRender() 226 dynamicTexture->preRender(); // Must be called outside of startRender()
230 227
228 LLVertexBuffer::startRender();
229
231 if (dynamicTexture->render()) 230 if (dynamicTexture->render())
232 { 231 {
233 result = TRUE; 232 result = TRUE;
234 sNumRenders++; 233 sNumRenders++;
235 } 234 }
236 gGL.stop();
237 LLVertexBuffer::stopRender(); 235 LLVertexBuffer::stopRender();
238 236
239 dynamicTexture->postRender(result); 237 dynamicTexture->postRender(result);
diff --git a/linden/indra/newview/llfloateranimpreview.cpp b/linden/indra/newview/llfloateranimpreview.cpp
index 1ea0495..317636e 100644
--- a/linden/indra/newview/llfloateranimpreview.cpp
+++ b/linden/indra/newview/llfloateranimpreview.cpp
@@ -1038,6 +1038,8 @@ BOOL LLPreviewAnimation::render()
1038{ 1038{
1039 mNeedsUpdate = FALSE; 1039 mNeedsUpdate = FALSE;
1040 LLVOAvatar* avatarp = mDummyAvatar; 1040 LLVOAvatar* avatarp = mDummyAvatar;
1041
1042 gGL.start();
1041 1043
1042 glMatrixMode(GL_PROJECTION); 1044 glMatrixMode(GL_PROJECTION);
1043 gGL.pushMatrix(); 1045 gGL.pushMatrix();
@@ -1108,7 +1110,6 @@ BOOL LLPreviewAnimation::render()
1108 avatarPoolp->renderAvatars(avatarp); // renders only one avatar 1110 avatarPoolp->renderAvatars(avatarp); // renders only one avatar
1109 } 1111 }
1110 1112
1111 gGL.start();
1112 return TRUE; 1113 return TRUE;
1113} 1114}
1114 1115
diff --git a/linden/indra/newview/llfloaterimagepreview.cpp b/linden/indra/newview/llfloaterimagepreview.cpp
index 7b1c8cc..f1f7ff6 100644
--- a/linden/indra/newview/llfloaterimagepreview.cpp
+++ b/linden/indra/newview/llfloaterimagepreview.cpp
@@ -667,6 +667,8 @@ void LLImagePreviewAvatar::setPreviewTarget(const char* joint_name, const char*
667//----------------------------------------------------------------------------- 667//-----------------------------------------------------------------------------
668BOOL LLImagePreviewAvatar::render() 668BOOL LLImagePreviewAvatar::render()
669{ 669{
670 gGL.start();
671
670 mNeedsUpdate = FALSE; 672 mNeedsUpdate = FALSE;
671 LLVOAvatar* avatarp = mDummyAvatar; 673 LLVOAvatar* avatarp = mDummyAvatar;
672 674
@@ -723,8 +725,6 @@ BOOL LLImagePreviewAvatar::render()
723 avatarPoolp->renderAvatars(avatarp); // renders only one avatar 725 avatarPoolp->renderAvatars(avatarp); // renders only one avatar
724 } 726 }
725 727
726 gGL.start();
727
728 return TRUE; 728 return TRUE;
729} 729}
730 730
@@ -823,6 +823,8 @@ void LLImagePreviewSculpted::setPreviewTarget(LLImageRaw* imagep, F32 distance)
823//----------------------------------------------------------------------------- 823//-----------------------------------------------------------------------------
824BOOL LLImagePreviewSculpted::render() 824BOOL LLImagePreviewSculpted::render()
825{ 825{
826 gGL.start();
827
826 mNeedsUpdate = FALSE; 828 mNeedsUpdate = FALSE;
827 829
828 LLGLSUIDefault def; 830 LLGLSUIDefault def;
@@ -917,6 +919,8 @@ BOOL LLImagePreviewSculpted::render()
917 delete [] normals; 919 delete [] normals;
918 } 920 }
919 921
922 gGL.stop();
923
920 return TRUE; 924 return TRUE;
921} 925}
922 926
diff --git a/linden/indra/newview/llglsandbox.cpp b/linden/indra/newview/llglsandbox.cpp
index 28b92fd..f63eaf3 100644
--- a/linden/indra/newview/llglsandbox.cpp
+++ b/linden/indra/newview/llglsandbox.cpp
@@ -1006,17 +1006,17 @@ void LLViewerObjectList::renderObjectBeacons()
1006 return; 1006 return;
1007 } 1007 }
1008 1008
1009 S32 i;
1010 //const LLFontGL *font = LLResMgr::getInstance()->getRes(LLFONT_SANSSERIF); 1009 //const LLFontGL *font = LLResMgr::getInstance()->getRes(LLFONT_SANSSERIF);
1011 1010
1012 LLGLSUIDefault gls_ui; 1011 LLGLSUIDefault gls_ui;
1013 1012
1014 S32 last_line_width = -1;
1015
1016 { 1013 {
1017 LLGLSNoTexture gls_ui_no_texture; 1014 LLGLSNoTexture gls_ui_no_texture;
1018 gGL.begin(GL_LINES); 1015
1019 for (i = 0; i < mDebugBeacons.count(); i++) 1016 S32 last_line_width = -1;
1017 // gGL.begin(GL_LINES); // Always happens in (line_width != last_line_width)
1018
1019 for (S32 i = 0; i < mDebugBeacons.count(); i++)
1020 { 1020 {
1021 const LLDebugBeacon &debug_beacon = mDebugBeacons[i]; 1021 const LLDebugBeacon &debug_beacon = mDebugBeacons[i];
1022 LLColor4 color = debug_beacon.mColor; 1022 LLColor4 color = debug_beacon.mColor;
@@ -1024,8 +1024,11 @@ void LLViewerObjectList::renderObjectBeacons()
1024 S32 line_width = debug_beacon.mLineWidth; 1024 S32 line_width = debug_beacon.mLineWidth;
1025 if (line_width != last_line_width) 1025 if (line_width != last_line_width)
1026 { 1026 {
1027 gGL.end(); 1027 if (i > 0)
1028 gGL.flush(); 1028 {
1029 gGL.end();
1030 gGL.flush();
1031 }
1029 glLineWidth( (F32)line_width ); 1032 glLineWidth( (F32)line_width );
1030 last_line_width = line_width; 1033 last_line_width = line_width;
1031 gGL.begin(GL_LINES); 1034 gGL.begin(GL_LINES);
@@ -1049,17 +1052,21 @@ void LLViewerObjectList::renderObjectBeacons()
1049 LLGLSNoTexture gls_ui_no_texture; 1052 LLGLSNoTexture gls_ui_no_texture;
1050 LLGLDepthTest gls_depth(GL_TRUE); 1053 LLGLDepthTest gls_depth(GL_TRUE);
1051 1054
1052 gGL.begin(GL_LINES); 1055 S32 last_line_width = -1;
1053 last_line_width = -1; 1056 // gGL.begin(GL_LINES); // Always happens in (line_width != last_line_width)
1054 for (i = 0; i < mDebugBeacons.count(); i++) 1057
1058 for (S32 i = 0; i < mDebugBeacons.count(); i++)
1055 { 1059 {
1056 const LLDebugBeacon &debug_beacon = mDebugBeacons[i]; 1060 const LLDebugBeacon &debug_beacon = mDebugBeacons[i];
1057 1061
1058 S32 line_width = debug_beacon.mLineWidth; 1062 S32 line_width = debug_beacon.mLineWidth;
1059 if (line_width != last_line_width) 1063 if (line_width != last_line_width)
1060 { 1064 {
1061 gGL.end(); 1065 if (i > 0)
1062 gGL.flush(); 1066 {
1067 gGL.end();
1068 gGL.flush();
1069 }
1063 glLineWidth( (F32)line_width ); 1070 glLineWidth( (F32)line_width );
1064 last_line_width = line_width; 1071 last_line_width = line_width;
1065 gGL.begin(GL_LINES); 1072 gGL.begin(GL_LINES);
@@ -1076,12 +1083,12 @@ void LLViewerObjectList::renderObjectBeacons()
1076 1083
1077 draw_line_cube(0.10f, thisline); 1084 draw_line_cube(0.10f, thisline);
1078 } 1085 }
1086
1079 gGL.end(); 1087 gGL.end();
1080
1081 gGL.flush(); 1088 gGL.flush();
1082 glLineWidth(1.f); 1089 glLineWidth(1.f);
1083 1090
1084 for (i = 0; i < mDebugBeacons.count(); i++) 1091 for (S32 i = 0; i < mDebugBeacons.count(); i++)
1085 { 1092 {
1086 LLDebugBeacon &debug_beacon = mDebugBeacons[i]; 1093 LLDebugBeacon &debug_beacon = mDebugBeacons[i];
1087 if (debug_beacon.mString == "") 1094 if (debug_beacon.mString == "")
diff --git a/linden/indra/newview/llimpanel.cpp b/linden/indra/newview/llimpanel.cpp
index 6f06117..3cb9dfb 100644
--- a/linden/indra/newview/llimpanel.cpp
+++ b/linden/indra/newview/llimpanel.cpp
@@ -1061,7 +1061,7 @@ LLFloaterIMPanel::LLFloaterIMPanel(
1061 mSessionUUID(session_id), 1061 mSessionUUID(session_id),
1062 mVoiceChannel(NULL), 1062 mVoiceChannel(NULL),
1063 mSessionInitialized(FALSE), 1063 mSessionInitialized(FALSE),
1064 1064 mSessionStartMsgPos(0),
1065 mOtherParticipantUUID(other_participant_id), 1065 mOtherParticipantUUID(other_participant_id),
1066 mDialog(dialog), 1066 mDialog(dialog),
1067 mTyping(FALSE), 1067 mTyping(FALSE),
@@ -1090,6 +1090,7 @@ LLFloaterIMPanel::LLFloaterIMPanel(
1090 mSessionUUID(session_id), 1090 mSessionUUID(session_id),
1091 mVoiceChannel(NULL), 1091 mVoiceChannel(NULL),
1092 mSessionInitialized(FALSE), 1092 mSessionInitialized(FALSE),
1093 mSessionStartMsgPos(0),
1093 mOtherParticipantUUID(other_participant_id), 1094 mOtherParticipantUUID(other_participant_id),
1094 mDialog(dialog), 1095 mDialog(dialog),
1095 mTyping(FALSE), 1096 mTyping(FALSE),
@@ -1182,6 +1183,7 @@ void LLFloaterIMPanel::init(const LLString& session_label)
1182 //we don't need to need to wait for any responses 1183 //we don't need to need to wait for any responses
1183 //so we're already initialized 1184 //so we're already initialized
1184 mSessionInitialized = TRUE; 1185 mSessionInitialized = TRUE;
1186 mSessionStartMsgPos = 0;
1185 } 1187 }
1186 else 1188 else
1187 { 1189 {
diff --git a/linden/indra/newview/lltexlayer.cpp b/linden/indra/newview/lltexlayer.cpp
index 66d9a33..5a0a843 100644
--- a/linden/indra/newview/lltexlayer.cpp
+++ b/linden/indra/newview/lltexlayer.cpp
@@ -244,6 +244,8 @@ BOOL LLTexLayerSetBuffer::render()
244 BOOL upload_now = (gAgent.mNumPendingQueries == 0 && mNeedsUpload && mTexLayerSet->isLocalTextureDataFinal()); 244 BOOL upload_now = (gAgent.mNumPendingQueries == 0 && mNeedsUpload && mTexLayerSet->isLocalTextureDataFinal());
245 BOOL success = TRUE; 245 BOOL success = TRUE;
246 246
247 gGL.start();
248
247 // Composite bump 249 // Composite bump
248 if( mBumpTexName ) 250 if( mBumpTexName )
249 { 251 {
@@ -295,6 +297,8 @@ BOOL LLTexLayerSetBuffer::render()
295 glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE ); 297 glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );
296 gGL.blendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); 298 gGL.blendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
297 299
300 gGL.stop();
301
298 // we have valid texture data now 302 // we have valid texture data now
299 mInitialized = TRUE; 303 mInitialized = TRUE;
300 mNeedsUpdate = FALSE; 304 mNeedsUpdate = FALSE;
diff --git a/linden/indra/newview/lltoolmorph.cpp b/linden/indra/newview/lltoolmorph.cpp
index 5b3f1eb..9acf3a0 100644
--- a/linden/indra/newview/lltoolmorph.cpp
+++ b/linden/indra/newview/lltoolmorph.cpp
@@ -163,6 +163,8 @@ void LLVisualParamHint::preRender(BOOL clear_depth)
163//----------------------------------------------------------------------------- 163//-----------------------------------------------------------------------------
164BOOL LLVisualParamHint::render() 164BOOL LLVisualParamHint::render()
165{ 165{
166 gGL.start();
167
166 LLVisualParamReset::sDirty = TRUE; 168 LLVisualParamReset::sDirty = TRUE;
167 LLVOAvatar* avatarp = gAgent.getAvatarObject(); 169 LLVOAvatar* avatarp = gAgent.getAvatarObject();
168 170
@@ -223,6 +225,7 @@ BOOL LLVisualParamHint::render()
223 LLVector3 camera_pos = target_joint_pos + (camera_snapshot_offset * avatar_rotation); 225 LLVector3 camera_pos = target_joint_pos + (camera_snapshot_offset * avatar_rotation);
224 226
225 gGL.stop(); 227 gGL.stop();
228
226 LLViewerCamera::getInstance()->setAspect((F32)mWidth / (F32)mHeight); 229 LLViewerCamera::getInstance()->setAspect((F32)mWidth / (F32)mHeight);
227 LLViewerCamera::getInstance()->setOriginAndLookAt( 230 LLViewerCamera::getInstance()->setOriginAndLookAt(
228 camera_pos, // camera 231 camera_pos, // camera
@@ -238,7 +241,7 @@ BOOL LLVisualParamHint::render()
238 avatarPoolp->renderAvatars(avatarp); // renders only one avatar 241 avatarPoolp->renderAvatars(avatarp); // renders only one avatar
239 } 242 }
240 avatarp->setVisualParamWeight(mVisualParam, mLastParamWeight); 243 avatarp->setVisualParamWeight(mVisualParam, mLastParamWeight);
241 gGL.start(); 244
242 return TRUE; 245 return TRUE;
243} 246}
244 247
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 6ee80a6..2459133 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -4897,12 +4897,12 @@ BOOL menu_check_build_tool( void* user_data )
4897void handle_reload_settings(void*) 4897void handle_reload_settings(void*)
4898{ 4898{
4899 gSavedSettings.resetToDefaults(); 4899 gSavedSettings.resetToDefaults();
4900 gSavedSettings.loadFromFile(gSavedSettings.getString("ClientSettingsFile"), TRUE); 4900 gSavedSettings.loadFromFile(gSavedSettings.getString("ClientSettingsFile"));
4901 4901
4902 llinfos << "Loading colors from colors.xml" << llendl; 4902 llinfos << "Loading colors from colors.xml" << llendl;
4903 std::string color_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"colors.xml"); 4903 std::string color_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"colors.xml");
4904 gColors.resetToDefaults(); 4904 gColors.resetToDefaults();
4905 gColors.loadFromFile(color_file, FALSE, TYPE_COL4U); 4905 gColors.loadFromFileLegacy(color_file, FALSE, TYPE_COL4U);
4906} 4906}
4907 4907
4908class LLWorldSetHomeLocation : public view_listener_t 4908class LLWorldSetHomeLocation : public view_listener_t
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index 592ef39..e9f100e 100644
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -5063,7 +5063,7 @@ void callback_load_url(S32 option, void* data)
5063 5063
5064 if (0 == option) 5064 if (0 == option)
5065 { 5065 {
5066 LLWeb::loadURL(infop->mUrl); 5066 LLWeb::loadURLExternal(infop->mUrl);
5067 } 5067 }
5068 5068
5069 delete infop; 5069 delete infop;
diff --git a/linden/indra/newview/llvovolume.cpp b/linden/indra/newview/llvovolume.cpp
index 188c277..6b5b9bb 100644
--- a/linden/indra/newview/llvovolume.cpp
+++ b/linden/indra/newview/llvovolume.cpp
@@ -766,9 +766,7 @@ void LLVOVolume::sculpt()
766 766
767 sculpt_height = raw_image->getHeight(); 767 sculpt_height = raw_image->getHeight();
768 sculpt_width = raw_image->getWidth(); 768 sculpt_width = raw_image->getWidth();
769 769 sculpt_components = raw_image->getComponents();
770 sculpt_components = raw_image->getComponents();
771 sculpt_data = raw_image->getData();
772 770
773 if(is_valid) 771 if(is_valid)
774 { 772 {
@@ -776,12 +774,18 @@ void LLVOVolume::sculpt()
776 } 774 }
777 if(!is_valid) 775 if(!is_valid)
778 { 776 {
779 sculpt_width = 0 ; 777 sculpt_width = 0;
780 sculpt_height = 0 ; 778 sculpt_height = 0;
779 sculpt_data = NULL ;
780 }
781 else
782 {
783 if (raw_image->getDataSize() < sculpt_height * sculpt_width * sculpt_components)
784 llerrs << "Sculpt: image data size = " << raw_image->getDataSize()
785 << " < " << sculpt_height << " x " << sculpt_width << " x " <<sculpt_components << llendl;
786
787 sculpt_data = raw_image->getData();
781 } 788 }
782
783 llassert_always(raw_image->getDataSize() >= sculpt_height * sculpt_width * sculpt_components);
784
785 getVolume()->sculpt(sculpt_width, sculpt_height, sculpt_components, sculpt_data, discard_level); 789 getVolume()->sculpt(sculpt_width, sculpt_height, sculpt_components, sculpt_data, discard_level);
786 } 790 }
787} 791}
diff --git a/linden/indra/newview/releasenotes.txt b/linden/indra/newview/releasenotes.txt
index 0243fd7..c87e237 100644
--- a/linden/indra/newview/releasenotes.txt
+++ b/linden/indra/newview/releasenotes.txt
@@ -1,3 +1,11 @@
1Release Notes for Second Life 1.20(4) April 24th, 2008
2=====================================
3Fixes:
4* VWR-6286 - changed the method LLControlGroup::loadFromFile to only load values of settings that are persistent
5* Instant Crash on Editing Appearance
6* Crash in LLFloaterIMPanel when starting conference
7* Crash on LLVOVolume::sculpt - newview/llvovolume.cpp
8
1Release Notes for Second Life 1.20(3) April 23th, 2008 9Release Notes for Second Life 1.20(3) April 23th, 2008
2===================================== 10=====================================
3Fixes: 11Fixes: