diff options
-rw-r--r-- | linden/indra/cmake/CopyWinLibs.cmake | 52 | ||||
-rw-r--r-- | linden/indra/lib/python/indra/util/llversion.py | 10 | ||||
-rw-r--r-- | linden/indra/llcommon/llversionserver.h | 2 | ||||
-rw-r--r-- | linden/indra/llcommon/llversionviewer.h | 4 | ||||
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | linden/indra/newview/build_win32_appConfig.py | 58 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterbulkpermission.cpp | 36 | ||||
-rw-r--r-- | linden/indra/newview/llpreview.cpp | 1 | ||||
-rwxr-xr-x | linden/indra/newview/viewer_manifest.py | 16 |
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}) |
226 | endif (MSVC80) | 266 | endif (MSVC80) |
227 | 267 | ||
228 | add_custom_target(copy_win_libs ALL DEPENDS ${all_targets}) | 268 | add_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 | |||
276 | if(EXISTS ${internal_llkdu_path}) | ||
277 | add_dependencies(copy_win_libs llkdu) | ||
278 | endif(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 | ||
46 | def get_version(version_type): | 46 | def 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 | ||
64 | def get_viewer_version(): | 64 | def get_viewer_version(revision=0): |
65 | return get_version('viewer') | 65 | return get_version('viewer', revision) |
66 | 66 | ||
67 | def get_server_version(): | 67 | def get_server_version(revision=0): |
68 | return get_version('server') | 68 | return get_version('server', revision) |
69 | 69 | ||
70 | def get_viewer_channel(): | 70 | def 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 @@ | |||
36 | const S32 LL_VERSION_MAJOR = 1; | 36 | const S32 LL_VERSION_MAJOR = 1; |
37 | const S32 LL_VERSION_MINOR = 27; | 37 | const S32 LL_VERSION_MINOR = 27; |
38 | const S32 LL_VERSION_PATCH = 0; | 38 | const S32 LL_VERSION_PATCH = 0; |
39 | const S32 LL_VERSION_BUILD = 123523; | 39 | const S32 LL_VERSION_BUILD = 136262; |
40 | 40 | ||
41 | const char * const LL_CHANNEL = "Second Life Server"; | 41 | const 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 | ||
36 | const S32 LL_VERSION_MAJOR = 1; | 36 | const S32 LL_VERSION_MAJOR = 1; |
37 | const S32 LL_VERSION_MINOR = 23; | 37 | const S32 LL_VERSION_MINOR = 23; |
38 | const S32 LL_VERSION_PATCH = 4; | 38 | const S32 LL_VERSION_PATCH = 5; |
39 | const S32 LL_VERSION_BUILD = 123523; | 39 | const S32 LL_VERSION_BUILD = 136262; |
40 | 40 | ||
41 | const char * const LL_CHANNEL = "Imprudence"; | 41 | const 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 | |||
31 | import sys, os, re | ||
32 | from xml.dom.minidom import parse | ||
33 | |||
34 | def 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 | |||
57 | if __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("*") |