diff --git a/autobuild.xml b/autobuild.xml index fae62987e7..011fbf7526 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1834,9 +1834,9 @@ archive hash - 75991f598df209713faf94b4a1cb1a89 + 814bec3fa5045a18dce2bc4ce78b585d url - file:///opt/firestorm/kdu-7.A.3-darwin-180711129.tar.bz2 + file:///opt/firestorm/kdu-7.A.4-darwin-180792321.tar.bz2 name darwin @@ -1846,9 +1846,9 @@ archive hash - 75991f598df209713faf94b4a1cb1a89 + 814bec3fa5045a18dce2bc4ce78b585d url - file:///opt/firestorm/kdu-7.A.3-darwin-180711129.tar.bz2 + file:///opt/firestorm/kdu-7.A.4-darwin-180792321.tar.bz2 name darwin64 diff --git a/indra/newview/fs_viewer_manifest.py b/indra/newview/fs_viewer_manifest.py index ac01817eea..69871cd653 100644 --- a/indra/newview/fs_viewer_manifest.py +++ b/indra/newview/fs_viewer_manifest.py @@ -103,11 +103,11 @@ class FSViewerManifest: self.run_command_shell( "cd %s && objcopy --add-gnu-debuglink=%s %s" % (debugDir, debugName, fileBin) ) - if( os.path.exists( "%s/firestorm-symbols-linux.tar.bz2" % self.args['configuration'].lower()) ): - symName = "%s/Phoenix_%s_%s_%s_symbols-linux.tar.bz2" % ( self.args['configuration'].lower(), self.fs_channel_legacy_oneword(), - '-'.join( self.args['version'] ), self.args['viewer_flavor'] ) + if( os.path.exists( "%s/firestorm-symbols-linux-%d.tar.bz2" % (self.args['configuration'].lower(), self.address_size)) ): + symName = "%s/Phoenix_%s_%s_%s_symbols-linux-%d.tar.bz2" % ( self.args['configuration'].lower(), self.fs_channel_legacy_oneword(), + '-'.join( self.args['version'] ), self.args['viewer_flavor'], self.address_size ) print( "Saving symbols %s" % symName ) - os.rename("%s/firestorm-symbols-linux.tar.bz2" % self.args['configuration'].lower(), symName ) + os.rename("%s/firestorm-symbols-linux-%d.tar.bz2" % (self.args['configuration'].lower(), self.address_size), symName ) def fs_linux_tar_excludes(self): return "--exclude core --exclude .debug/* --exclude .debug" @@ -115,17 +115,19 @@ class FSViewerManifest: def fs_save_windows_symbols(self, substitution_strings): #AO: Try to package up symbols # New Method, for reading cross platform stack traces on a linux/mac host - if (os.path.exists("%s/firestorm-symbols-windows.tar.bz2" % self.args['configuration'].lower())): + if (os.path.exists("%s/firestorm-symbols-windows-%d.tar.bz2" % (self.args['configuration'].lower(), + self.address_size))): # Rename to add version numbers - sName = "%s/Phoenix_%s_%s_%s_symbols-windows.tar.bz2" % (self.args['configuration'].lower(), + sName = "%s/Phoenix_%s_%s_%s_symbols-windows-%d.tar.bz2" % (self.args['configuration'].lower(), self.fs_channel_legacy_oneword(), substitution_strings['version_dashes'], - self.args['viewer_flavor']) + self.args['viewer_flavor'], + self.address_size) if os.path.exists( sName ): os.unlink( sName ) - os.rename("%s/firestorm-symbols-windows.tar.bz2" % self.args['configuration'].lower(), sName ) + os.rename("%s/firestorm-symbols-windows-%d.tar.bz2" % (self.args['configuration'].lower(), self.address_size), sName ) pdbName = "firestorm-bin.pdb" try: @@ -141,10 +143,11 @@ class FSViewerManifest: # Store windows symbols we want to keep for debugging in a tar file, this will be later compressed with xz (lzma) # Using tat+xz gives far superior compression than zip (~half the size of the zip archive). # Python3 natively supports tar+xz via mode 'w:xz'. But we're stuck with Python2 for now. - symbolTar = tarfile.TarFile("%s/Phoenix_%s_%s_%s_pdbsymbols-windows.tar" % (self.args['configuration'].lower(), + symbolTar = tarfile.TarFile("%s/Phoenix_%s_%s_%s_pdbsymbols-windows-%d.tar" % (self.args['configuration'].lower(), self.fs_channel_legacy_oneword(), substitution_strings['version_dashes'], - self.args['viewer_flavor']), + self.args['viewer_flavor'], + self.address_size), 'w') symbolTar.add( "%s/Firestorm-bin.exe" % self.args['configuration'].lower(), "firestorm-bin.exe" ) symbolTar.add( "%s/%s" % (self.args['configuration'].lower(),pdbName), pdbName ) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 4f817a9f0d..84c7046fb7 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1144,10 +1144,11 @@ bool LLAppViewer::init() if (!initCache()) { + LL_WARNS("InitInfo") << "Failed to init cache" << LL_ENDL; std::ostringstream msg; msg << LLTrans::getString("MBUnableToAccessFile"); OSMessageBox(msg.str(),LLStringUtil::null,OSMB_OK); - return 1; + return 0; } LL_INFOS("InitInfo") << "Cache initialization is done." << LL_ENDL ; @@ -1691,7 +1692,7 @@ bool LLAppViewer::doFrame() // Render scene. // *TODO: Should we run display() even during gHeadlessClient? DK 2011-02-18 - if (!LLApp::isExiting() && !gHeadlessClient) + if (!LLApp::isExiting() && !gHeadlessClient && gViewerWindow) { pingMainloopTimeout("Main:Display"); gGLActive = TRUE; diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp index b1976a48ab..3c2aef2b88 100644 --- a/indra/newview/llimprocessing.cpp +++ b/indra/newview/llimprocessing.cpp @@ -2109,7 +2109,7 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url) if (!status) // success = httpResults["success"].asBoolean(); { - LL_WARNS() << "Error requesting offline messages via capability " << url << ", Status: " << status.toString() << "\nFalling back to legacy method." << LL_ENDL; + LL_WARNS("Messaging") << "Error requesting offline messages via capability " << url << ", Status: " << status.toString() << "\nFalling back to legacy method." << LL_ENDL; requestOfflineMessagesLegacy(); return; @@ -2119,10 +2119,11 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url) if (!contents.size()) { - LL_WARNS() << "No contents received for offline messages via capability " << url << LL_ENDL; + LL_WARNS("Messaging") << "No contents received for offline messages via capability " << url << LL_ENDL; return; } + // Todo: once dirtsim-369 releases, remove one of the map/array options LLSD messages; if (contents.isArray()) { @@ -2134,16 +2135,24 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url) } else { - LL_WARNS() << "Invalid offline message content received via capability " << url << LL_ENDL; + LL_WARNS("Messaging") << "Invalid offline message content received via capability " << url << LL_ENDL; return; } if (!messages.isArray()) { - LL_WARNS() << "Invalid offline message content received via capability " << url << LL_ENDL; + LL_WARNS("Messaging") << "Invalid offline message content received via capability " << url << LL_ENDL; return; } + if (messages.emptyArray()) + { + // Nothing to process + return; + } + + LL_INFOS("Messaging") << "Processing offline messages." << LL_ENDL; + std::vector data; S32 binary_bucket_size = 0; LLHost sender = gAgent.getRegion()->getHost(); @@ -2156,10 +2165,21 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url) LLVector3 position(message_data["local_x"].asReal(), message_data["local_y"].asReal(), message_data["local_z"].asReal()); data = message_data["binary_bucket"].asBinary(); binary_bucket_size = data.size(); // message_data["count"] == data.size() - 1 due to ('\0') - U32 parent_estate_id = message_data.has("parent_estate_id") ? message_data["ParentEstateID"].asInteger() : 1; // 1 - IMMainland + U32 parent_estate_id = message_data.has("parent_estate_id") ? message_data["parent_estate_id"].asInteger() : 1; // 1 - IMMainland + + // Todo: once dirtsim-369 releases, remove one of the int/str options + BOOL from_group; + if (message_data["from_group"].isInteger()) + { + from_group = message_data["from_group"].asInteger(); + } + else + { + from_group = message_data["from_group"].asString() == "Y"; + } LLIMProcessing::processNewMessage(message_data["from_agent_id"].asUUID(), - message_data["from_group"].asInteger(), // BOOL + from_group, message_data["to_agent_id"].asUUID(), IM_OFFLINE, (EInstantMessage)message_data["dialog"].asInteger(), @@ -2178,6 +2198,8 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url) void LLIMProcessing::requestOfflineMessagesLegacy() { + LL_INFOS("Messaging") << "Requesting offline messages (Legacy)." << LL_ENDL; + LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_RetrieveInstantMessages); msg->nextBlockFast(_PREHASH_AgentData); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index ccb473d825..f91f263c6f 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -557,6 +557,13 @@ void set_flags_and_update_appearance() // true when all initialization done. bool idle_startup() { + if (gViewerWindow == NULL) + { + // We expect window to be initialized + LL_WARNS_ONCE() << "gViewerWindow is not initialized" << LL_ENDL; + return false; // No world yet + } + const F32 PRECACHING_DELAY = gSavedSettings.getF32("PrecachingDelay"); static LLTimer timeout; diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index c2a5943982..6dd3a45602 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -13,7 +13,7 @@ reuse_instance="true" title="Appearance" min_height="200" - min_width="325" + min_width="351" width="333">