summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreyL ProductEngine <alihatskiy@productengine.com>2019-10-09 19:32:19 +0300
committerAndreyL ProductEngine <alihatskiy@productengine.com>2019-10-09 19:32:19 +0300
commit12baf7587822bd6cd15885c45e973d0b7f9dceb4 (patch)
tree27ff68e9808f4b448bdb3b98da2c576f1dc4aa28
parent7829b4d3f46ff21d1d932b06f4721760ebbde014 (diff)
parentfe490d52b45679edf5740fa46fc3c76d608bfc95 (diff)
Downstream merge from lindenlab/viewer-manul
-rw-r--r--indra/cmake/Variables.cmake9
-rw-r--r--indra/llwindow/llopenglview-objc.mm4
-rw-r--r--indra/newview/CMakeLists.txt8
-rw-r--r--indra/newview/llimprocessing.cpp35
4 files changed, 22 insertions, 34 deletions
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index 2b54cd4155..a5770c5528 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -186,12 +186,17 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
list(GET LL_BUILD_LIST "${sysroot_idx}" CMAKE_OSX_SYSROOT)
message(STATUS "CMAKE_OSX_SYSROOT = '${CMAKE_OSX_SYSROOT}'")
- set(XCODE_VERSION 7.0)
-
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO)
set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH NO)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS ssse3)
+ # we must hard code this to off for now. xcode's built in signing does not
+ # handle embedded app bundles such as CEF and others. Any signing for local
+ # development must be done after the build as we do in viewer_manifest.py for
+ # released builds
+ # https://stackoverflow.com/a/54296008
+ # "-" represents "Sign to Run Locally" and empty string represents "Do Not Sign"
+ set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
set(CMAKE_OSX_ARCHITECTURES "${ARCH}")
string(REPLACE "i686" "i386" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}")
diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm
index d93c1b5b36..5b9dce02c4 100644
--- a/indra/llwindow/llopenglview-objc.mm
+++ b/indra/llwindow/llopenglview-objc.mm
@@ -816,7 +816,7 @@ attributedStringInfo getSegments(NSAttributedString *str)
[super setMarkedText:aString selectedRange:selectedRange replacementRange:replacementRange];
if ([aString length] == 0) // this means Input Widow becomes empty
{
- [_window orderOut:_window]; // Close this to avoid empty Input Window
+ [self.window orderOut:self.window]; // Close this to avoid empty Input Window
}
}
@@ -840,7 +840,7 @@ attributedStringInfo getSegments(NSAttributedString *str)
(mKeyPressed >= 0xF700 && mKeyPressed <= 0xF8FF))
{
// this is case a) of above comment
- [_window orderOut:_window]; // to avoid empty Input Window
+ [self.window orderOut:self.window]; // to avoid empty Input Window
}
}
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 95a916d7cb..6089162190 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1381,8 +1381,12 @@ if (DARWIN)
PROPERTIES
COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}"
# BugsplatMac is a module, imported with @import. That language feature
- # demands these switches.
- COMPILE_FLAGS "-fmodules -fcxx-modules"
+ # demands these -f switches.
+ # Xcode 10.2 requires that Objective-C++ headers declare nullability of
+ # pointer variables. As of 2019-06-26, the BugsplatMac version we're using
+ # does not yet do so in its own header files. This -W flag prevents fatal
+ # warnings.
+ COMPILE_FLAGS "-fmodules -fcxx-modules -Wno-nullability-completeness"
)
find_library(AGL_LIBRARY AGL)
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp
index 42043a03f2..24f40c8182 100644
--- a/indra/newview/llimprocessing.cpp
+++ b/indra/newview/llimprocessing.cpp
@@ -855,39 +855,18 @@ void LLIMProcessing::processNewMessage(LLUUID from_id,
}
else // IM_TASK_INVENTORY_OFFERED
{
- if (offline == IM_OFFLINE && session_id.isNull() && aux_id.notNull() && binary_bucket_size > sizeof(S8)* 5)
- {
- // cap received offline message
- std::string str_bucket = ll_safe_string((char*)binary_bucket, binary_bucket_size);
- typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
- boost::char_separator<char> sep("|", "", boost::keep_empty_tokens);
- tokenizer tokens(str_bucket, sep);
- tokenizer::iterator iter = tokens.begin();
-
- info->mType = (LLAssetType::EType)(atoi((*(iter++)).c_str()));
- // Note There is more elements in 'tokens' ...
-
- info->mObjectID = LLUUID::null;
- info->mFromObject = TRUE;
- }
- else
- {
- if (sizeof(S8) != binary_bucket_size)
- {
- LL_WARNS("Messaging") << "Malformed inventory offer from object" << LL_ENDL;
- delete info;
- break;
- }
- info->mType = (LLAssetType::EType) binary_bucket[0];
- info->mObjectID = LLUUID::null;
- info->mFromObject = TRUE;
- }
+ info->mType = (LLAssetType::EType) binary_bucket[0];
+ info->mObjectID = LLUUID::null;
+ info->mFromObject = TRUE;
}
+ // In the case of an offline message, the transaction id will be in aux_id and th session_id will be null
+ // (conversely when online the transaction id is passed as session_id)
+ info->mTransactionID = session_id.isNull() ? aux_id : session_id;
+
info->mIM = dialog;
info->mFromID = from_id;
info->mFromGroup = from_group;
- info->mTransactionID = session_id;
info->mFolderID = gInventory.findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(info->mType));
info->mFromName = name;