diff --git a/README_BUILD_FIRESTORM_LINUX.txt b/README_BUILD_FIRESTORM_LINUX.txt index b83c57fb0f..3aa979da25 100755 --- a/README_BUILD_FIRESTORM_LINUX.txt +++ b/README_BUILD_FIRESTORM_LINUX.txt @@ -27,6 +27,12 @@ Other examples: autobuild build -A64 -c ReleaseFS --no-configure -- --clean # Clean rebuild autobuild build -A64 -c ReleaseFS -- --package # Complete a build and package it into a tarball +When using the --package switch you can set the XZ_DEFAULTS variable to -T0 to use all available CPU cores +to create the .tar.xz file. This can significantly reduce the time needed to create the archive, but it will +use a lot more memory. For example: + export XZ_DEFAULTS="-T0" + autobuild build -A64 -c ReleaseFS_open -- --package + If you want to build with clang you can call autobuild like this: CC=clang CXX=clang++ autobuild configure -A64 -c ReleaseFS diff --git a/indra/cmake/MediaPluginBase.cmake b/indra/cmake/MediaPluginBase.cmake index cde56fb5e4..17890c25fd 100644 --- a/indra/cmake/MediaPluginBase.cmake +++ b/indra/cmake/MediaPluginBase.cmake @@ -6,24 +6,18 @@ if (LINUX) include_directories( ${GLIB_INCLUDE_DIRS} ) - set( PULSE_AUDIO True ) foreach( PULSE_FILE pulse/introspect.h pulse/context.h pulse/subscribe.h pulse/glib-mainloop.h ) - find_path( PULSE_FILE_FOUND ${PULSE_FILE} NO_CACHE) - if( NOT PULSE_FILE_FOUND ) + find_path( PULSE_FILE_${PULSE_FILE}_FOUND ${PULSE_FILE} NO_CACHE) + if( NOT PULSE_FILE_${PULSE_FILE}_FOUND ) message( "Looking for ${PULSE_FILE} ... not found") - set( PULSE_AUDIO False ) + message( FATAL_ERROR "Pulse header not found" ) else() message( "Looking for ${PULSE_FILE} ... found") endif() endforeach() - if( NOT PULSE_AUDIO ) - message( "Building without linux volume catcher" ) - set(LINUX_VOLUME_CATCHER dummy_volume_catcher.cpp) - else() - message( "Building with linux volume catcher" ) - set(LINUX_VOLUME_CATCHER linux_volume_catcher.cpp) - endif() + message( "Building with linux volume catcher" ) + set(LINUX_VOLUME_CATCHER linux_volume_catcher.cpp) endif() diff --git a/indra/llaudio/CMakeLists.txt b/indra/llaudio/CMakeLists.txt index 92a5cfe22f..804b36b226 100644 --- a/indra/llaudio/CMakeLists.txt +++ b/indra/llaudio/CMakeLists.txt @@ -11,7 +11,7 @@ include(LLMath) include(LLMessage) include(LLFileSystem) -include_directories( +include_directories( SYSTEM ${LLAUDIO_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS} ${LLMATH_INCLUDE_DIRS} diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index d5cc14ff55..a1ee1cb7ba 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -47,6 +47,12 @@ #include #include +// Suppress warnings about the string fiddling +#if LL_LINUX +#pragma GCC diagnostic ignored "-Wstringop-truncation" +#endif +// + // U32 LLSD ll_sd_from_U32(const U32 val) { diff --git a/indra/llfilesystem/lldir.cpp b/indra/llfilesystem/lldir.cpp index 9580c846fc..75ce6aa478 100644 --- a/indra/llfilesystem/lldir.cpp +++ b/indra/llfilesystem/lldir.cpp @@ -648,7 +648,7 @@ std::string LLDir::getExpandedFilename(ELLPath location, const std::string& subd llassert(0); } - if (prefix.empty()) + if (prefix.empty() && location != LL_PATH_NONE) // avoid pointless warning when LL_PATH_NONE is used. { LL_WARNS() << ELLPathToString(location) << ", '" << subdir1 << "', '" << subdir2 << "', '" << in_filename diff --git a/indra/llmessage/llnamevalue.cpp b/indra/llmessage/llnamevalue.cpp index c51883ee3d..6076439518 100644 --- a/indra/llmessage/llnamevalue.cpp +++ b/indra/llmessage/llnamevalue.cpp @@ -35,6 +35,12 @@ #include "llstring.h" #include "llstringtable.h" +// Suppress warnings about the string fiddling +#if LL_LINUX +#pragma GCC diagnostic ignored "-Wstringop-truncation" +#endif +// + // Anonymous enumeration to provide constants in this file. // *NOTE: These values may be used in sscanf statements below as their // value-1, so search for '2047' if you cange NV_BUFFER_LEN or '63' if diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm index 7d54bdaee2..41db6ae98e 100644 --- a/indra/llwindow/llwindowmacosx-objc.mm +++ b/indra/llwindow/llwindowmacosx-objc.mm @@ -106,13 +106,13 @@ const unsigned short *copyFromPBoard() CursorRef createImageCursor(const char *fullpath, int hotspotX, int hotspotY) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - + // extra retain on the NSCursor since we want it to live for the lifetime of the app. NSCursor *cursor = [[[NSCursor alloc] initWithImage: [[[NSImage alloc] initWithContentsOfFile: - [NSString stringWithFormat:@"%s", fullpath] + [NSString stringWithUTF8String:fullpath] ]autorelease] hotSpot:NSMakePoint(hotspotX, hotspotY) ]retain]; diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index cf86841642..6c85f2c21b 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -1712,7 +1712,7 @@ void LLWindowMacOSX::hideCursor() void LLWindowMacOSX::showCursor() { - if(mCursorHidden) + if(mCursorHidden || !isCGCursorVisible()) { // LL_INFOS() << "showCursor: showing" << LL_ENDL; mCursorHidden = FALSE; diff --git a/indra/newview/fspanellogin.cpp b/indra/newview/fspanellogin.cpp index ca6387f036..0b6802a406 100644 --- a/indra/newview/fspanellogin.cpp +++ b/indra/newview/fspanellogin.cpp @@ -873,6 +873,15 @@ void FSPanelLogin::loadLoginPage() std::string force_login_url = gSavedSettings.getString("ForceLoginURL"); if ( force_login_url.length() > 0 ) { + LLNotificationsUtil::add("WarnForceLoginURL", LLSD(), LLSD(), [](const LLSD¬if, const LLSD&resp) + { + S32 opt = LLNotificationsUtil::getSelectedOption(notif, resp); + if (opt == 0) + { + gSavedSettings.setString("ForceLoginURL", ""); + loadLoginPage(); + } + }); login_page = LLURI(force_login_url); } diff --git a/indra/newview/fsperfstats.h b/indra/newview/fsperfstats.h index 7ada042a6a..d6ff6fffb1 100644 --- a/indra/newview/fsperfstats.h +++ b/indra/newview/fsperfstats.h @@ -202,7 +202,6 @@ namespace FSPerfStats { FSZone; // LL_INFOS("perfstats") << "processing update:" << LL_ENDL; - using ST = StatType_t; // Note: nullptr is used as the key for global stats #ifdef FS_HAS_TELEMETRY_SUPPORT static char avstr[36]; diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp index 5bdfa0725e..16a181d002 100644 --- a/indra/newview/llappviewerlinux.cpp +++ b/indra/newview/llappviewerlinux.cpp @@ -247,14 +247,14 @@ void viewerappapi_init(ViewerAppAPI *server) gBusNodeInfo = g_dbus_node_info_new_for_xml (DBUS_SERVER, NULL); g_assert (gBusNodeInfo != NULL); - auto owner_id = g_bus_own_name(G_BUS_TYPE_SESSION, - VIEWERAPI_SERVICE, - G_BUS_NAME_OWNER_FLAGS_NONE, - busAcquired, - nameAcquired, - nameLost, - NULL, - NULL); + g_bus_own_name(G_BUS_TYPE_SESSION, + VIEWERAPI_SERVICE, + G_BUS_NAME_OWNER_FLAGS_NONE, + busAcquired, + nameAcquired, + nameLost, + NULL, + NULL); } @@ -272,8 +272,6 @@ bool LLAppViewerLinux::initSLURLHandler() //virtual bool LLAppViewerLinux::sendURLToOtherInstance(const std::string& url) { - bool success = false; - auto *pBus = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, nullptr); if( !pBus ) diff --git a/indra/newview/llmanip.cpp b/indra/newview/llmanip.cpp index bf4579c756..e974c00c37 100644 --- a/indra/newview/llmanip.cpp +++ b/indra/newview/llmanip.cpp @@ -615,9 +615,11 @@ void LLManip::renderTickValue(const LLVector3& pos, F32 value, const std::string gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt); } - LLColor4 shadow_color = LLColor4::black; - shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f; - + // Unused and GCC does not like this ... + //LLColor4 shadow_color = LLColor4::black; + //shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f; + // getDecimalPoint(), fractional_portion, suffix.c_str()); diff --git a/indra/newview/llurl.cpp b/indra/newview/llurl.cpp index 01a81c5f83..46cdbf9ed3 100644 --- a/indra/newview/llurl.cpp +++ b/indra/newview/llurl.cpp @@ -28,6 +28,11 @@ #include "llurl.h" #include "llerror.h" +#if LL_LINUX +#pragma GCC diagnostic ignored "-Wstringop-truncation" +#endif + + LLURL::LLURL() { init(""); diff --git a/indra/newview/llviewerjoystick.cpp b/indra/newview/llviewerjoystick.cpp index d147560011..c81fa22b13 100644 --- a/indra/newview/llviewerjoystick.cpp +++ b/indra/newview/llviewerjoystick.cpp @@ -493,7 +493,16 @@ void LLViewerJoystick::initDevice(void * preffered_device /*LPDIRECTINPUTDEVICE8 #if LIB_NDOF mLastDeviceUUID = guid; +#ifdef LL_LINUX +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-truncation" +#endif strncpy(mNdofDev->product, name.c_str(), sizeof(mNdofDev->product)); +#ifdef LL_LINUX +#pragma GCC diagnostic pop +#endif + + mNdofDev->product[ sizeof(mNdofDev->product)-1 ] = 0; mNdofDev->manufacturer[0] = '\0'; initDevice(preffered_device); diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 86b3501e2c..00f40a6e2e 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -5536,8 +5536,12 @@ Falls Sie diesen Nutzungsbestimmungen nicht zustimmen, sollten keinerlei finanzi Der Anhang „[NAME]“ enthält geriggtes Mesh, ist aber am HUD-Punkt „[HUD_POINT]“ angehängt. Das bedeutet, dass Sie es korrekt sehen werden, alle anderen werden es hingegen gar nicht sehen. Denken Sie darüber nach, den Anhang zu entfernen und an einem regulären Punkt am Körper anzuhängen. - - + + + + URL der Startseite des Anmeldebildschirms wird für Testzwecke übersteuert. + +URL auf Standard zurücksetzen? + + diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 001942d6f6..14ebdd6c00 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -13776,4 +13776,17 @@ An attachment named "[NAME]" contains rigged mesh but is attached to the HUD poi ignoretext="Warn me when a rigged attachment is worn on a HUD attachment point" name="notifyignore"/> + + +Login splash screen URL is overridden for testing purposes. + +Reset the URL to default? + + diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index 43a1dceffe..a27cfbdf39 100644 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -5166,4 +5166,10 @@ Pamiętaj, że nie można wybrać "otoczenia współdzielonego" i "bazowanego na Dodatek o nazwie "[NAME]" zawiera riggowany mesz, ale jest dołączony do punktu HUD "[HUD_POINT]". Oznacza to, że Ty co prawda zobaczysz go poprawnie wyrenderowany, ale wszyscy inni nie będą mogli. Rozważ zdjęcie go i ponowne dołączenie do zwykłego punktu doczepienia. + + Wygląda na to, że adres URL ekranu logowania jest zastępowany w celach testowych. + +Zresetować adres URL do domyślnego? + +