From 8053bceaa0ccd6128536375c21cc3e9e19429efa Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 26 Jun 2019 15:08:50 -0400 Subject: DRTVWR-476: Pass Obj-C++ switch needed for BugsplatMac on Xcode 10.2. --- indra/newview/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 766dc5226c..c18b2c9a95 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) -- cgit v1.2.3 From 5d671ff2109656992ac675d7fb70ff48a25dea9a Mon Sep 17 00:00:00 2001 From: Brad Kittenbrink Date: Wed, 25 Sep 2019 12:53:38 -0700 Subject: Disabled broken automatic code signing for local development when using Xcode 11 --- indra/cmake/Variables.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 2b54cd4155..19b2ac313e 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -186,12 +186,16 @@ 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 + # "-" 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}") -- cgit v1.2.3 From c0b13466f1294ca6b8889ed7765926d5ed7f3b0d Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 25 Sep 2019 16:46:49 -0400 Subject: DRTVWR-476: Add Stack Overflow link for Brad's Xcode 11 signing fix. --- indra/cmake/Variables.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 19b2ac313e..a5770c5528 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -194,6 +194,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # 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 "") -- cgit v1.2.3 From 52c9f57819fe541980d0f2668afa31376f1bb29e Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 25 Sep 2019 16:48:36 -0400 Subject: DRTVWR-476: Track change to NSView in Xcode 11's 10.15 SDK. --- indra/llwindow/llopenglview-objc.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 33eed7227a..247e6f8186 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -825,7 +825,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 } } @@ -849,7 +849,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 } } -- cgit v1.2.3 From 3feba8be0d91a28851d6e606c917508924bc549f Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Tue, 1 Oct 2019 16:49:33 -0700 Subject: SL-11430: Transaction ID is passed as aux_id from offline message. No special parsing required to get type from binary_bucket. --- indra/newview/llimprocessing.cpp | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp index 5b9ef7e60a..322a5f410c 100644 --- a/indra/newview/llimprocessing.cpp +++ b/indra/newview/llimprocessing.cpp @@ -854,39 +854,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 > tokenizer; - boost::char_separator 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; -- cgit v1.2.3