summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llfile.cpp9
-rw-r--r--indra/llcommon/llfile.h1
-rw-r--r--indra/llui/llspellcheck.cpp5
-rw-r--r--indra/llvfs/lldir.cpp11
-rw-r--r--indra/llvfs/lldir.h25
-rw-r--r--indra/llvfs/lldir_linux.cpp28
-rw-r--r--indra/llvfs/lldir_solaris.cpp28
-rw-r--r--indra/llvfs/lldir_win32.cpp128
-rw-r--r--indra/media_plugins/libvlc/media_plugin_libvlc.cpp55
-rw-r--r--indra/newview/VIEWER_VERSION.txt2
-rw-r--r--indra/newview/llappviewer.cpp10
-rw-r--r--indra/newview/llpresetsmanager.cpp10
-rw-r--r--indra/newview/lltexturecache.cpp8
-rw-r--r--indra/newview/skins/default/xui/en/mime_types.xml2
-rwxr-xr-xindra/newview/viewer_manifest.py8
-rw-r--r--indra/test/CMakeLists.txt4
16 files changed, 164 insertions, 170 deletions
diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp
index 7b559861bb..8aa41035b9 100644
--- a/indra/llcommon/llfile.cpp
+++ b/indra/llcommon/llfile.cpp
@@ -182,7 +182,14 @@ int LLFile::mkdir(const std::string& dirname, int perms)
int rc = ::mkdir(dirname.c_str(), (mode_t)perms);
#endif
// We often use mkdir() to ensure the existence of a directory that might
- // already exist. Don't spam the log if it does.
+ // already exist. There is no known case in which we want to call out as
+ // an error the requested directory already existing.
+ if (rc < 0 && errno == EEXIST)
+ {
+ // this is not the error you want, move along
+ return 0;
+ }
+ // anything else might be a problem
return warnif("mkdir", dirname, rc, EEXIST);
}
diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h
index 37eb75881c..ba935b8714 100644
--- a/indra/llcommon/llfile.h
+++ b/indra/llcommon/llfile.h
@@ -69,6 +69,7 @@ public:
// perms is a permissions mask like 0777 or 0700. In most cases it will
// be overridden by the user's umask. It is ignored on Windows.
+ // mkdir() considers "directory already exists" to be SUCCESS.
static int mkdir(const std::string& filename, int perms = 0700);
static int rmdir(const std::string& filename);
diff --git a/indra/llui/llspellcheck.cpp b/indra/llui/llspellcheck.cpp
index 5a52600337..7f64743e99 100644
--- a/indra/llui/llspellcheck.cpp
+++ b/indra/llui/llspellcheck.cpp
@@ -406,10 +406,7 @@ const std::string LLSpellChecker::getDictionaryAppPath()
const std::string LLSpellChecker::getDictionaryUserPath()
{
std::string dict_path = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, DICT_DIR, "");
- if (!gDirUtilp->fileExists(dict_path))
- {
- LLFile::mkdir(dict_path);
- }
+ LLFile::mkdir(dict_path);
return dict_path;
}
diff --git a/indra/llvfs/lldir.cpp b/indra/llvfs/lldir.cpp
index b845de71fa..2069888774 100644
--- a/indra/llvfs/lldir.cpp
+++ b/indra/llvfs/lldir.cpp
@@ -597,7 +597,7 @@ std::string LLDir::getExpandedFilename(ELLPath location, const std::string& subd
<< "': prefix is empty, possible bad filename" << LL_ENDL;
}
- std::string expanded_filename = add(add(prefix, subdir1), subdir2);
+ std::string expanded_filename = add(prefix, subdir1, subdir2);
if (expanded_filename.empty() && in_filename.empty())
{
return "";
@@ -693,7 +693,7 @@ void LLDir::walkSearchSkinDirs(const std::string& subdir,
std::string subdir_path(add(skindir, subdir));
BOOST_FOREACH(std::string subsubdir, subsubdirs)
{
- std::string full_path(add(add(subdir_path, subsubdir), filename));
+ std::string full_path(add(subdir_path, subsubdir, filename));
if (fileExists(full_path))
{
function(subsubdir, full_path);
@@ -1052,13 +1052,6 @@ void LLDir::dumpCurrentDirectories()
LL_DEBUGS("AppInit","Directories") << " SkinDir: " << getSkinDir() << LL_ENDL;
}
-std::string LLDir::add(const std::string& path, const std::string& name) const
-{
- std::string destpath(path);
- append(destpath, name);
- return destpath;
-}
-
void LLDir::append(std::string& destpath, const std::string& name) const
{
// Delegate question of whether we need a separator to helper method.
diff --git a/indra/llvfs/lldir.h b/indra/llvfs/lldir.h
index b219c6e29f..e233413a7f 100644
--- a/indra/llvfs/lldir.h
+++ b/indra/llvfs/lldir.h
@@ -202,9 +202,28 @@ class LLDir
/// Append specified @a name to @a destpath, separated by getDirDelimiter()
/// if both are non-empty.
void append(std::string& destpath, const std::string& name) const;
- /// Append specified @a name to @a path, separated by getDirDelimiter()
- /// if both are non-empty. Return result, leaving @a path unmodified.
- std::string add(const std::string& path, const std::string& name) const;
+ /// Variadic form: append @a name0 and @a name1 and arbitrary other @a
+ /// names to @a destpath, separated by getDirDelimiter() as needed.
+ template <typename... NAMES>
+ void append(std::string& destpath, const std::string& name0, const std::string& name1,
+ const NAMES& ... names) const
+ {
+ // In a typical recursion case, we'd accept (destpath, name0, names).
+ // We accept (destpath, name0, name1, names) because it's important to
+ // delegate the two-argument case to the non-template implementation.
+ append(destpath, name0);
+ append(destpath, name1, names...);
+ }
+
+ /// Append specified @a names to @a path, separated by getDirDelimiter()
+ /// as needed. Return result, leaving @a path unmodified.
+ template <typename... NAMES>
+ std::string add(const std::string& path, const NAMES& ... names) const
+ {
+ std::string destpath(path);
+ append(destpath, names...);
+ return destpath;
+ }
protected:
// Does an add() or append() call need a directory delimiter?
diff --git a/indra/llvfs/lldir_linux.cpp b/indra/llvfs/lldir_linux.cpp
index 7a4034c228..a9f3166d41 100644
--- a/indra/llvfs/lldir_linux.cpp
+++ b/indra/llvfs/lldir_linux.cpp
@@ -185,41 +185,29 @@ void LLDir_Linux::initAppDirs(const std::string &app_name,
int res = LLFile::mkdir(mOSUserAppDir);
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create app user dir " << mOSUserAppDir << LL_ENDL;
- LL_WARNS() << "Default to base dir" << mOSUserDir << LL_ENDL;
- mOSUserAppDir = mOSUserDir;
- }
+ LL_WARNS() << "Couldn't create app user dir " << mOSUserAppDir << LL_ENDL;
+ LL_WARNS() << "Default to base dir" << mOSUserDir << LL_ENDL;
+ mOSUserAppDir = mOSUserDir;
}
res = LLFile::mkdir(getExpandedFilename(LL_PATH_LOGS,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_LOGS dir " << getExpandedFilename(LL_PATH_LOGS,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_LOGS dir " << getExpandedFilename(LL_PATH_LOGS,"") << LL_ENDL;
}
res = LLFile::mkdir(getExpandedFilename(LL_PATH_USER_SETTINGS,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_USER_SETTINGS dir " << getExpandedFilename(LL_PATH_USER_SETTINGS,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_USER_SETTINGS dir " << getExpandedFilename(LL_PATH_USER_SETTINGS,"") << LL_ENDL;
}
-
+
res = LLFile::mkdir(getExpandedFilename(LL_PATH_CACHE,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << getExpandedFilename(LL_PATH_CACHE,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << getExpandedFilename(LL_PATH_CACHE,"") << LL_ENDL;
}
-
+
mCAFile = getExpandedFilename(LL_PATH_APP_SETTINGS, "CA.pem");
}
diff --git a/indra/llvfs/lldir_solaris.cpp b/indra/llvfs/lldir_solaris.cpp
index b43b2f27ce..d60237bacc 100644
--- a/indra/llvfs/lldir_solaris.cpp
+++ b/indra/llvfs/lldir_solaris.cpp
@@ -203,41 +203,29 @@ void LLDir_Solaris::initAppDirs(const std::string &app_name,
int res = LLFile::mkdir(mOSUserAppDir);
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create app user dir " << mOSUserAppDir << LL_ENDL;
- LL_WARNS() << "Default to base dir" << mOSUserDir << LL_ENDL;
- mOSUserAppDir = mOSUserDir;
- }
+ LL_WARNS() << "Couldn't create app user dir " << mOSUserAppDir << LL_ENDL;
+ LL_WARNS() << "Default to base dir" << mOSUserDir << LL_ENDL;
+ mOSUserAppDir = mOSUserDir;
}
res = LLFile::mkdir(getExpandedFilename(LL_PATH_LOGS,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_LOGS dir " << getExpandedFilename(LL_PATH_LOGS,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_LOGS dir " << getExpandedFilename(LL_PATH_LOGS,"") << LL_ENDL;
}
res = LLFile::mkdir(getExpandedFilename(LL_PATH_USER_SETTINGS,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_USER_SETTINGS dir " << getExpandedFilename(LL_PATH_USER_SETTINGS,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_USER_SETTINGS dir " << getExpandedFilename(LL_PATH_USER_SETTINGS,"") << LL_ENDL;
}
-
+
res = LLFile::mkdir(getExpandedFilename(LL_PATH_CACHE,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << getExpandedFilename(LL_PATH_CACHE,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << getExpandedFilename(LL_PATH_CACHE,"") << LL_ENDL;
}
-
+
mCAFile = getExpandedFilename(LL_PATH_APP_SETTINGS, "CA.pem");
}
diff --git a/indra/llvfs/lldir_win32.cpp b/indra/llvfs/lldir_win32.cpp
index 4d8aa0e189..5485349c83 100644
--- a/indra/llvfs/lldir_win32.cpp
+++ b/indra/llvfs/lldir_win32.cpp
@@ -32,10 +32,7 @@
#include "llerror.h"
#include "llrand.h" // for gLindenLabRandomNumber
#include <shlobj.h>
-#include <Knownfolders.h>
-#include <iostream>
-#include <map>
-#include <Objbase.h> // CoTaskMemFree()
+#include <fstream>
#include <direct.h>
#include <errno.h>
@@ -46,47 +43,15 @@
#define PACKVERSION(major,minor) MAKELONG(minor,major)
DWORD GetDllVersion(LPCTSTR lpszDllName);
-namespace {
-
-std::string getKnownFolderPath(const std::string& desc, REFKNOWNFOLDERID folderid)
-{
- // https://msdn.microsoft.com/en-us/library/windows/desktop/bb762188(v=vs.85).aspx
- PWSTR wstrptr = 0;
- HRESULT result = SHGetKnownFolderPath(
- folderid,
- KF_FLAG_DEFAULT, // no flags
- NULL, // current user, no impersonation
- &wstrptr);
- if (result == S_OK)
- {
- std::string utf8 = utf16str_to_utf8str(llutf16string(wstrptr));
- // have to free the returned pointer after copying its data
- CoTaskMemFree(wstrptr);
- return utf8;
- }
-
- // gack, no logging yet!
- // at least say something to a developer trying to debug this...
- static std::map<HRESULT, const char*> codes
- {
- { E_FAIL, "E_FAIL; known folder does not have a path?" },
- { E_INVALIDARG, "E_INVALIDARG; not present on system?" }
- };
- auto found = codes.find(result);
- const char* text = (found == codes.end())? "unknown" : found->second;
- std::cout << "*** SHGetKnownFolderPath(" << desc << ") failed with "
- << result << " (" << text << ")\n";
- return {};
-}
-
-} // anonymous namespace
-
LLDir_Win32::LLDir_Win32()
{
+ // set this first: used by append() and add() methods
mDirDelimiter = "\\";
- // Application Data is where user settings go
- mOSUserDir = getKnownFolderPath("RoamingAppData", FOLDERID_RoamingAppData);
+ // Application Data is where user settings go. We rely on $APPDATA being
+ // correct; in fact the VMP makes a point of setting it properly, since
+ // Windows itself botches the job for non-ASCII usernames (MAINT-8087).
+ mOSUserDir = ll_safe_string(getenv("APPDATA"));
// We want cache files to go on the local disk, even if the
// user is on a network with a "roaming profile".
@@ -96,7 +61,7 @@ LLDir_Win32::LLDir_Win32()
//
// We used to store the cache in AppData\Roaming, and the installer
// cleans up that version on upgrade. JC
- mOSCacheDir = getKnownFolderPath("LocalAppData", FOLDERID_LocalAppData);
+ mOSCacheDir = ll_safe_string(getenv("LOCALAPPDATA"));
WCHAR w_str[MAX_PATH];
if (GetTempPath(MAX_PATH, w_str))
@@ -122,6 +87,38 @@ LLDir_Win32::LLDir_Win32()
mTempDir = mOSUserDir;
}
+/*==========================================================================*|
+ // Now that we've got mOSUserDir, one way or another, let's see how we did
+ // with our environment variables.
+ {
+ auto report = [this](std::ostream& out){
+ out << "mOSUserDir = '" << mOSUserDir << "'\n"
+ << "mOSCacheDir = '" << mOSCacheDir << "'\n"
+ << "mTempDir = '" << mTempDir << "'" << std::endl;
+ };
+ int res = LLFile::mkdir(mOSUserDir);
+ if (res == -1)
+ {
+ // If we couldn't even create the directory, just blurt to stderr
+ report(std::cerr);
+ }
+ else
+ {
+ // successfully created logdir, plunk a log file there
+ std::string logfilename(add(mOSUserDir, "lldir.log"));
+ std::ofstream logfile(logfilename.c_str());
+ if (! logfile.is_open())
+ {
+ report(std::cerr);
+ }
+ else
+ {
+ report(logfile);
+ }
+ }
+ }
+|*==========================================================================*/
+
// fprintf(stderr, "mTempDir = <%s>",mTempDir);
// Set working directory, for LLDir::getWorkingDir()
@@ -167,7 +164,7 @@ LLDir_Win32::LLDir_Win32()
// 'llplugin' need to go somewhere else.
// alas... this also gets called during static initialization
// time due to the construction of gDirUtil in lldir.cpp.
- if(! LLFile::isdir(mAppRODataDir + mDirDelimiter + "skins"))
+ if(! LLFile::isdir(add(mAppRODataDir, "skins")))
{
// What? No skins in the working dir?
// Try the executable's directory.
@@ -176,7 +173,7 @@ LLDir_Win32::LLDir_Win32()
// LL_INFOS() << "mAppRODataDir = " << mAppRODataDir << LL_ENDL;
- mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
+ mSkinBaseDir = add(mAppRODataDir, "skins");
// Build the default cache directory
mDefaultCacheDir = buildSLOSCacheDir();
@@ -185,13 +182,10 @@ LLDir_Win32::LLDir_Win32()
int res = LLFile::mkdir(mDefaultCacheDir);
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << mDefaultCacheDir << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << mDefaultCacheDir << LL_ENDL;
}
- mLLPluginDir = mExecutableDir + mDirDelimiter + "llplugin";
+ mLLPluginDir = add(mExecutableDir, "llplugin");
}
LLDir_Win32::~LLDir_Win32()
@@ -207,52 +201,38 @@ void LLDir_Win32::initAppDirs(const std::string &app_name,
if (!app_read_only_data_dir.empty())
{
mAppRODataDir = app_read_only_data_dir;
- mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";
+ mSkinBaseDir = add(mAppRODataDir, "skins");
}
mAppName = app_name;
- mOSUserAppDir = mOSUserDir;
- mOSUserAppDir += "\\";
- mOSUserAppDir += app_name;
+ mOSUserAppDir = add(mOSUserDir, app_name);
int res = LLFile::mkdir(mOSUserAppDir);
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create app user dir " << mOSUserAppDir << LL_ENDL;
- LL_WARNS() << "Default to base dir" << mOSUserDir << LL_ENDL;
- mOSUserAppDir = mOSUserDir;
- }
+ LL_WARNS() << "Couldn't create app user dir " << mOSUserAppDir << LL_ENDL;
+ LL_WARNS() << "Default to base dir" << mOSUserDir << LL_ENDL;
+ mOSUserAppDir = mOSUserDir;
}
//dumpCurrentDirectories();
res = LLFile::mkdir(getExpandedFilename(LL_PATH_LOGS,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_LOGS dir " << getExpandedFilename(LL_PATH_LOGS,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_LOGS dir " << getExpandedFilename(LL_PATH_LOGS,"") << LL_ENDL;
}
-
+
res = LLFile::mkdir(getExpandedFilename(LL_PATH_USER_SETTINGS,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_USER_SETTINGS dir " << getExpandedFilename(LL_PATH_USER_SETTINGS,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_USER_SETTINGS dir " << getExpandedFilename(LL_PATH_USER_SETTINGS,"") << LL_ENDL;
}
-
+
res = LLFile::mkdir(getExpandedFilename(LL_PATH_CACHE,""));
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << getExpandedFilename(LL_PATH_CACHE,"") << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create LL_PATH_CACHE dir " << getExpandedFilename(LL_PATH_CACHE,"") << LL_ENDL;
}
-
+
mCAFile = getExpandedFilename(LL_PATH_APP_SETTINGS, "CA.pem");
}
diff --git a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
index 048e7675f8..80702a1079 100644
--- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
+++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
@@ -37,6 +37,11 @@
#include "vlc/vlc.h"
#include "vlc/libvlc_version.h"
+#if LL_WINDOWS
+// needed for waveOut call - see below for description
+#include <mmsystem.h>
+#endif
+
////////////////////////////////////////////////////////////////////////////////
//
class MediaPluginLibVLC :
@@ -55,6 +60,7 @@ private:
void playMedia();
void resetVLC();
void setVolume(const F64 volume);
+ void setVolumeVLC();
void updateTitle(const char* title);
static void* lock(void* data, void** p_pixels);
@@ -221,6 +227,7 @@ void MediaPluginLibVLC::eventCallbacks(const libvlc_event_t* event, void* ptr)
case libvlc_MediaPlayerPlaying:
parent->mDuration = (float)(libvlc_media_get_duration(parent->mLibVLCMedia)) / 1000.0f;
parent->mVlcStatus = STATUS_PLAYING;
+ parent->setVolumeVLC();
break;
case libvlc_MediaPlayerPaused:
@@ -394,30 +401,60 @@ void MediaPluginLibVLC::updateTitle(const char* title)
sendMessage(message);
}
-////////////////////////////////////////////////////////////////////////////////
-//
-void MediaPluginLibVLC::setVolume(const F64 volume)
+void MediaPluginLibVLC::setVolumeVLC()
{
- mCurVolume = volume;
-
if (mLibVLCMediaPlayer)
{
- int result = libvlc_audio_set_volume(mLibVLCMediaPlayer, (int)(volume * 100));
- if (result != 0)
+ int vlc_vol = (int)(mCurVolume * 100);
+
+ int result = libvlc_audio_set_volume(mLibVLCMediaPlayer, vlc_vol);
+ if (result == 0)
+ {
+ // volume change was accepted by LibVLC
+ }
+ else
{
- // volume wasn't set but not much to be done here
+ // volume change was NOT accepted by LibVLC and not actioned
}
+
+#if LL_WINDOWS
+ // https ://jira.secondlife.com/browse/MAINT-8119
+ // CEF media plugin uses code in media_plugins/cef/windows_volume_catcher.cpp to
+ // set the actual output volume of the plugin process since there is no API in
+ // CEF to otherwise do this.
+ // There are explicit calls to change the volume in LibVLC but sometimes they
+ // are ignored SLPlugin.exe process volume is set to 0 so you never heard audio
+ // from the VLC media stream.
+ // The right way to solve this is to move the volume catcher stuff out of
+ // the CEF plugin and into it's own folder under media_plugins and have it referenced
+ // by both CEF and VLC. That's for later. The code there boils down to this so for
+ // now, as we approach a release, the less risky option is to do it directly vs
+ // calls to volume catcher code.
+ DWORD left_channel = (DWORD)(mCurVolume * 65535.0f);
+ DWORD right_channel = (DWORD)(mCurVolume * 65535.0f);
+ DWORD hw_volume = left_channel << 16 | right_channel;
+ waveOutSetVolume(NULL, hw_volume);
+#endif
}
else
{
// volume change was requested but VLC wasn't ready.
- // that's okay thought because we saved the value in mCurVolume and
+ // that's okay though because we saved the value in mCurVolume and
// the next volume change after the VLC system is initilzied will set it
}
}
////////////////////////////////////////////////////////////////////////////////
//
+void MediaPluginLibVLC::setVolume(const F64 volume)
+{
+ mCurVolume = volume;
+
+ setVolumeVLC();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
void MediaPluginLibVLC::receiveMessage(const char* message_string)
{
LLPluginMessage message_in;
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt
index 831446cbd2..ac14c3dfaa 100644
--- a/indra/newview/VIEWER_VERSION.txt
+++ b/indra/newview/VIEWER_VERSION.txt
@@ -1 +1 @@
-5.1.0
+5.1.1
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 087a672d69..b33b3a6410 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -4136,10 +4136,7 @@ void dumpVFSCaches()
S32 res = LLFile::mkdir("StaticVFSDump");
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create dir StaticVFSDump" << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create dir StaticVFSDump" << LL_ENDL;
}
SetCurrentDirectory(utf8str_to_utf16str("StaticVFSDump").c_str());
gStaticVFS->dumpFiles();
@@ -4153,10 +4150,7 @@ void dumpVFSCaches()
res = LLFile::mkdir("VFSDump");
if (res == -1)
{
- if (errno != EEXIST)
- {
- LL_WARNS() << "Couldn't create dir VFSDump" << LL_ENDL;
- }
+ LL_WARNS() << "Couldn't create dir VFSDump" << LL_ENDL;
}
SetCurrentDirectory(utf8str_to_utf16str("VFSDump").c_str());
gVFS->dumpFiles();
diff --git a/indra/newview/llpresetsmanager.cpp b/indra/newview/llpresetsmanager.cpp
index 76d721ecdc..96818d5a21 100644
--- a/indra/newview/llpresetsmanager.cpp
+++ b/indra/newview/llpresetsmanager.cpp
@@ -78,16 +78,10 @@ std::string LLPresetsManager::getPresetsDir(const std::string& subdirectory)
std::string presets_path = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, PRESETS_DIR);
std::string full_path;
- if (!gDirUtilp->fileExists(presets_path))
- {
- LLFile::mkdir(presets_path);
- }
+ LLFile::mkdir(presets_path);
full_path = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, PRESETS_DIR, subdirectory);
- if (!gDirUtilp->fileExists(full_path))
- {
- LLFile::mkdir(full_path);
- }
+ LLFile::mkdir(full_path);
return full_path;
}
diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp
index 435d833345..371da5d0a2 100644
--- a/indra/newview/lltexturecache.cpp
+++ b/indra/newview/lltexturecache.cpp
@@ -1054,11 +1054,11 @@ S64 LLTextureCache::initCache(ELLPath location, S64 max_size, BOOL texture_cache
return max_size ;
}
}
-
+
if (!mReadOnly)
{
LLFile::mkdir(mTexturesDirName);
-
+
const char* subdirs = "0123456789abcdef";
for (S32 i=0; i<16; i++)
{
@@ -1602,11 +1602,11 @@ void LLTextureCache::clearCorruptedCache()
closeHeaderEntriesFile();//close possible file handler
purgeAllTextures(false) ; //clear the cache.
-
+
if (!mReadOnly) //regenerate the directory tree if not exists.
{
LLFile::mkdir(mTexturesDirName);
-
+
const char* subdirs = "0123456789abcdef";
for (S32 i=0; i<16; i++)
{
diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml
index 8a810f32a6..de9ac4247f 100644
--- a/indra/newview/skins/default/xui/en/mime_types.xml
+++ b/indra/newview/skins/default/xui/en/mime_types.xml
@@ -526,7 +526,7 @@
movie
</widgettype>
<impl>
- media_plugin_cef
+ media_plugin_libvlc
</impl>
</mimetype>
</mimetypes>
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index f930e8b2ce..e0c332681e 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -689,10 +689,10 @@ class WindowsManifest(ViewerManifest):
self.path("zh-CN.pak")
self.path("zh-TW.pak")
- with self.prefix(src=os.path.join(pkgdir, 'bin', 'release'), dst="llplugin"):
- self.path("libvlc.dll")
- self.path("libvlccore.dll")
- self.path("plugins/")
+ with self.prefix(src=os.path.join(pkgdir, 'bin', 'release'), dst="llplugin"):
+ self.path("libvlc.dll")
+ self.path("libvlccore.dll")
+ self.path("plugins/")
# pull in the crash logger and updater from other projects
# tag:"crash-logger" here as a cue to the exporter
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt
index 3f12431acc..8344cead57 100644
--- a/indra/test/CMakeLists.txt
+++ b/indra/test/CMakeLists.txt
@@ -73,9 +73,6 @@ if (NOT WINDOWS)
list(APPEND test_SOURCE_FILES
llmessagetemplateparser_tut.cpp
)
- set(EXTRA_WINDOWS_LIBRARIES "")
-else (NOT WINDOWS)
- set(EXTRA_WINDOWS_LIBRARIES ole32)
endif (NOT WINDOWS)
set_source_files_properties(${test_HEADER_FILES}
@@ -99,7 +96,6 @@ target_link_libraries(lltest
${GOOGLEMOCK_LIBRARIES}
${PTHREAD_LIBRARY}
${WINDOWS_LIBRARIES}
- ${EXTRA_WINDOWS_LIBRARIES}
${BOOST_PROGRAM_OPTIONS_LIBRARY}
${BOOST_REGEX_LIBRARY}
${BOOST_COROUTINE_LIBRARY}