From 6d061b388374ed0621d8b7a7040e165c6bb04089 Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Thu, 16 Jun 2011 10:27:42 +0200 Subject: fix Bug #967 memleak in llfloaterregioninfo --- linden/indra/newview/llfloaterregioninfo.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/llfloaterregioninfo.cpp b/linden/indra/newview/llfloaterregioninfo.cpp index 60bdfcd..505f8e6 100644 --- a/linden/indra/newview/llfloaterregioninfo.cpp +++ b/linden/indra/newview/llfloaterregioninfo.cpp @@ -1739,11 +1739,7 @@ void LLPanelEstateInfo::onClickRemoveEstateManager(void* user_data) //--------------------------------------------------------------------------- // Kick from estate methods //--------------------------------------------------------------------------- -struct LLKickFromEstateInfo -{ - LLPanelEstateInfo *mEstatePanelp; - LLUUID mAgentID; -}; + void LLPanelEstateInfo::onClickKickUser(void *user_data) { @@ -1770,10 +1766,7 @@ void LLPanelEstateInfo::onKickUserCommit(const std::vector& names, LLPanelEstateInfo* self = (LLPanelEstateInfo*)userdata; if(!self) return; - //keep track of what user they want to kick and other misc info - LLKickFromEstateInfo *kick_info = new LLKickFromEstateInfo(); - kick_info->mEstatePanelp = self; - kick_info->mAgentID = ids[0]; + //Bring up a confirmation dialog LLSD args; -- cgit v1.1 From 09f701ed47c7b54dc9c8da444f84f288c0e2fc2a Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Thu, 16 Jun 2011 11:46:57 +0200 Subject: fix pass LLSD& instead LLSD to selectByValue --- linden/indra/llui/llctrlselectioninterface.cpp | 4 ++-- linden/indra/llui/llctrlselectioninterface.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'linden') diff --git a/linden/indra/llui/llctrlselectioninterface.cpp b/linden/indra/llui/llctrlselectioninterface.cpp index dac0939..1111b9d 100644 --- a/linden/indra/llui/llctrlselectioninterface.cpp +++ b/linden/indra/llui/llctrlselectioninterface.cpp @@ -39,12 +39,12 @@ LLCtrlSelectionInterface::~LLCtrlSelectionInterface() { } -BOOL LLCtrlSelectionInterface::selectByValue(LLSD value) +BOOL LLCtrlSelectionInterface::selectByValue(const LLSD& value) { return setSelectedByValue(value, TRUE); } -BOOL LLCtrlSelectionInterface::deselectByValue(LLSD value) +BOOL LLCtrlSelectionInterface::deselectByValue(const LLSD& value) { return setSelectedByValue(value, FALSE); } diff --git a/linden/indra/llui/llctrlselectioninterface.h b/linden/indra/llui/llctrlselectioninterface.h index 45727d6..7b5cd66 100644 --- a/linden/indra/llui/llctrlselectioninterface.h +++ b/linden/indra/llui/llctrlselectioninterface.h @@ -67,8 +67,8 @@ public: virtual BOOL setCurrentByID( const LLUUID& id ) = 0; virtual LLUUID getCurrentID() const = 0; - BOOL selectByValue(const LLSD value); - BOOL deselectByValue(const LLSD value); + BOOL selectByValue(const LLSD& value); + BOOL deselectByValue(const LLSD& value); virtual BOOL setSelectedByValue(const LLSD& value, BOOL selected) = 0; virtual LLSD getSelectedValue() = 0; -- cgit v1.1 From f8864a146bd0e7a871f5ce27f92683df66729dab Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Thu, 16 Jun 2011 14:31:08 +0200 Subject: 2 fixes in llxmlnode: pass LLUUID& instead of LLUUID to setUUIDValue; remove superfluous NULL pointer check --- linden/indra/llxml/llxmlnode.cpp | 5 +---- linden/indra/llxml/llxmlnode.h | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) (limited to 'linden') diff --git a/linden/indra/llxml/llxmlnode.cpp b/linden/indra/llxml/llxmlnode.cpp index 5bb5012..0e2f9a2 100644 --- a/linden/indra/llxml/llxmlnode.cpp +++ b/linden/indra/llxml/llxmlnode.cpp @@ -499,10 +499,7 @@ void XMLCALL StartXMLNode(void *userData, pos += 2; } - if (parent) - { - parent->addChild(new_node); - } + parent->addChild(new_node); } void XMLCALL EndXMLNode(void *userData, diff --git a/linden/indra/llxml/llxmlnode.h b/linden/indra/llxml/llxmlnode.h index ab1a772..d71a221 100644 --- a/linden/indra/llxml/llxmlnode.h +++ b/linden/indra/llxml/llxmlnode.h @@ -245,7 +245,7 @@ public: void setFloatValue(const F32 value, Encoding encoding = ENCODING_DEFAULT, U32 precision = 0) { setFloatValue(1, &value, encoding); } void setDoubleValue(const F64 value, Encoding encoding = ENCODING_DEFAULT, U32 precision = 0) { setDoubleValue(1, &value, encoding); } void setStringValue(const std::string& value) { setStringValue(1, &value); } - void setUUIDValue(const LLUUID value) { setUUIDValue(1, &value); } + void setUUIDValue(const LLUUID& value) { setUUIDValue(1, &value); } void setNodeRefValue(const LLXMLNode *value) { setNodeRefValue(1, &value); } void setBoolValue(U32 length, const BOOL *array); -- cgit v1.1 From f0e9b30faea4c4b9a9957fa24bfc355e276e3e1d Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Thu, 30 Jun 2011 08:21:57 +0200 Subject: Linux64: don't use -ffast-math for release builds, it didn't do anything for us. But lloctree crashes teleporting to mega regions using -ffast-math . --- linden/indra/cmake/00-Common.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'linden') diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake index 7d50f25..d92aa0f 100644 --- a/linden/indra/cmake/00-Common.cmake +++ b/linden/indra/cmake/00-Common.cmake @@ -195,7 +195,8 @@ if (LINUX) # This rather needs to be done elsewhere # anyway these are the flags for the 64bit releases: add_definitions(-DLINUX64=1 -pipe) - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -mmmx -msse -mfpmath=sse -msse2 -ffast-math -ftree-vectorize -fweb -fexpensive-optimizations -frename-registers") + # with -ffast-math lloctree crashes teleporting to mega regions, and it didn't do much for us anyway + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -mmmx -msse -mfpmath=sse -msse2 -ftree-vectorize -fweb -fexpensive-optimizations -frename-registers") endif (${ARCH} STREQUAL "x86_64") set(CMAKE_CXX_FLAGS_RELEASESSE2 "${CMAKE_CXX_FLAGS_RELEASESSE2} -mfpmath=sse2 -msse2") endif (VIEWER) -- cgit v1.1 From dd868b608fc9d39acc16b2423d74a09eddbc4501 Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Fri, 8 Jul 2011 17:05:44 +0200 Subject: improve the voiceclient shutdown a bit --- linden/indra/newview/llvoiceclient.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/llvoiceclient.cpp b/linden/indra/newview/llvoiceclient.cpp index 946b289..07d2fa9 100644 --- a/linden/indra/newview/llvoiceclient.cpp +++ b/linden/indra/newview/llvoiceclient.cpp @@ -1209,13 +1209,22 @@ void LLVoiceClient::terminate() // ms_sleep(2000); gVoiceClient->connectorShutdown(); gVoiceClient->closeSocket(); // Need to do this now -- bad things happen if the destructor does it later. - - // This will do unpleasant things on windows. -// killGateway(); - + + LL_DEBUGS("IdleCallbacks") << "IdleCallbacks deleteFunction " + << "called from LLVoiceClient" << LL_ENDL; + gIdleCallbacks.deleteFunction(idle, gVoiceClient); + + if (isGatewayRunning()) + { + // This will do unpleasant things on windows. + // AW: no unpleasant things observed on windows, + // guess they came from sloppy cleanup. + killGateway(); + } + // Don't do this anymore -- LLSingleton will take care of deleting the object. // delete gVoiceClient; - + // Hint to other code not to access the voice client anymore. gVoiceClient = NULL; } -- cgit v1.1 From eceee44dd3c990c536574aafa0a0084e9c8c7c57 Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Fri, 8 Jul 2011 16:43:43 +0200 Subject: Linux: update OpenAL to 1.13.0 for Linux64 the 32bit compatibility libs (32bit openal et al.) are now integrated into the openal package. --- linden/indra/cmake/ViewerMiscLibs.cmake | 6 ----- linden/indra/newview/viewer_manifest.py | 23 +++++++++++++----- linden/install.xml | 41 ++++----------------------------- 3 files changed, 21 insertions(+), 49 deletions(-) (limited to 'linden') diff --git a/linden/indra/cmake/ViewerMiscLibs.cmake b/linden/indra/cmake/ViewerMiscLibs.cmake index 38d0444..bf33490 100644 --- a/linden/indra/cmake/ViewerMiscLibs.cmake +++ b/linden/indra/cmake/ViewerMiscLibs.cmake @@ -5,18 +5,12 @@ if (NOT STANDALONE) use_prebuilt_binary(libuuid) use_prebuilt_binary(vivox) if(LINUX) - if (${ARCH} STREQUAL "x86_64") - use_prebuilt_binary(32bitcompatibilitylibs) - endif (${ARCH} STREQUAL "x86_64") use_prebuilt_binary(fontconfig) endif(LINUX) else (NOT STANDALONE) # Download there even when using standalone. set(STANDALONE OFF) use_prebuilt_binary(vivox) - if(LINUX AND ${ARCH} STREQUAL "x86_64") - use_prebuilt_binary(32bitcompatibilitylibs) - endif(LINUX AND ${ARCH} STREQUAL "x86_64") set(STANDALONE ON) endif(NOT STANDALONE) diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index a0b9d77..190b48a 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py @@ -938,8 +938,12 @@ class Linux_i686Manifest(LinuxManifest): self.path("libz.so.1") # OpenAL - self.path("libopenal.so.1.12.854", "libopenal.so.1") - self.path("libalut.so.0.1.0", "libalut.so.0") + self.path("libalut.so") + self.path("libalut.so.0") + self.path("libalut.so.0.0.0") + self.path("libopenal.so") + self.path("libopenal.so.1") + self.path("libopenal.so.1.13.0") # GTK+ and dependencies ## Lets just use the system libraries for all of these: @@ -1028,7 +1032,6 @@ class Linux_i686Manifest(LinuxManifest): self.end_prefix("bin") if self.prefix(src="vivox-runtime/i686-linux", dst="lib"): - self.path("libalut.so") self.path("libortp.so") self.path("libvivoxsdk.so") self.end_prefix("lib") @@ -1071,8 +1074,13 @@ class Linux_x86_64Manifest(LinuxManifest): #self.path("libz.so.1") #not needed # OpenAL - self.path("libopenal.so.1.12.854", "libopenal.so.1") - self.path("libalut.so.0.1.0", "libalut.so.0") + self.path("libopenal.so") + self.path("libopenal.so.1") + self.path("libopenal.so.1.13.0") + self.path("libalut.so") + self.path("libalut.so.0") + self.path("libalut.so.0.0.0") + # GTK+ and dependencies ## Lets just use the system libraries for all of these: ##self.path("libatk-1.0.so.0") @@ -1169,9 +1177,12 @@ class Linux_x86_64Manifest(LinuxManifest): # 32bit libs needed for voice if self.prefix("../../libraries/x86_64-linux/lib_release_client/32bit-compat", dst="lib32"): self.path("libalut.so") + self.path("libalut.so.0") + self.path("libalut.so.0.0.0") self.path("libidn.so.11") + self.path("libopenal.so") self.path("libopenal.so.1") - # self.path("libortp.so") + self.path("libopenal.so.1.13.0") self.path("libuuid.so.1") self.end_prefix("lib32") diff --git a/linden/install.xml b/linden/install.xml index f757d80..8327c13 100755 --- a/linden/install.xml +++ b/linden/install.xml @@ -1205,29 +1205,19 @@ Copyright (C) 2004-2005 Vladimir Berezniker @ http://public.xdi.org/=vmpn url http://imprudenceviewer.org/download/libs/openal-darwin-20091118.tar.bz2 - - - linux - - md5sum - 44f9bacc69a3d29ae0b46ed69ad7c2ce - url - http://download.kokuaviewer.org/files/libs/openal-linux32-20110304.tar.bz2 + http://download.kokuaviewer.org/files/libs/openal-1.13-Linux-i686-20110708.tar.bz2 linux64 md5sum - 032848c2591a15e26c71998df3644cfc + 7b1039886ab997d2926604540426961f url - http://download.kokuaviewer.org/files/libs/openal-linux64-pulse0.9.21-20110304.tar.bz2 + http://download.kokuaviewer.org/files/libs/openal-1.13-Linux-x86_64-20110708.tar.bz2 windows @@ -1508,29 +1498,6 @@ Copyright (C) 2004-2005 Vladimir Berezniker @ http://public.xdi.org/=vmpn - 32bitcompatibilitylibs - - copyright - Copyrights: Libidn: Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - Simon Josefsson. License GPL v3.0. - Freealut, libuuid, openal-soft: see copyright and license of the - according main packages. - - description - 32bit libraries needed for using voice - license - gpl - packages - - linux64 - - md5sum - cbaafc55fb8b14283541791e82f13462 - url - http://imprudenceviewer.org/download/libs/linux64-32bitcompatibilitylibs-20100903.tar.bz2 - - - xmlrpc-epi copyright -- cgit v1.1 From aa9215f34d1126b2b502b46e3dc07397fab4ac3d Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Thu, 14 Jul 2011 11:00:47 +0200 Subject: Linux: remove libxml2 dependency. This might also be possible on other platforms, the newer your gstreamer is, the easier to get rid of libxml2. --- linden/indra/cmake/GStreamer010Plugin.cmake | 23 ++++++++++++++++------- linden/indra/newview/viewer_manifest.py | 2 -- linden/install.xml | 14 -------------- 3 files changed, 16 insertions(+), 23 deletions(-) (limited to 'linden') diff --git a/linden/indra/cmake/GStreamer010Plugin.cmake b/linden/indra/cmake/GStreamer010Plugin.cmake index 9d2c553..d05cb9c 100644 --- a/linden/indra/cmake/GStreamer010Plugin.cmake +++ b/linden/indra/cmake/GStreamer010Plugin.cmake @@ -21,13 +21,22 @@ else (STANDALONE) ${LIBS_PREBUILT_DIR}/include/libxml2 ) else (WINDOWS) - use_prebuilt_binary(glib) # gstreamer needs glib - use_prebuilt_binary(libxml) - set(GSTREAMER010_INCLUDE_DIRS - ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10 - ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 - ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2 - ) + use_prebuilt_binary(glib) # gstreamer needs glib + if (DARWIN) + + use_prebuilt_binary(libxml) + set(GSTREAMER010_INCLUDE_DIRS + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10 + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2 + ) + else (DARWIN) + add_definitions(-DGST_DISABLE_XML -DGST_DISABLE_LOADSAVE) + set(GSTREAMER010_INCLUDE_DIRS + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10 + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 + ) + endif (DARWIN) endif (WINDOWS) endif (STANDALONE) diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index 190b48a..9ad43ad 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py @@ -933,7 +933,6 @@ class Linux_i686Manifest(LinuxManifest): self.path("libSDL-1.2.so.0") self.path("libELFIO.so") self.path("libopenjpeg.so.2") - self.path("libxml2.so.2") self.path("libz.so") self.path("libz.so.1") @@ -1070,7 +1069,6 @@ class Linux_x86_64Manifest(LinuxManifest): self.path("libjpeg.so.7") self.path("libpng12.so.0") self.path("libopenjpeg.so.2") - self.path("libxml2.so.2") #self.path("libz.so.1") #not needed # OpenAL diff --git a/linden/install.xml b/linden/install.xml index 8327c13..c6b560e 100755 --- a/linden/install.xml +++ b/linden/install.xml @@ -996,20 +996,6 @@ Portions copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura url http://imprudenceviewer.org/download/libs/libxml-2.6.27-darwin-20091107.tar.bz2 - linux - - md5sum - 922f4bc6a8091d07a988b983cafe7a5a - url - http://imprudenceviewer.org/download/libs/libxml2-2.7.4-r1-linux-20091115.tar.bz2 - - linux64 - - md5sum - 631df56daeac6aaf5be4c1e39dba6859 - url - http://imprudenceviewer.org/download/libs/libxml2-2.7.4-r1-linux64-20091230.tar.bz2 - llqtwebkit -- cgit v1.1 From c3f4d56f5fa0e2e1b6b20d86c67249b7f066a5c3 Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Sat, 6 Aug 2011 18:34:22 +0200 Subject: linux64 use gtk without libxml2 dependency --- linden/install.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'linden') diff --git a/linden/install.xml b/linden/install.xml index c6b560e..97a520d 100755 --- a/linden/install.xml +++ b/linden/install.xml @@ -416,9 +416,9 @@ linux64 md5sum - 13b551e5deafbaa6cfd105fa072bdfba + d7242641aa40019af06214b1d2a10bec url - http://imprudenceviewer.org/download/libs/fontconfig-2.7.3-linux64-20091230.tar.bz2 + http://download.kokuaviewer.org/files/test-builds/fontconfig-2.7.3-Linux-x86_64-20110805.tar.bz2 @@ -582,9 +582,9 @@ linux64 md5sum - 58c11add6b275c163950364df5b2964a + f181d42b6f7b2e9ca68174dbf3d282a5 url - http://imprudenceviewer.org/download/libs/glib-2.20.5-linux64-20100515.tar.bz2 + http://download.kokuaviewer.org/files/test-builds/glib-2.24.2-Linux-x86_64-20110806.tar.bz2 @@ -714,9 +714,9 @@ cairo: Copyright © 2002 University of Southern California, Copyright © 2005 Re linux64 md5sum - e8cb3f28379b7730004da44f04263936 + e373ea5a705ec84de48c0dd9306d3dd5 url - http://imprudenceviewer.org/download/libs/gtk-etc-linux64-20091231.tar.bz2 + http://download.kokuaviewer.org/files/test-builds/gtk-etc-Linux-x86_64-20110806.tar.bz2 -- cgit v1.1 From 5c069f43e5776a7956daa5c26a86e9bf0389850b Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Mon, 20 Jun 2011 19:07:47 +0200 Subject: use qt/webkit 4.7.4 on linux --- linden/indra/cmake/WebKitLibPlugin.cmake | 7 ++- linden/indra/cmake/ZLIB.cmake | 6 +- .../media_plugins/webkit/media_plugin_webkit.cpp | 3 + linden/indra/newview/llfloaterabout.cpp | 5 +- linden/indra/newview/viewer_manifest.py | 64 +++++----------------- linden/install.xml | 50 ++++++++++++----- 6 files changed, 68 insertions(+), 67 deletions(-) (limited to 'linden') diff --git a/linden/indra/cmake/WebKitLibPlugin.cmake b/linden/indra/cmake/WebKitLibPlugin.cmake index a4befa4..034eed5 100644 --- a/linden/indra/cmake/WebKitLibPlugin.cmake +++ b/linden/indra/cmake/WebKitLibPlugin.cmake @@ -29,6 +29,9 @@ if (STANDALONE) set(WEBKITLIBPLUGIN OFF CACHE BOOL "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.") else (STANDALONE) + if(LINUX) + use_prebuilt_binary(kokua-qt) + endif(LINUX) use_prebuilt_binary(llqtwebkit) set(WEBKITLIBPLUGIN ON CACHE BOOL "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.") @@ -62,8 +65,6 @@ elseif (LINUX) else (STANDALONE) set(WEBKIT_PLUGIN_LIBRARIES llqtwebkit - qgif - qjpeg QtWebKit QtOpenGL QtNetwork @@ -74,6 +75,8 @@ elseif (LINUX) X11 Xrender GL + jscore ) + endif (STANDALONE) endif (WINDOWS) diff --git a/linden/indra/cmake/ZLIB.cmake b/linden/indra/cmake/ZLIB.cmake index 48e5130..8a16a0e 100644 --- a/linden/indra/cmake/ZLIB.cmake +++ b/linden/indra/cmake/ZLIB.cmake @@ -17,6 +17,10 @@ else (STANDALONE) set(ZLIB_LIBRARIES z) endif (WINDOWS) if (WINDOWS OR LINUX) - set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib) + if(LINUX AND ${ARCH} STREQUAL "x86_64") + set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) + else(LINUX AND ${ARCH} STREQUAL "x86_64") + set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib) + endif(LINUX AND ${ARCH} STREQUAL "x86_64") endif (WINDOWS OR LINUX) endif (STANDALONE) diff --git a/linden/indra/media_plugins/webkit/media_plugin_webkit.cpp b/linden/indra/media_plugins/webkit/media_plugin_webkit.cpp index 4a00557..2cae8d2 100755 --- a/linden/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/linden/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -81,6 +81,7 @@ extern "C" { #ifdef LL_STANDALONE #include #elif defined(LL_LINUX) + // We don't provide Qt headers for non-standalone, therefore define this here. // Our prebuilt is built with QT_NAMESPACE undefined. #define QT_MANGLE_NAMESPACE(name) name @@ -1156,7 +1157,9 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) std::string url = message_in.getValue("url"); if ( 404 == code ) // browser lib only supports 404 right now { +#if LLQTWEBKIT_API_VERSION < 8 LLQtWebKit::getInstance()->set404RedirectUrl( mBrowserWindowId, url ); +#endif }; } else if(message_name == "set_user_agent") diff --git a/linden/indra/newview/llfloaterabout.cpp b/linden/indra/newview/llfloaterabout.cpp index 13795e5..06bee7d 100644 --- a/linden/indra/newview/llfloaterabout.cpp +++ b/linden/indra/newview/llfloaterabout.cpp @@ -261,8 +261,11 @@ LLFloaterAbout::LLFloaterAbout() support.append("\n"); // TODO: Implement media plugin version query - +#if LL_LINUX + support.append("Qt Webkit Version: 4.7.4 (version number hard-coded)"); +#else support.append("Qt Webkit Version: 4.6 (version number hard-coded)"); +#endif support.append("\n"); if (gPacketsIn > 0) diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index 9ad43ad..c13cf1a 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py @@ -1059,19 +1059,30 @@ class Linux_x86_64Manifest(LinuxManifest): self.path("libapr-1.so.0") self.path("libaprutil-1.so.0") self.path("libdb-4.2.so") - self.path("libcrypto.so.0.9.8") + self.path("libcrypto.so") + self.path("libcrypto.so.1.0.0") self.path("libexpat.so.1") self.path("libhunspell-1.2.so.0.0.0", "libhunspell-1.2.so.0") - self.path("libssl.so.0.9.8") + self.path("libssl.so") + self.path("libssl.so.1.0.0") self.path("libuuid.so", "libuuid.so.1") self.path("libSDL-1.2.so.0") self.path("libELFIO.so") self.path("libjpeg.so.7") self.path("libpng12.so.0") self.path("libopenjpeg.so.2") - #self.path("libz.so.1") #not needed + self.path("libcares.so") + self.path("libcares.so.2") + self.path("libcares.so.2.0.0") + self.path("libcurl.so") + self.path("libcurl.so.4") + self.path("libcurl.so.4.2.0") + self.path("libz.so.1.2.5") + self.path("libz.so.1") + self.path("libz.so") # OpenAL + self.path("libopenal.so") self.path("libopenal.so.1") self.path("libopenal.so.1.13.0") @@ -1112,54 +1123,9 @@ class Linux_x86_64Manifest(LinuxManifest): #self.path("libgsttag-0.10.so.0") #self.path("libgstvideo-0.10.so.0") - ## Gstreamer plugin dependencies - #self.path("libfaad.so.0") - #self.path("libogg.so.0") - #self.path("libtheora.so.0") - #self.path("libvorbis.so.0") - #self.path("libvorbisenc.so.2") - #self.path("liboil-0.3.so.0") - ## Gstreamer plugins - #if self.prefix("gstreamer-plugins"): - #self.path("libgstalsa.so") - #self.path("libgstasf.so") - #self.path("libgstaudioconvert.so") - #self.path("libgstaudioresample.so") - #self.path("libgstautodetect.so") - #self.path("libgstavi.so") - #self.path("libgstcoreelements.so") - #self.path("libgstcoreindexers.so") - #self.path("libgstdecodebin2.so") - #self.path("libgstdecodebin.so") - #self.path("libgstesd.so") - #self.path("libgstfaad.so") - #self.path("libgstffmpeg.so") - #self.path("libgstffmpegcolorspace.so") - #self.path("libgstgnomevfs.so") - #self.path("libgsticydemux.so") - #self.path("libgstid3demux.so") - #self.path("libgstmpegdemux.so") - #self.path("libgstmultifile.so") - #self.path("libgstmultipart.so") - #self.path("libgstogg.so") - #self.path("libgstossaudio.so") - #self.path("libgstplaybin.so") - #self.path("libgstpulse.so") - #self.path("libgstqtdemux.so") - #self.path("libgstqueue2.so") - #self.path("libgsttcp.so") - #self.path("libgsttheora.so") - #self.path("libgsttypefindfunctions.so") - #self.path("libgstudp.so") - #self.path("libgstvideoscale.so") - #self.path("libgstvolume.so") - #self.path("libgstvorbis.so") - #self.path("libgstwavparse.so") - - #self.end_prefix("gstreamer-plugins") self.end_prefix("lib64") - + # Vivox runtimes and libs if self.prefix(src="vivox-runtime/i686-linux", dst="bin"): diff --git a/linden/install.xml b/linden/install.xml index 97a520d..e8fb391 100755 --- a/linden/install.xml +++ b/linden/install.xml @@ -153,9 +153,9 @@ linux64 md5sum - c4242416e0b2e642c0bf062a19a250e4 + 301a1317c7d5bebbdc396e1a4874175b url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.3.0-linux64-20080909.tar.bz2 + http://download.kokuaviewer.org/files/libs/ares-1.7.1-Linux-x86_64-20110405.tar.bz2 windows @@ -261,9 +261,9 @@ linux64 md5sum - 6e9242d11d785f643f34d925a29967e7 + 7e698e37a1425d66f709163a36ce0b5a url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7.16.4-linux64-20080909.tar.bz2 + http://download.kokuaviewer.org/files/libs/curl-7.21.4-Linux-x86_64-20110405.tar.bz2 windows @@ -998,12 +998,34 @@ Portions copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura - llqtwebkit + kokua-qt license lgpl packages + linux + + md5sum + 380775ee42191982c22fa5f5f5428250 + url + http://download.kokuaviewer.org/files/libs/kokua-qt4.7.4-Linux-i686-20110620.tar.bz2 + + linux64 + + md5sum + 4c6c0f607f7cc9ebaa5446fd9ca3371a + url + http://download.kokuaviewer.org/files/libs/kokua-qt4.7.4-Linux-x86_64-20110620.tar.bz2 + + + + llqtwebkit + + license + gpl + packages + darwin md5sum @@ -1014,16 +1036,16 @@ Portions copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura linux md5sum - 5d743c93b970abe685b185de83001a6e + d2f69c0d72e28037f5377538d4ec8dfe url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-qt4.6-20100923.tar.bz2 + http://download.kokuaviewer.org/files/libs/kokua-llqtwebkit-Linux-i686-20110620.tar.bz2 linux64 md5sum - d5deaf897fe8effa3d3537c875060379 - url - http://imprudenceviewer.org/download/libs/llqtwebkit-linux64-20100907.tar.bz2 + 28fe808f318a2b66146e4bbcf1f96306 + url + http://download.kokuaviewer.org/files/libs/kokua-llqtwebkit-Linux-x86_64-20110620.tar.bz2 windows @@ -1244,9 +1266,9 @@ Copyright (C) 2004-2005 Vladimir Berezniker @ http://public.xdi.org/=vmpn linux64 md5sum - 00b23f28a2457d9dabbaff0b29ee7323 + d02fd5e08e7300e418ac86f00a321b23 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL-0.9.8g-linux64-20080909.tar.bz2 + http://download.kokuaviewer.org/files/libs/openSSL-1.0.0-Linux-x86_64-20110405.tar.bz2 windows @@ -1551,9 +1573,9 @@ Copyright (C) 2004-2005 Vladimir Berezniker @ http://public.xdi.org/=vmpn linux64 md5sum - d085a173e3c05ff3bb0ee36ba42deb2c + 36716acbb29ed2adbc8d82d9ddbdec65 url - http://imprudenceviewer.org/download/libs/zlib-1.2.3-linux64-lenny-20091202.tar.bz2 + http://download.kokuaviewer.org/files/libs/z-lib-1.2.5-Linux-x86_64-20110405.tar.bz2 windows -- cgit v1.1 From 64db97e226ec993b7336fe8ede0a00c938afdc61 Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Sun, 13 Nov 2011 14:31:42 +0100 Subject: Linux: allow cross compiling the 32bit viewer on a x86_64 platform to do so: (have anything for crosscompiling installed), export WORD_SIZE='32' before configuring and/or building. Be aware: Mixing several platforms in one root directory probably wont work (didn't try though). Cross compiling the 64bit viewer on a i686 platform isn't tested, but probably will work using export WORD_SIZE='64' --- linden/indra/cmake/00-Common.cmake | 9 +++++++++ linden/indra/cmake/Variables.cmake | 26 ++++++++++++++++++++++++-- linden/indra/develop.py | 20 ++++++++++++++++---- linden/scripts/install.py | 7 +++++-- 4 files changed, 54 insertions(+), 8 deletions(-) (limited to 'linden') diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake index d92aa0f..81bfbdf 100644 --- a/linden/indra/cmake/00-Common.cmake +++ b/linden/indra/cmake/00-Common.cmake @@ -233,6 +233,15 @@ if (LINUX OR DARWIN) set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}") + + if (WORD_SIZE EQUAL 32) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") + elseif (WORD_SIZE EQUAL 64) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64") + endif (WORD_SIZE EQUAL 32) + endif (LINUX OR DARWIN) diff --git a/linden/indra/cmake/Variables.cmake b/linden/indra/cmake/Variables.cmake index eb9c004..6b7ded3 100644 --- a/linden/indra/cmake/Variables.cmake +++ b/linden/indra/cmake/Variables.cmake @@ -50,8 +50,30 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(LINUX ON BOOl FORCE) - execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ - OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + + # If someone has specified a word size, use that to determine the + # architecture. Otherwise, let the architecture specify the word size. + + if ("$ENV{WORD_SIZE}" MATCHES "32") + set(WORD_SIZE 32) + elseif ("$ENV{WORD_SIZE}" MATCHES "64") + set(WORD_SIZE 64) + endif () + + if (WORD_SIZE EQUAL 32) + set(ARCH i686) + elseif (WORD_SIZE EQUAL 64) + set(ARCH x86_64) + else (WORD_SIZE EQUAL 32) + execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ + OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if (ARCH STREQUAL x86_64) + set(WORD_SIZE 64) + else (ARCH STREQUAL x86_64) + set(WORD_SIZE 32) + endif (ARCH STREQUAL x86_64) + endif (WORD_SIZE EQUAL 32) + set(LL_ARCH ${ARCH}_linux) set(LL_ARCH_DIR ${ARCH}-linux) endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 8b23b1d..2f07e9e 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -223,14 +223,26 @@ class UnixSetup(PlatformSetup): def arch(self): cpu = os.uname()[-1] + word_size = os.environ.get('WORD_SIZE') if cpu.endswith('386'): cpu = 'i386' + if word_size == '64': + cpu = 'x86_64' elif cpu.endswith('86'): - cpu = 'i686' + if word_size == '64': + cpu = 'x86_64' + else: + cpu = 'i686' elif cpu in ('x86_64'): - cpu = 'x86_64' - elif cpu in ('athlon',): - cpu = 'i686' + if word_size == '32': + cpu = 'i686' + else: + cpu = 'x86_64' + elif cpu in ('athlon',): + if word_size == '64': + cpu = 'x86_64' + else: + cpu = 'i686' elif cpu == 'Power Macintosh': cpu = 'ppc' return cpu diff --git a/linden/scripts/install.py b/linden/scripts/install.py index f09fc48..c69644b 100755 --- a/linden/scripts/install.py +++ b/linden/scripts/install.py @@ -805,11 +805,14 @@ def _get_platform(): } this_platform = platform_map[sys.platform] if this_platform == 'linux': - if platform.architecture()[0] == '64bit': + word_size = os.environ.get('WORD_SIZE') + if platform.architecture()[0] == '64bit' or word_size == '64': # TODO -- someday when install.py accepts a platform of the form # os/arch/compiler/compiler_version then we can replace the # 'linux64' platform with 'linux/x86_64/gcc/4.1' - this_platform = 'linux64' + if not word_size == '32': + this_platform = 'linux64' + return this_platform def _getuser(): -- cgit v1.1 From 89482e614a337069905a4f77300e280b3e19fe9e Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Sun, 25 Dec 2011 13:15:21 +0100 Subject: disable voice if ParcelVoiceInfoRequest response is malformed. Seen (empty LLSD) in OSGrid Mumble Sandbox. Without a "voice_credentials" key the client never connects to the server, but would retry in vain to do so. Note to OpenSim devs: the "channel_uri" of the ParcelVoiceInfoRequest response is parsed to identify if we are connecting to a mumble server on parcel change. The presence of "sip:" within the uri is interpreted as connecting to vivox/freeswitch, the absence as connecting to a mumble server. However it would be much better to add a "server_type" key to the response, which could hold a string like "mumble", "freeswitch", etc - the absence would indicate connecting to a legacy(like) voice server. Additional note: to detect a mumble server also of the VoiceAccountProvision response the voice_account_server_uri is parsed: If the uri starts with tcp:// the "mumble" client is loaded(by default, you can change it in the "VoiceModuleMumble" debug setting), for any other scheme "SLVoice" (default, "VoiceModuleVivox" debug setting). --- linden/indra/newview/llvoiceclient.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'linden') diff --git a/linden/indra/newview/llvoiceclient.cpp b/linden/indra/newview/llvoiceclient.cpp index 07d2fa9..3cf15fc 100644 --- a/linden/indra/newview/llvoiceclient.cpp +++ b/linden/indra/newview/llvoiceclient.cpp @@ -1051,6 +1051,11 @@ void LLVoiceClientCapResponder::result(const LLSD& content) gVoiceClient->setSpatialChannel(uri, credentials, mResponseID); } + else + { + llwarns << "ParcelVoiceInfoRequest response malformed, disabling voice." << llendl; + gVoiceClient->close(); + } } @@ -1771,11 +1776,13 @@ void LLVoiceClient::close() { LL_DEBUGS("VoiceSession") << "Cancel Session: LLVoiceClient::close() called." << llendl; + mAccountActive = false; setState(stateDisableCleanup); } void LLVoiceClient::start() { + mAccountActive = true; setState(stateStart); } @@ -7207,6 +7214,11 @@ class LLViewerParcelVoiceInfo : public LLHTTPNode gVoiceClient->setPIRCapResponseID(response_id); gVoiceClient->setSpatialChannel(uri, credentials, response_id); } + else + { + llwarns << "ParcelVoiceInfoRequest response malformed, disabling voice." << llendl; + gVoiceClient->close(); + } } } }; -- cgit v1.1