diff options
author | Jacek Antonelli | 2008-08-15 23:45:45 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:45 -0500 |
commit | b1831d23bfdd0c876ac8cf687d6d3cf02345e28e (patch) | |
tree | e977d6563859940ad05af08b7bc150f57a7cb548 /linden/indra/newview | |
parent | Second Life viewer sources 1.20.3 (diff) | |
download | meta-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.xml | 2 | ||||
-rw-r--r-- | linden/indra/newview/lldynamictexture.cpp | 6 | ||||
-rw-r--r-- | linden/indra/newview/llfloateranimpreview.cpp | 3 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterimagepreview.cpp | 8 | ||||
-rw-r--r-- | linden/indra/newview/llglsandbox.cpp | 35 | ||||
-rw-r--r-- | linden/indra/newview/llimpanel.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/lltexlayer.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/lltoolmorph.cpp | 5 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llviewermessage.cpp | 2 | ||||
-rw-r--r-- | linden/indra/newview/llvovolume.cpp | 20 | ||||
-rw-r--r-- | linden/indra/newview/releasenotes.txt | 8 |
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 | //----------------------------------------------------------------------------- |
668 | BOOL LLImagePreviewAvatar::render() | 668 | BOOL 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 | //----------------------------------------------------------------------------- |
824 | BOOL LLImagePreviewSculpted::render() | 824 | BOOL 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 | //----------------------------------------------------------------------------- |
164 | BOOL LLVisualParamHint::render() | 164 | BOOL 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 ) | |||
4897 | void handle_reload_settings(void*) | 4897 | void 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 | ||
4908 | class LLWorldSetHomeLocation : public view_listener_t | 4908 | class 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 @@ | |||
1 | Release Notes for Second Life 1.20(4) April 24th, 2008 | ||
2 | ===================================== | ||
3 | Fixes: | ||
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 | |||
1 | Release Notes for Second Life 1.20(3) April 23th, 2008 | 9 | Release Notes for Second Life 1.20(3) April 23th, 2008 |
2 | ===================================== | 10 | ===================================== |
3 | Fixes: | 11 | Fixes: |