[SCM] A client for connecting to 3D metaverses such as Linden Labs Secondlife(tm) and OpenSim grids branch, master, updated. upstream/1.20.8-16-g79a8c8e
Robin Cornelius
robin.cornelius at gmail.com
Mon Jun 9 21:02:08 UTC 2008
The following commit has been merged in the master branch:
commit 79a8c8ee0be962b2fe114bb399ed7b9898cc44aa
Author: Robin Cornelius <robin.cornelius at gmail.com>
Date: Mon Jun 9 19:47:04 2008 +0100
Add texture cache patch
diff --git a/debian/patches/0000_no_texture_cache_madness.dpatch b/debian/patches/0000_no_texture_cache_madness.dpatch
new file mode 100755
index 0000000..b8cd7b3
--- /dev/null
+++ b/debian/patches/0000_no_texture_cache_madness.dpatch
@@ -0,0 +1,80 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Less texture cache madness.dpatch by <robin at debian>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+
+diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp
+index 8240f77..b2bd12c 100644
+--- a/indra/newview/lltexturecache.cpp
++++ b/indra/newview/lltexturecache.cpp
+@@ -477,12 +477,36 @@ bool LLTextureCacheRemoteWorker::doRead()
+ }
+ }
+ #else
++ std::string filename = mCache->getTextureFileName(mID);
++ S32 filesize = ll_apr_file_size(filename+".j2c", mCache->getFileAPRPool());
++ if(filesize==0)
++ {
++ mDataSize = -1;
++ return true;
++ }
++
++ mReadData = new U8[mBytesToRead];
++
++ S32 bytes_read = ll_apr_file_read_ex(filename+".j2c", mCache->getFileAPRPool(), mReadData, 0, mDataSize);
++
++ if (bytes_read != mDataSize)
++ {
++ llwarns << "LLTextureCacheWorker: " << mID
++ << " incorrect number of bytes read from header: " << bytes_read
++ << " / " << mDataSize << llendl;
++ mDataSize = -1; // failed
++ return true;
++ }
++
++ return true;
++
++
+ llassert_always(idx >= 0);
+ llassert_always(mOffset < TEXTURE_CACHE_ENTRY_SIZE);
+ S32 offset = idx * TEXTURE_CACHE_ENTRY_SIZE + mOffset;
+ S32 size = TEXTURE_CACHE_ENTRY_SIZE - mOffset;
+ mReadData = new U8[size];
+- S32 bytes_read = ll_apr_file_read_ex(mCache->mHeaderDataFileName, mCache->getFileAPRPool(),
++ bytes_read = ll_apr_file_read_ex(mCache->mHeaderDataFileName, mCache->getFileAPRPool(),
+ mReadData, offset, size);
+ if (bytes_read != size)
+ {
+@@ -617,6 +641,19 @@ bool LLTextureCacheRemoteWorker::doWrite()
+ S32 idx = -1;
+
+ // No LOCAL state for write()
++
++ std::string filename = mCache->getTextureFileName(mID);
++
++ S32 bytes_written = ll_apr_file_write_ex(filename+".j2c", mCache->getFileAPRPool(), mWriteData, 0, mDataSize);
++
++ if (bytes_written <= 0)
++ {
++ llwarns << "LLTextureCacheWorker: missing entry: " << mID << llendl;
++ mDataSize = -1; // failed
++ return true;
++ }
++
++ return true;
+
+ if (mState == INIT)
+ {
+@@ -696,6 +733,9 @@ bool LLTextureCacheRemoteWorker::doWrite()
+ S32 bytes_written = ll_apr_file_write_ex(mCache->mHeaderDataFileName, mCache->getFileAPRPool(),
+ mWriteData, offset, size);
+
++
++
++
+ if (bytes_written <= 0)
+ {
+ llwarns << "LLTextureCacheWorker: missing entry: " << mID << llendl;
diff --git a/debian/patches/00list b/debian/patches/00list
index a0a9136..d0c7088 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -96,3 +96,4 @@ VWR-1815_top_corner_fix.dpatch
VWR-5697_fix_startup_paths.dpatch
VWR-7271_fix_mutlist_for_amd64.dpatch
0000_valgrind_wild_vars.dpatch
+0000_no_texture_cache_madness.dpatch
--
A client for connecting to 3D metaverses such as Linden Labs Secondlife(tm) and OpenSim grids
More information about the Pkg-games-commits
mailing list