aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--linden/indra/cmake/CopyWinLibs.cmake52
-rw-r--r--linden/indra/lib/python/indra/util/llversion.py10
-rw-r--r--linden/indra/llcommon/llversionserver.h2
-rw-r--r--linden/indra/llcommon/llversionviewer.h4
-rw-r--r--linden/indra/newview/app_settings/settings.xml2
-rw-r--r--linden/indra/newview/build_win32_appConfig.py58
-rw-r--r--linden/indra/newview/llfloaterbulkpermission.cpp36
-rw-r--r--linden/indra/newview/llpreview.cpp1
-rwxr-xr-xlinden/indra/newview/viewer_manifest.py16
9 files changed, 164 insertions, 17 deletions
diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake
index 11f70b9..52f000f 100644
--- a/linden/indra/cmake/CopyWinLibs.cmake
+++ b/linden/indra/cmake/CopyWinLibs.cmake
@@ -190,6 +190,20 @@ if (MSVC80)
190 ${debug_msvc8_files} 190 ${debug_msvc8_files}
191 ) 191 )
192 set(all_targets ${all_targets} ${out_targets}) 192 set(all_targets ${all_targets} ${out_targets})
193
194 set(debug_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/Debug/${VIEWER_BINARY_NAME}.exe.config)
195 add_custom_command(
196 OUTPUT ${debug_appconfig_file}
197 COMMAND ${PYTHON_EXECUTABLE}
198 ARGS
199 ${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
200 ${CMAKE_CURRENT_BINARY_DIR}/Debug/Microsoft.VC80.DebugCRT.manifest
201 ${CMAKE_CURRENT_SOURCE_DIR}/SecondLifeDebug.exe.config
202 ${debug_appconfig_file}
203 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Debug/Microsoft.VC80.DebugCRT.manifest
204 COMMENT "Creating debug app config file"
205 )
206
193 endif (EXISTS ${debug_msvc8_redist_path}) 207 endif (EXISTS ${debug_msvc8_redist_path})
194 208
195 FIND_PATH(release_msvc8_redist_path msvcr80.dll 209 FIND_PATH(release_msvc8_redist_path msvcr80.dll
@@ -222,7 +236,43 @@ if (MSVC80)
222 ) 236 )
223 set(all_targets ${all_targets} ${out_targets}) 237 set(all_targets ${all_targets} ${out_targets})
224 238
239 set(release_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/Release/${VIEWER_BINARY_NAME}.exe.config)
240 add_custom_command(
241 OUTPUT ${release_appconfig_file}
242 COMMAND ${PYTHON_EXECUTABLE}
243 ARGS
244 ${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
245 ${CMAKE_CURRENT_BINARY_DIR}/Release/Microsoft.VC80.CRT.manifest
246 ${CMAKE_CURRENT_SOURCE_DIR}/SecondLife.exe.config
247 ${release_appconfig_file}
248 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Release/Microsoft.VC80.CRT.manifest
249 COMMENT "Creating release app config file"
250 )
251
252 set(relwithdebinfo_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/${VIEWER_BINARY_NAME}.exe.config)
253 add_custom_command(
254 OUTPUT ${relwithdebinfo_appconfig_file}
255 COMMAND ${PYTHON_EXECUTABLE}
256 ARGS
257 ${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
258 ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest
259 ${CMAKE_CURRENT_SOURCE_DIR}/SecondLife.exe.config
260 ${relwithdebinfo_appconfig_file}
261 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest
262 COMMENT "Creating relwithdebinfo app config file"
263 )
264
225 endif (EXISTS ${release_msvc8_redist_path}) 265 endif (EXISTS ${release_msvc8_redist_path})
226endif (MSVC80) 266endif (MSVC80)
227 267
228add_custom_target(copy_win_libs ALL DEPENDS ${all_targets}) 268add_custom_target(copy_win_libs ALL
269 DEPENDS
270 ${all_targets}
271 ${release_appconfig_file}
272 ${relwithdebinfo_appconfig_file}
273 ${debug_appconfig_file}
274 )
275
276if(EXISTS ${internal_llkdu_path})
277 add_dependencies(copy_win_libs llkdu)
278endif(EXISTS ${internal_llkdu_path})
diff --git a/linden/indra/lib/python/indra/util/llversion.py b/linden/indra/lib/python/indra/util/llversion.py
index 0e59c17..aedb947 100644
--- a/linden/indra/lib/python/indra/util/llversion.py
+++ b/linden/indra/lib/python/indra/util/llversion.py
@@ -43,7 +43,7 @@ def get_version_file_contents(version_type):
43 file.close() 43 file.close()
44 return file_str 44 return file_str
45 45
46def get_version(version_type): 46def get_version(version_type, revision=0):
47 file_str = get_version_file_contents(version_type) 47 file_str = get_version_file_contents(version_type)
48 m = re.search('const S32 IMP_VERSION_MAJOR = (\d+);', file_str) 48 m = re.search('const S32 IMP_VERSION_MAJOR = (\d+);', file_str)
49 VER_MAJOR = m.group(1) 49 VER_MAJOR = m.group(1)
@@ -61,11 +61,11 @@ def get_channel(version_type):
61 m = re.search('const char \* const LL_CHANNEL = "(.+)";', file_str) 61 m = re.search('const char \* const LL_CHANNEL = "(.+)";', file_str)
62 return m.group(1) 62 return m.group(1)
63 63
64def get_viewer_version(): 64def get_viewer_version(revision=0):
65 return get_version('viewer') 65 return get_version('viewer', revision)
66 66
67def get_server_version(): 67def get_server_version(revision=0):
68 return get_version('server') 68 return get_version('server', revision)
69 69
70def get_viewer_channel(): 70def get_viewer_channel():
71 return get_channel('viewer') 71 return get_channel('viewer')
diff --git a/linden/indra/llcommon/llversionserver.h b/linden/indra/llcommon/llversionserver.h
index 479b06d..3831479 100644
--- a/linden/indra/llcommon/llversionserver.h
+++ b/linden/indra/llcommon/llversionserver.h
@@ -36,7 +36,7 @@
36const S32 LL_VERSION_MAJOR = 1; 36const S32 LL_VERSION_MAJOR = 1;
37const S32 LL_VERSION_MINOR = 27; 37const S32 LL_VERSION_MINOR = 27;
38const S32 LL_VERSION_PATCH = 0; 38const S32 LL_VERSION_PATCH = 0;
39const S32 LL_VERSION_BUILD = 123523; 39const S32 LL_VERSION_BUILD = 136262;
40 40
41const char * const LL_CHANNEL = "Second Life Server"; 41const char * const LL_CHANNEL = "Second Life Server";
42 42
diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h
index 18a3182..6f4fffc 100644
--- a/linden/indra/llcommon/llversionviewer.h
+++ b/linden/indra/llcommon/llversionviewer.h
@@ -35,8 +35,8 @@
35 35
36const S32 LL_VERSION_MAJOR = 1; 36const S32 LL_VERSION_MAJOR = 1;
37const S32 LL_VERSION_MINOR = 23; 37const S32 LL_VERSION_MINOR = 23;
38const S32 LL_VERSION_PATCH = 4; 38const S32 LL_VERSION_PATCH = 5;
39const S32 LL_VERSION_BUILD = 123523; 39const S32 LL_VERSION_BUILD = 136262;
40 40
41const char * const LL_CHANNEL = "Imprudence"; 41const char * const LL_CHANNEL = "Imprudence";
42 42
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 2e08087..12d052c 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -7895,7 +7895,7 @@
7895 <key>Type</key> 7895 <key>Type</key>
7896 <string>S32</string> 7896 <string>S32</string>
7897 <key>Value</key> 7897 <key>Value</key>
7898 <integer>4096</integer> 7898 <integer>8192</integer>
7899 </map> 7899 </map>
7900 <key>RenderMaxVBOSize</key> 7900 <key>RenderMaxVBOSize</key>
7901 <map> 7901 <map>
diff --git a/linden/indra/newview/build_win32_appConfig.py b/linden/indra/newview/build_win32_appConfig.py
new file mode 100644
index 0000000..fb6a025
--- /dev/null
+++ b/linden/indra/newview/build_win32_appConfig.py
@@ -0,0 +1,58 @@
1# @file build_win32_appConfig.py
2# @brief Create the windows app.config file to redirect crt linkage.
3#
4# $LicenseInfo:firstyear=2009&license=viewergpl$
5#
6# Copyright (c) 2009, Linden Research, Inc.
7#
8# Second Life Viewer Source Code
9# The source code in this file ("Source Code") is provided by Linden Lab
10# to you under the terms of the GNU General Public License, version 2.0
11# ("GPL"), unless you have obtained a separate licensing agreement
12# ("Other License"), formally executed by you and Linden Lab. Terms of
13# the GPL can be found in doc/GPL-license.txt in this distribution, or
14# online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
15#
16# There are special exceptions to the terms and conditions of the GPL as
17# it is applied to this Source Code. View the full text of the exception
18# in the file doc/FLOSS-exception.txt in this software distribution, or
19# online at
20# http://secondlifegrid.net/programs/open_source/licensing/flossexception
21#
22# By copying, modifying or distributing this software, you acknowledge
23# that you have read and understood your obligations described above,
24# and agree to abide by those obligations.
25#
26# ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28# COMPLETENESS OR PERFORMANCE.
29# $/LicenseInfo$
30
31import sys, os, re
32from xml.dom.minidom import parse
33
34def main():
35 src_manifest_name = sys.argv[1]
36 src_config_name = sys.argv[2]
37 dst_config_name = sys.argv[3]
38
39 manifest_dom = parse(src_manifest_name)
40 node = manifest_dom.getElementsByTagName('assemblyIdentity')[0]
41 manifest_assm_ver = node.getAttribute('version')
42
43 config_dom = parse(src_config_name)
44 node = config_dom.getElementsByTagName('bindingRedirect')[0]
45 node.setAttribute('newVersion', manifest_assm_ver)
46 src_old_ver = re.match('([^-]*-).*', node.getAttribute('oldVersion')).group(1)
47 node.setAttribute('oldVersion', src_old_ver + manifest_assm_ver)
48 comment = config_dom.createComment("This file is automatically generated by the build. see indra/newview/build_win32_appConfig.py")
49 config_dom.insertBefore(comment, config_dom.childNodes[0])
50
51 f = open(dst_config_name, 'w')
52 config_dom.writexml(f)
53 f.close()
54
55 return 0
56
57if __name__ == "__main__":
58 main()
diff --git a/linden/indra/newview/llfloaterbulkpermission.cpp b/linden/indra/newview/llfloaterbulkpermission.cpp
index d4e1e98..6721661 100644
--- a/linden/indra/newview/llfloaterbulkpermission.cpp
+++ b/linden/indra/newview/llfloaterbulkpermission.cpp
@@ -281,6 +281,35 @@ void LLFloaterBulkPermission::handleInventory(LLViewerObject* viewer_obj, Invent
281 LLInventoryItem* item = (LLInventoryItem*)((LLInventoryObject*)(*it)); 281 LLInventoryItem* item = (LLInventoryItem*)((LLInventoryObject*)(*it));
282 LLViewerInventoryItem* new_item = (LLViewerInventoryItem*)item; 282 LLViewerInventoryItem* new_item = (LLViewerInventoryItem*)item;
283 LLPermissions perm(new_item->getPermissions()); 283 LLPermissions perm(new_item->getPermissions());
284 U32 flags = new_item->getFlags();
285
286 U32 desired_next_owner_perms = LLFloaterPerms::getNextOwnerPerms("BulkChange");
287 U32 desired_everyone_perms = LLFloaterPerms::getEveryonePerms("BulkChange");
288 U32 desired_group_perms = LLFloaterPerms::getGroupPerms("BulkChange");
289
290 // If next owner permissions have changed (and this is an object)
291 // then set the slam permissions flag so that they are applied on rez.
292 if((perm.getMaskNextOwner() != desired_next_owner_perms)
293 && (new_item->getType() == LLAssetType::AT_OBJECT))
294 {
295 flags |= LLInventoryItem::II_FLAGS_OBJECT_SLAM_PERM;
296 }
297 // If everyone permissions have changed (and this is an object)
298 // then set the overwrite everyone permissions flag so they
299 // are applied on rez.
300 if ((perm.getMaskEveryone() != desired_everyone_perms)
301 && (new_item->getType() == LLAssetType::AT_OBJECT))
302 {
303 flags |= LLInventoryItem::II_FLAGS_OBJECT_PERM_OVERWRITE_EVERYONE;
304 }
305 // If group permissions have changed (and this is an object)
306 // then set the overwrite group permissions flag so they
307 // are applied on rez.
308 if ((perm.getMaskGroup() != desired_group_perms)
309 && (new_item->getType() == LLAssetType::AT_OBJECT))
310 {
311 flags |= LLInventoryItem::II_FLAGS_OBJECT_PERM_OVERWRITE_GROUP;
312 }
284 313
285 // chomp the inventory name so it fits in the scroll window nicely 314 // chomp the inventory name so it fits in the scroll window nicely
286 // and the user can see the [OK] 315 // and the user can see the [OK]
@@ -303,10 +332,11 @@ void LLFloaterBulkPermission::handleInventory(LLViewerObject* viewer_obj, Invent
303 //|| something else // for next owner perms 332 //|| something else // for next owner perms
304 ) 333 )
305 { 334 {
306 perm.setMaskNext(LLFloaterPerms::getNextOwnerPerms("BulkChange")); 335 perm.setMaskNext(desired_next_owner_perms);
307 perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("BulkChange")); 336 perm.setMaskEveryone(desired_everyone_perms);
308 perm.setMaskGroup(LLFloaterPerms::getGroupPerms("BulkChange")); 337 perm.setMaskGroup(desired_group_perms);
309 new_item->setPermissions(perm); // here's the beef 338 new_item->setPermissions(perm); // here's the beef
339 new_item->setFlags(flags); // and the tofu
310 updateInventory(object,new_item,TASK_INVENTORY_ITEM_KEY,FALSE); 340 updateInventory(object,new_item,TASK_INVENTORY_ITEM_KEY,FALSE);
311 //status_text.setArg("[STATUS]", getString("status_ok_text")); 341 //status_text.setArg("[STATUS]", getString("status_ok_text"));
312 status_text.setArg("[STATUS]", ""); 342 status_text.setArg("[STATUS]", "");
diff --git a/linden/indra/newview/llpreview.cpp b/linden/indra/newview/llpreview.cpp
index 9961003..6e7c6e3 100644
--- a/linden/indra/newview/llpreview.cpp
+++ b/linden/indra/newview/llpreview.cpp
@@ -620,7 +620,6 @@ void LLPreview::setAssetId(const LLUUID& asset_id)
620 LLViewerObject* object = gObjectList.findObject(mObjectUUID); 620 LLViewerObject* object = gObjectList.findObject(mObjectUUID);
621 if(NULL == object) 621 if(NULL == object)
622 { 622 {
623 llwarns << "LLPreview::setAssetId() called on unrecognized object, UUID : " << mObjectUUID << llendl;
624 return; 623 return;
625 } 624 }
626 object->updateViewerInventoryAsset(item, asset_id); 625 object->updateViewerInventoryAsset(item, asset_id);
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py
index 39df657..35957a5 100755
--- a/linden/indra/newview/viewer_manifest.py
+++ b/linden/indra/newview/viewer_manifest.py
@@ -235,6 +235,18 @@ class WindowsManifest(ViewerManifest):
235 self.path("Microsoft.VC80.CRT.manifest") 235 self.path("Microsoft.VC80.CRT.manifest")
236 self.end_prefix() 236 self.end_prefix()
237 237
238 # The config file name needs to match the exe's name.
239 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst=self.final_exe() + ".config")
240
241 # We need this one too, so that llkdu loads at runtime - DEV-41194
242 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst="llkdu.dll.2.config")
243
244 # We need this one too, so that win_crash_logger.exe loads at runtime - DEV-19004
245 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst="win_crash_logger.exe.config")
246
247 # same thing for auto-updater.
248 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst="updater.exe.config")
249
238 # Mozilla runtime DLLs (CP) 250 # Mozilla runtime DLLs (CP)
239 if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): 251 if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
240 self.path("freebl3.dll") 252 self.path("freebl3.dll")
@@ -263,9 +275,6 @@ class WindowsManifest(ViewerManifest):
263 275
264 # Mozilla hack to get it to accept newer versions of msvc*80.dll than are listed in manifest 276 # Mozilla hack to get it to accept newer versions of msvc*80.dll than are listed in manifest
265 # necessary as llmozlib2-vc80.lib refers to an old version of msvc*80.dll - can be removed when new version of llmozlib is built - Nyx 277 # necessary as llmozlib2-vc80.lib refers to an old version of msvc*80.dll - can be removed when new version of llmozlib is built - Nyx
266 # The config file name needs to match the exe's name.
267 self.path("SecondLife.exe.config", dst=self.final_exe() + ".config")
268
269 # Vivox runtimes 278 # Vivox runtimes
270 if self.prefix(src="vivox-runtime/i686-win32", dst=""): 279 if self.prefix(src="vivox-runtime/i686-win32", dst=""):
271 # self.path("alut.dll") 280 # self.path("alut.dll")
@@ -802,6 +811,7 @@ class Linux_i686Manifest(LinuxManifest):
802 super(Linux_i686Manifest, self).construct() 811 super(Linux_i686Manifest, self).construct()
803 self.path("imprudence-stripped","bin/do-not-directly-run-imprudence-bin") 812 self.path("imprudence-stripped","bin/do-not-directly-run-imprudence-bin")
804# self.path("../linux_crash_logger/linux-crash-logger-stripped","linux-crash-logger.bin") 813# self.path("../linux_crash_logger/linux-crash-logger-stripped","linux-crash-logger.bin")
814
805 self.path("linux_tools/launch_url.sh","launch_url.sh") 815 self.path("linux_tools/launch_url.sh","launch_url.sh")
806 if self.prefix("res-sdl"): 816 if self.prefix("res-sdl"):
807 self.path("*") 817 self.path("*")