Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Damian Zhaoying
2012-07-18 03:16:39 -03:00
41 changed files with 436 additions and 324 deletions

View File

@@ -269,14 +269,23 @@ if (DARWIN)
add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE) add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE)
set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first") set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-branch") if(${CMAKE_C_COMPILER} MATCHES "gcc*")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-branch") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-branch")
# NOTE: it's critical that the optimization flag is put in front. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-branch")
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered. # NOTE: it's critical that the optimization flag is put in front.
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}") # NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
elseif(${CMAKE_C_COMPILER} MATCHES "clang*")
# NOTE: it's critical that the optimization flag is put in front.
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse3")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -msse3")
endif()
endif (DARWIN) endif (DARWIN)

View File

@@ -14,6 +14,9 @@ else (STANDALONE)
optimized libcurl) optimized libcurl)
else (WINDOWS) else (WINDOWS)
set(CURL_LIBRARIES curl) set(CURL_LIBRARIES curl)
if(LINUX AND WORD_SIZE EQUAL 64)
list(APPEND CURL_LIBRARIES idn)
endif(LINUX AND WORD_SIZE EQUAL 64)
endif (WINDOWS) endif (WINDOWS)
set(CURL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) set(CURL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
endif (STANDALONE) endif (STANDALONE)

View File

@@ -18,7 +18,7 @@ if (NOT FMODEX_LIBRARY)
set(FMODEX_SDK_DIR CACHE PATH "Path to the FMOD Ex SDK.") set(FMODEX_SDK_DIR CACHE PATH "Path to the FMOD Ex SDK.")
if (FMODEX_SDK_DIR) if (FMODEX_SDK_DIR)
find_library(FMODEX_LIBRARY find_library(FMODEX_LIBRARY
fmodex fmodex_vc fmodexL_vc fmodex_vc fmodexL_vc fmodex fmodexL fmodex64 fmodexL64
PATHS PATHS
${FMODEX_SDK_DIR}/api/lib ${FMODEX_SDK_DIR}/api/lib
${FMODEX_SDK_DIR}/api ${FMODEX_SDK_DIR}/api

View File

@@ -1,12 +1,16 @@
# -*- cmake -*- # -*- cmake -*-
include(Prebuilt) include(Prebuilt)
if(WORD_SIZE EQUAL 64)
set(DISABLE_TCMALLOC TRUE)
endif(WORD_SIZE EQUAL 64)
if (STANDALONE) if (STANDALONE)
include(FindGooglePerfTools) include(FindGooglePerfTools)
else (STANDALONE) else (STANDALONE)
if (LINUX OR WINDOWS) if (LINUX OR WINDOWS AND NOT WORD_SIZE EQUAL 64)
use_prebuilt_binary(gperftools) use_prebuilt_binary(gperftools)
endif (LINUX OR WINDOWS) endif (LINUX OR WINDOWS AND NOT WORD_SIZE EQUAL 64)
if (WINDOWS) if (WINDOWS)
set(TCMALLOC_LIBRARIES libtcmalloc_minimal.lib) set(TCMALLOC_LIBRARIES libtcmalloc_minimal.lib)
set(TCMALLOC_LINKER_FLAGS "/INCLUDE:\"__tcmalloc\"") set(TCMALLOC_LINKER_FLAGS "/INCLUDE:\"__tcmalloc\"")

View File

@@ -13,8 +13,8 @@ else (STANDALONE)
set(JPEG_LIBRARIES jpeg) set(JPEG_LIBRARIES jpeg)
elseif (DARWIN) elseif (DARWIN)
set(JPEG_LIBRARIES set(JPEG_LIBRARIES
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/liblljpeg.a optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libjpeg.a
debug ${ARCH_PREBUILT_DIRS_DEBUG}/liblljpeg.a debug ${ARCH_PREBUILT_DIRS_DEBUG}/libjpeg.a
) )
elseif (WINDOWS) elseif (WINDOWS)
set(JPEG_LIBRARIES jpeglib) set(JPEG_LIBRARIES jpeglib)

View File

@@ -14,7 +14,7 @@ else (STANDALONE)
debug json_vc${MSVC_SUFFIX}d debug json_vc${MSVC_SUFFIX}d
optimized json_vc${MSVC_SUFFIX}) optimized json_vc${MSVC_SUFFIX})
elseif (DARWIN) elseif (DARWIN)
set(JSONCPP_LIBRARIES json_mac-universal-gcc_libmt) set(JSONCPP_LIBRARIES json_linux-gcc-4.0.1_libmt)
elseif (LINUX) elseif (LINUX)
set(JSONCPP_LIBRARIES jsoncpp) set(JSONCPP_LIBRARIES jsoncpp)
endif (WINDOWS) endif (WINDOWS)

View File

@@ -18,7 +18,11 @@ else (STANDALONE)
use_prebuilt_binary(SDL) use_prebuilt_binary(SDL)
set (SDL_FOUND TRUE) set (SDL_FOUND TRUE)
set (SDL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}) set (SDL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR})
set (SDL_LIBRARY SDL directfb fusion direct) if(WORD_SIZE EQUAL 64)
set (SDL_LIBRARY SDL)
else(WORD_SIZE EQUAL 64)
set (SDL_LIBRARY SDL directfb fusion direct)
endif(WORD_SIZE EQUAL 64)
endif (LINUX) endif (LINUX)
endif (STANDALONE) endif (STANDALONE)

View File

@@ -10,9 +10,9 @@ if (NOT STANDALONE)
set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS}) set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS})
set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS}) set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS})
elseif (DARWIN) elseif (DARWIN)
set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release) set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib)
set(ARCH_PREBUILT_DIRS ${ARCH_PREBUILT_DIRS_RELEASE}) set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release)
set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS_RELEASE}) set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug)
endif (WINDOWS) endif (WINDOWS)
endif (NOT STANDALONE) endif (NOT STANDALONE)

View File

@@ -16,8 +16,6 @@ else (STANDALONE)
set(OPENSSL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) set(OPENSSL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
endif (STANDALONE) endif (STANDALONE)
if (LINUX) if (LINUX OR DARWIN)
set(CRYPTO_LIBRARIES crypto) set(CRYPTO_LIBRARIES crypto)
elseif (DARWIN) endif (LINUX OR DARWIN)
set(CRYPTO_LIBRARIES llcrypto)
endif (LINUX)

View File

@@ -76,37 +76,36 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(DARWIN 1) set(DARWIN 1)
#SDK Compiler and Deployment targets for XCode if(${CMAKE_GENERATOR} MATCHES Xcode)
if (${XCODE_VERSION} VERSION_LESS 4.0.0) #SDK Compiler and Deployment targets for XCode
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) if (${XCODE_VERSION} VERSION_LESS 4.0.0)
set(CMAKE_XCODE_ATTIBUTE_GCC_VERSION "4.2") set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk)
else (${XCODE_VERSION} VERSION_LESS 4.0.0) set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
set(CMAKE_XCODE_ATTIBUTE_GCC_VERSION "4.2")
else (${XCODE_VERSION} VERSION_LESS 4.0.0)
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
endif (${XCODE_VERSION} VERSION_LESS 4.0.0)
else()
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk) set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
endif (${XCODE_VERSION} VERSION_LESS 4.0.0) endif(${CMAKE_GENERATOR} MATCHES Xcode)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5) ## We currently support only 32-bit i386 builds, so use these:
set(CMAKE_OSX_ARCHITECTURES i386)
set(ARCH i386)
set(WORD_SIZE 32)
# NOTE: To attempt an i386/PPC Universal build, add this on the configure line: ## But if you want to compile for mixed 32/64 bit, try these:
# -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc' # set(CMAKE_OSX_ARCHITECTURES i386;x86_64)
# Build only for i386 by default, system default on MacOSX 10.6 is x86_64 # set(ARCH universal)
if (NOT CMAKE_OSX_ARCHITECTURES) # set(WORD_SIZE 64)
set(CMAKE_OSX_ARCHITECTURES i386)
endif (NOT CMAKE_OSX_ARCHITECTURES)
if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
set(ARCH universal)
else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
set(ARCH ppc)
else (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
set(ARCH i386)
endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
## Finally, set up the build output directories
set(LL_ARCH ${ARCH}_darwin) set(LL_ARCH ${ARCH}_darwin)
set(LL_ARCH_DIR universal-darwin) set(LL_ARCH_DIR universal-darwin)
set(WORD_SIZE 32)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

View File

@@ -43,10 +43,14 @@ template <typename Type> class LLAtomic32;
typedef LLAtomic32<U32> LLAtomicU32; typedef LLAtomic32<U32> LLAtomicU32;
class LLErrorThread; class LLErrorThread;
class LLLiveFile; class LLLiveFile;
#if LL_LINUX #if LL_LINUX
typedef struct siginfo siginfo_t; #include <signal.h>
//typedef struct siginfo siginfo_t; //Removed as per changes in glibc 2.16 - Drake Arconis
#endif #endif
typedef void (*LLAppErrorHandler)(); typedef void (*LLAppErrorHandler)();
typedef void (*LLAppChildCallback)(int pid, bool exited, int status); typedef void (*LLAppChildCallback)(int pid, bool exited, int status);

View File

@@ -516,4 +516,5 @@ extern BOOL gGLActive;
#ifndef GL_DEPTH24_STENCIL8 #ifndef GL_DEPTH24_STENCIL8
#define GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_EXT #define GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_EXT
#endif #endif
#endif // LL_LLGL_H #endif // LL_LLGL_H

View File

@@ -783,6 +783,7 @@ extern PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB;
extern PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB; extern PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB;
extern PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB; extern PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB;
extern PFNGLGETDEBUGMESSAGELOGARBPROC glGetDebugMessageLogARB; extern PFNGLGETDEBUGMESSAGELOGARBPROC glGetDebugMessageLogARB;
#elif LL_DARWIN #elif LL_DARWIN
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// LL_DARWIN // LL_DARWIN
@@ -825,6 +826,7 @@ extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_A
#define glGenerateMipmap glGenerateMipmapEXT #define glGenerateMipmap glGenerateMipmapEXT
#define GL_MAX_SAMPLES 0x8D57 #define GL_MAX_SAMPLES 0x8D57
#endif #endif
// GL_ARB_draw_buffers // GL_ARB_draw_buffers
extern void glDrawBuffersARB(GLsizei n, const GLenum* bufs) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern void glDrawBuffersARB(GLsizei n, const GLenum* bufs) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
@@ -997,7 +999,7 @@ extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
} }
#endif #endif
#include <AGL/gl.h> #include <OpenGL/gl.h>
#endif // LL_MESA / LL_WINDOWS / LL_DARWIN #endif // LL_MESA / LL_WINDOWS / LL_DARWIN
@@ -1029,4 +1031,5 @@ extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC #define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD #define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
#endif #endif
#endif // LL_LLGLHEADERS_H #endif // LL_LLGLHEADERS_H

View File

@@ -231,7 +231,6 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
if (features->hasLighting) if (features->hasLighting)
{ {
if (features->hasWaterFog) if (features->hasWaterFog)
{ {
if (features->disableTextureIndex) if (features->disableTextureIndex)
@@ -571,7 +570,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
return 0; return 0;
} }
//we can't have any lines longer than 1024 characters //we can't have any lines longer than 1024 characters
//or any shaders longer than 4096 lines... deal - DaveP //or any shaders longer than 4096 lines... deal - DaveP
GLcharARB buff[1024]; GLcharARB buff[1024];
GLcharARB* text[4096]; GLcharARB* text[4096];

View File

@@ -45,17 +45,20 @@ class LLMouseHandler
public: public:
LLMouseHandler() {} LLMouseHandler() {}
virtual ~LLMouseHandler() {} virtual ~LLMouseHandler() {}
typedef enum { typedef enum {
SHOW_NEVER, SHOW_NEVER,
SHOW_IF_NOT_BLOCKED, SHOW_IF_NOT_BLOCKED,
SHOW_ALWAYS, SHOW_ALWAYS,
} EShowToolTip; } EShowToolTip;
typedef enum { typedef enum {
CLICK_LEFT, CLICK_LEFT,
CLICK_MIDDLE, CLICK_MIDDLE,
CLICK_RIGHT, CLICK_RIGHT,
CLICK_DOUBLELEFT CLICK_DOUBLELEFT
} EClickType; } EClickType;
virtual BOOL handleAnyMouseClick(S32 x, S32 y, MASK mask, EClickType clicktype, BOOL down); virtual BOOL handleAnyMouseClick(S32 x, S32 y, MASK mask, EClickType clicktype, BOOL down);
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask) = 0; virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask) = 0;
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask) = 0; virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask) = 0;

View File

@@ -113,6 +113,7 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags)
mSupportedResolutions(NULL), mSupportedResolutions(NULL),
mNumSupportedResolutions(0), mNumSupportedResolutions(0),
mCurrentCursor(UI_CURSOR_ARROW), mCurrentCursor(UI_CURSOR_ARROW),
mNextCursor(UI_CURSOR_ARROW),
mCursorHidden(FALSE), mCursorHidden(FALSE),
mBusyCount(0), mBusyCount(0),
mIsMouseClipping(FALSE), mIsMouseClipping(FALSE),
@@ -125,7 +126,6 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags)
LLWindow::~LLWindow() LLWindow::~LLWindow()
{ {
} }
//virtual //virtual
@@ -139,6 +139,7 @@ BOOL LLWindow::canDelete()
{ {
return TRUE; return TRUE;
} }
// virtual // virtual
void LLWindow::incBusyCount() void LLWindow::incBusyCount()
{ {

View File

@@ -104,12 +104,14 @@ public:
virtual S32 getBusyCount() const; virtual S32 getBusyCount() const;
// Sets cursor, may set to arrow+hourglass // Sets cursor, may set to arrow+hourglass
virtual void setCursor(ECursorType cursor) = 0; virtual void setCursor(ECursorType cursor) { mNextCursor = cursor; };
virtual ECursorType getCursor() const; virtual ECursorType getCursor() const;
virtual void updateCursor() = 0;
virtual void captureMouse() = 0; virtual void captureMouse() = 0;
virtual void releaseMouse() = 0; virtual void releaseMouse() = 0;
virtual void setMouseClipping( BOOL b ) = 0; virtual void setMouseClipping( BOOL b ) = 0;
virtual BOOL isClipboardTextAvailable() = 0; virtual BOOL isClipboardTextAvailable() = 0;
virtual BOOL pasteTextFromClipboard(LLWString &dst) = 0; virtual BOOL pasteTextFromClipboard(LLWString &dst) = 0;
virtual BOOL copyTextToClipboard(const LLWString &src) = 0; virtual BOOL copyTextToClipboard(const LLWString &src) = 0;
@@ -196,6 +198,7 @@ protected:
LLWindowResolution* mSupportedResolutions; LLWindowResolution* mSupportedResolutions;
S32 mNumSupportedResolutions; S32 mNumSupportedResolutions;
ECursorType mCurrentCursor; ECursorType mCurrentCursor;
ECursorType mNextCursor;
BOOL mCursorHidden; BOOL mCursorHidden;
S32 mBusyCount; // how deep is the "cursor busy" stack? S32 mBusyCount; // how deep is the "cursor busy" stack?
BOOL mIsMouseClipping; // Is this window currently clipping the mouse BOOL mIsMouseClipping; // Is this window currently clipping the mouse

View File

@@ -91,5 +91,4 @@ public:
}; };
#endif #endif

View File

@@ -61,7 +61,7 @@ public:
/*virtual*/ void showCursorFromMouseMove() {}; /*virtual*/ void showCursorFromMouseMove() {};
/*virtual*/ void hideCursorUntilMouseMove() {}; /*virtual*/ void hideCursorUntilMouseMove() {};
/*virtual*/ BOOL isCursorHidden() {return FALSE;}; /*virtual*/ BOOL isCursorHidden() {return FALSE;};
/*virtual*/ void setCursor(ECursorType cursor) {}; /*virtual*/ void updateCursor() {};
//virtual ECursorType getCursor() { return mCurrentCursor; }; //virtual ECursorType getCursor() { return mCurrentCursor; };
/*virtual*/ void captureMouse() {}; /*virtual*/ void captureMouse() {};
/*virtual*/ void releaseMouse() {}; /*virtual*/ void releaseMouse() {};

View File

@@ -50,6 +50,11 @@ void setupCocoa()
{ {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// The following prevents the Cocoa command line parser from trying to open 'unknown' arguements as documents.
// ie. running './secondlife -set Language fr' would cause a pop-up saying can't open document 'fr'
// when init'ing the Cocoa App window.
[[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:@"NSTreatUnknownArgumentsAsOpen"];
// This is a bit of voodoo taken from the Apple sample code "CarbonCocoa_PictureCursor": // This is a bit of voodoo taken from the Apple sample code "CarbonCocoa_PictureCursor":
// http://developer.apple.com/samplecode/CarbonCocoa_PictureCursor/index.html // http://developer.apple.com/samplecode/CarbonCocoa_PictureCursor/index.html
@@ -60,6 +65,8 @@ void setupCocoa()
[[[NSWindow alloc] init] release]; [[[NSWindow alloc] init] release];
[pool release]; [pool release];
inited = true;
} }
} }

View File

@@ -484,7 +484,6 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
true, true,
(long)this); (long)this);
if (!mWindow) if (!mWindow)
{ {
setupFailure("Window creation error", "Error", OSMB_OK); setupFailure("Window creation error", "Error", OSMB_OK);
@@ -581,16 +580,16 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
AGL_NO_RECOVERY, AGL_NO_RECOVERY,
AGL_DOUBLEBUFFER, AGL_DOUBLEBUFFER,
AGL_CLOSEST_POLICY, AGL_CLOSEST_POLICY,
AGL_ACCELERATED, AGL_ACCELERATED,
AGL_SAMPLE_BUFFERS_ARB, mFSAASamples > 0 ? 1 : 0, AGL_SAMPLE_BUFFERS_ARB, mFSAASamples > 0 ? 1 : 0,
AGL_SAMPLES_ARB, mFSAASamples, AGL_SAMPLES_ARB, mFSAASamples,
AGL_RED_SIZE, 8, AGL_RED_SIZE, 8,
AGL_GREEN_SIZE, 8, AGL_GREEN_SIZE, 8,
AGL_BLUE_SIZE, 8, AGL_BLUE_SIZE, 8,
AGL_ALPHA_SIZE, 8, AGL_ALPHA_SIZE, 8,
AGL_DEPTH_SIZE, 24, AGL_DEPTH_SIZE, 24,
AGL_STENCIL_SIZE, 8, AGL_STENCIL_SIZE, 8,
AGL_NONE AGL_NONE
}; };
LL_DEBUGS("Window") << "createContext: creating windowed pixelformat" << LL_ENDL; LL_DEBUGS("Window") << "createContext: creating windowed pixelformat" << LL_ENDL;
@@ -1042,6 +1041,7 @@ void LLWindowMacOSX::hide()
HideWindow(mWindow); HideWindow(mWindow);
} }
//virtual
void LLWindowMacOSX::minimize() void LLWindowMacOSX::minimize()
{ {
setMouseClipping(FALSE); setMouseClipping(FALSE);
@@ -1049,6 +1049,7 @@ void LLWindowMacOSX::minimize()
CollapseWindow(mWindow, true); CollapseWindow(mWindow, true);
} }
//virtual
void LLWindowMacOSX::restore() void LLWindowMacOSX::restore()
{ {
show(); show();
@@ -1169,6 +1170,8 @@ void LLWindowMacOSX::gatherInput()
} }
} }
updateCursor();
} }
BOOL LLWindowMacOSX::getPosition(LLCoordScreen *position) BOOL LLWindowMacOSX::getPosition(LLCoordScreen *position)
@@ -1441,7 +1444,7 @@ static void fixOrigin(void)
::GetPortBounds(port, &portrect); ::GetPortBounds(port, &portrect);
if((portrect.left != 0) || (portrect.top != 0)) if((portrect.left != 0) || (portrect.top != 0))
{ {
// Mozilla sometimes changes our port origin. Fuckers. // Mozilla sometimes changes our port origin.
::SetOrigin(0,0); ::SetOrigin(0,0);
} }
} }
@@ -2133,6 +2136,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
{ {
UInt32 modifiers = 0; UInt32 modifiers = 0;
// First, process the raw event. // First, process the raw event.
{ {
EventRef rawEvent = NULL; EventRef rawEvent = NULL;
@@ -2843,7 +2847,7 @@ static void initPixmapCursor(int cursorid, int hotspotX, int hotspotY)
gCursors[cursorid] = createImageCursor(fullpath.c_str(), hotspotX, hotspotY); gCursors[cursorid] = createImageCursor(fullpath.c_str(), hotspotX, hotspotY);
} }
void LLWindowMacOSX::setCursor(ECursorType cursor) void LLWindowMacOSX::updateCursor()
{ {
OSStatus result = noErr; OSStatus result = noErr;
@@ -2851,30 +2855,30 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
{ {
// A drag is in progress...remember the requested cursor and we'll // A drag is in progress...remember the requested cursor and we'll
// restore it when it is done // restore it when it is done
mCurrentCursor = cursor; mCurrentCursor = mNextCursor;
return; return;
} }
if (cursor == UI_CURSOR_ARROW if (mNextCursor == UI_CURSOR_ARROW
&& mBusyCount > 0) && mBusyCount > 0)
{ {
cursor = UI_CURSOR_WORKING; mNextCursor = UI_CURSOR_WORKING;
} }
if(mCurrentCursor == cursor) if(mCurrentCursor == mNextCursor)
return; return;
// RN: replace multi-drag cursors with single versions // RN: replace multi-drag cursors with single versions
if (cursor == UI_CURSOR_ARROWDRAGMULTI) if (mNextCursor == UI_CURSOR_ARROWDRAGMULTI)
{ {
cursor = UI_CURSOR_ARROWDRAG; mNextCursor = UI_CURSOR_ARROWDRAG;
} }
else if (cursor == UI_CURSOR_ARROWCOPYMULTI) else if (mNextCursor == UI_CURSOR_ARROWCOPYMULTI)
{ {
cursor = UI_CURSOR_ARROWCOPY; mNextCursor = UI_CURSOR_ARROWCOPY;
} }
switch(cursor) switch(mNextCursor)
{ {
default: default:
case UI_CURSOR_ARROW: case UI_CURSOR_ARROW:
@@ -2926,7 +2930,7 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
case UI_CURSOR_TOOLBUY: case UI_CURSOR_TOOLBUY:
case UI_CURSOR_TOOLOPEN: case UI_CURSOR_TOOLOPEN:
case UI_CURSOR_TOOLPAY: case UI_CURSOR_TOOLPAY:
result = setImageCursor(gCursors[cursor]); result = setImageCursor(gCursors[mNextCursor]);
break; break;
} }
@@ -2936,7 +2940,7 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
InitCursor(); InitCursor();
} }
mCurrentCursor = cursor; mCurrentCursor = mNextCursor;
} }
ECursorType LLWindowMacOSX::getCursor() const ECursorType LLWindowMacOSX::getCursor() const
@@ -2967,9 +2971,9 @@ void LLWindowMacOSX::initCursors()
initPixmapCursor(UI_CURSOR_TOOLPLAY, 1, 1); initPixmapCursor(UI_CURSOR_TOOLPLAY, 1, 1);
initPixmapCursor(UI_CURSOR_TOOLPAUSE, 1, 1); initPixmapCursor(UI_CURSOR_TOOLPAUSE, 1, 1);
initPixmapCursor(UI_CURSOR_TOOLMEDIAOPEN, 1, 1); initPixmapCursor(UI_CURSOR_TOOLMEDIAOPEN, 1, 1);
initPixmapCursor(UI_CURSOR_TOOLSIT, 1, 1); initPixmapCursor(UI_CURSOR_TOOLSIT, 20, 15);
initPixmapCursor(UI_CURSOR_TOOLBUY, 1, 1); initPixmapCursor(UI_CURSOR_TOOLBUY, 20, 15);
initPixmapCursor(UI_CURSOR_TOOLOPEN, 1, 1); initPixmapCursor(UI_CURSOR_TOOLOPEN, 20, 15);
initPixmapCursor(UI_CURSOR_TOOLPAY, 1, 1); initPixmapCursor(UI_CURSOR_TOOLPAY, 1, 1);
initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10); initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10);

View File

@@ -73,7 +73,7 @@ public:
/*virtual*/ void showCursorFromMouseMove(); /*virtual*/ void showCursorFromMouseMove();
/*virtual*/ void hideCursorUntilMouseMove(); /*virtual*/ void hideCursorUntilMouseMove();
/*virtual*/ BOOL isCursorHidden(); /*virtual*/ BOOL isCursorHidden();
/*virtual*/ void setCursor(ECursorType cursor); /*virtual*/ void updateCursor();
/*virtual*/ ECursorType getCursor() const; /*virtual*/ ECursorType getCursor() const;
/*virtual*/ void captureMouse(); /*virtual*/ void captureMouse();
/*virtual*/ void releaseMouse(); /*virtual*/ void releaseMouse();

View File

@@ -65,7 +65,7 @@ public:
/*virtual*/ void showCursorFromMouseMove() {}; /*virtual*/ void showCursorFromMouseMove() {};
/*virtual*/ void hideCursorUntilMouseMove() {}; /*virtual*/ void hideCursorUntilMouseMove() {};
/*virtual*/ BOOL isCursorHidden() {return FALSE;}; /*virtual*/ BOOL isCursorHidden() {return FALSE;};
/*virtual*/ void setCursor(ECursorType cursor) {}; /*virtual*/ void updateCursor() {};
//virtual ECursorType getCursor() { return mCurrentCursor; }; //virtual ECursorType getCursor() { return mCurrentCursor; };
/*virtual*/ void captureMouse() {}; /*virtual*/ void captureMouse() {};
/*virtual*/ void releaseMouse() {}; /*virtual*/ void releaseMouse() {};

View File

@@ -39,6 +39,7 @@
#include "llwindowcallbacks.h" #include "llwindowcallbacks.h"
#include "llkeyboardsdl.h" #include "llkeyboardsdl.h"
#include "llerror.h" #include "llerror.h"
#include "llgl.h" #include "llgl.h"
#include "llstring.h" #include "llstring.h"
@@ -221,15 +222,14 @@ LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks,
#endif // LL_X11 #endif // LL_X11
#if LL_GTK #if LL_GTK
// We MUST be the first to initialize GTK, i.e. we have to beat // We MUST be the first to initialize GTK so that GTK doesn't get badly
// our embedded Mozilla to the punch so that GTK doesn't get badly
// initialized with a non-C locale and cause lots of serious random // initialized with a non-C locale and cause lots of serious random
// weirdness. // weirdness.
ll_try_gtk_init(); ll_try_gtk_init();
#endif // LL_GTK #endif // LL_GTK
// Get the original aspect ratio of the main device. // Assume 4:3 aspect ratio until we know better
mOriginalAspectRatio = 1024.0 / 768.0; // !!! *FIX: ? //(double)CGDisplayPixelsWide(mDisplay) / (double)CGDisplayPixelsHigh(mDisplay); mOriginalAspectRatio = 1024.0 / 768.0;
if (title.empty()) if (title.empty())
mWindowTitle = "SDL Window"; // *FIX: (???) mWindowTitle = "SDL Window"; // *FIX: (???)
@@ -425,7 +425,6 @@ static int x11_detect_VRAM_kb()
BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, BOOL fullscreen, BOOL disable_vsync) BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, BOOL fullscreen, BOOL disable_vsync)
{ {
//bool glneedsinit = false; //bool glneedsinit = false;
// const char *gllibname = null;
llinfos << "createContext, fullscreen=" << fullscreen << llinfos << "createContext, fullscreen=" << fullscreen <<
" size=" << width << "x" << height << llendl; " size=" << width << "x" << height << llendl;
@@ -856,11 +855,13 @@ void LLWindowSDL::hide()
// *FIX: What to do with SDL? // *FIX: What to do with SDL?
} }
//virtual
void LLWindowSDL::minimize() void LLWindowSDL::minimize()
{ {
// *FIX: What to do with SDL? // *FIX: What to do with SDL?
} }
//virtual
void LLWindowSDL::restore() void LLWindowSDL::restore()
{ {
// *FIX: What to do with SDL? // *FIX: What to do with SDL?
@@ -1680,12 +1681,13 @@ void check_vm_bloat()
} }
#endif // LL_LINUX #endif // LL_LINUX
} }
// virtual // virtual
void LLWindowSDL::processMiscNativeEvents() void LLWindowSDL::processMiscNativeEvents()
{ {
#if LL_GTK #if LL_GTK
// Pump GTK events to avoid starvation for: // Pump GTK events to avoid starvation for:
// * Embedded Gecko
// * DBUS servicing // * DBUS servicing
// * Anything else which quietly hooks into the default glib/GTK loop // * Anything else which quietly hooks into the default glib/GTK loop
if (ll_try_gtk_init()) if (ll_try_gtk_init())
@@ -1721,7 +1723,7 @@ void LLWindowSDL::processMiscNativeEvents()
void LLWindowSDL::gatherInput() void LLWindowSDL::gatherInput()
{ {
const Uint32 CLICK_THRESHOLD = 500; // milliseconds const Uint32 CLICK_THRESHOLD = 500; // milliseconds
static int leftClick = 0; static int leftClick = 0;
static int rightClick = 0; static int rightClick = 0;
static Uint32 lastLeftDown = 0; static Uint32 lastLeftDown = 0;
@@ -1747,16 +1749,17 @@ void LLWindowSDL::gatherInput()
mKeyScanCode = event.key.keysym.scancode; mKeyScanCode = event.key.keysym.scancode;
mKeyVirtualKey = event.key.keysym.unicode; mKeyVirtualKey = event.key.keysym.unicode;
mKeyModifiers = event.key.keysym.mod; mKeyModifiers = event.key.keysym.mod;
gKeyboard->handleKeyDown(event.key.keysym.sym, event.key.keysym.mod);
// part of the fix for SL-13243
if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0)
SDLReallyCaptureInput(TRUE);
if (event.key.keysym.unicode) gKeyboard->handleKeyDown(event.key.keysym.sym, event.key.keysym.mod);
{ // part of the fix for SL-13243
handleUnicodeUTF16(event.key.keysym.unicode, if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0)
gKeyboard->currentMask(FALSE)); SDLReallyCaptureInput(TRUE);
}
if (event.key.keysym.unicode)
{
handleUnicodeUTF16(event.key.keysym.unicode,
gKeyboard->currentMask(FALSE));
}
break; break;
case SDL_KEYUP: case SDL_KEYUP:
@@ -1767,8 +1770,8 @@ void LLWindowSDL::gatherInput()
if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0) if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0)
SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243 SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243
gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod); gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod);
break; break;
case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONDOWN:
{ {
@@ -1933,6 +1936,8 @@ void LLWindowSDL::gatherInput()
} }
} }
updateCursor();
#if LL_X11 #if LL_X11
// This is a good time to stop flashing the icon if our mFlashTimer has // This is a good time to stop flashing the icon if our mFlashTimer has
// expired. // expired.
@@ -2018,7 +2023,7 @@ static SDL_Cursor *makeSDLCursorFromBMP(const char *filename, int hotx, int hoty
return sdlcursor; return sdlcursor;
} }
void LLWindowSDL::setCursor(ECursorType cursor) void LLWindowSDL::updateCursor()
{ {
if (ATIbug) { if (ATIbug) {
// cursor-updating is very flaky when this bug is // cursor-updating is very flaky when this bug is
@@ -2026,11 +2031,11 @@ void LLWindowSDL::setCursor(ECursorType cursor)
return; return;
} }
if (mCurrentCursor != cursor) if (mCurrentCursor != mNextCursor)
{ {
if (cursor < UI_CURSOR_COUNT) if (mNextCursor < UI_CURSOR_COUNT)
{ {
SDL_Cursor *sdlcursor = mSDLCursors[cursor]; SDL_Cursor *sdlcursor = mSDLCursors[mNextCursor];
// Try to default to the arrow for any cursors that // Try to default to the arrow for any cursors that
// did not load correctly. // did not load correctly.
if (!sdlcursor && mSDLCursors[UI_CURSOR_ARROW]) if (!sdlcursor && mSDLCursors[UI_CURSOR_ARROW])
@@ -2038,9 +2043,9 @@ void LLWindowSDL::setCursor(ECursorType cursor)
if (sdlcursor) if (sdlcursor)
SDL_SetCursor(sdlcursor); SDL_SetCursor(sdlcursor);
} else { } else {
llwarns << "Tried to set invalid cursor number " << cursor << llendl; llwarns << "Tried to set invalid cursor number " << mNextCursor << llendl;
} }
mCurrentCursor = cursor; mCurrentCursor = mNextCursor;
} }
} }

View File

@@ -78,7 +78,7 @@ public:
/*virtual*/ void showCursorFromMouseMove(); /*virtual*/ void showCursorFromMouseMove();
/*virtual*/ void hideCursorUntilMouseMove(); /*virtual*/ void hideCursorUntilMouseMove();
/*virtual*/ BOOL isCursorHidden(); /*virtual*/ BOOL isCursorHidden();
/*virtual*/ void setCursor(ECursorType cursor); /*virtual*/ void updateCursor();
/*virtual*/ void captureMouse(); /*virtual*/ void captureMouse();
/*virtual*/ void releaseMouse(); /*virtual*/ void releaseMouse();
/*virtual*/ void setMouseClipping( BOOL b ); /*virtual*/ void setMouseClipping( BOOL b );
@@ -102,7 +102,7 @@ public:
/*virtual*/ void gatherInput(); /*virtual*/ void gatherInput();
/*virtual*/ void swapBuffers(); /*virtual*/ void swapBuffers();
/*virtual*/ void delayInputProcessing() { }; /*virtual*/ void delayInputProcessing() { };
// handy coordinate space conversion routines // handy coordinate space conversion routines
/*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordWindow *to); /*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordWindow *to);

View File

@@ -677,6 +677,7 @@ void LLWindowWin32::hide()
ShowWindow(mWindowHandle, SW_HIDE); ShowWindow(mWindowHandle, SW_HIDE);
} }
//virtual
void LLWindowWin32::minimize() void LLWindowWin32::minimize()
{ {
setMouseClipping(FALSE); setMouseClipping(FALSE);
@@ -684,7 +685,7 @@ void LLWindowWin32::minimize()
ShowWindow(mWindowHandle, SW_MINIMIZE); ShowWindow(mWindowHandle, SW_MINIMIZE);
} }
//virtual
void LLWindowWin32::restore() void LLWindowWin32::restore()
{ {
ShowWindow(mWindowHandle, SW_RESTORE); ShowWindow(mWindowHandle, SW_RESTORE);
@@ -1019,6 +1020,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
dw_style = WS_OVERLAPPEDWINDOW; dw_style = WS_OVERLAPPEDWINDOW;
} }
// don't post quit messages when destroying old windows // don't post quit messages when destroying old windows
mPostQuit = FALSE; mPostQuit = FALSE;
@@ -1070,6 +1072,8 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
return FALSE; return FALSE;
} }
LL_INFOS("Window") << "Device context retrieved." << llendl ;
if (!(pixel_format = ChoosePixelFormat(mhDC, &pfd))) if (!(pixel_format = ChoosePixelFormat(mhDC, &pfd)))
{ {
close(); close();
@@ -1078,6 +1082,8 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
return FALSE; return FALSE;
} }
LL_INFOS("Window") << "Pixel format chosen." << llendl ;
// Verify what pixel format we actually received. // Verify what pixel format we actually received.
if (!DescribePixelFormat(mhDC, pixel_format, sizeof(PIXELFORMATDESCRIPTOR), if (!DescribePixelFormat(mhDC, pixel_format, sizeof(PIXELFORMATDESCRIPTOR),
&pfd)) &pfd))
@@ -1653,13 +1659,13 @@ void LLWindowWin32::initCursors()
mCursor[ UI_CURSOR_PIPETTE ] = LoadCursor(module, TEXT("TOOLPIPETTE")); mCursor[ UI_CURSOR_PIPETTE ] = LoadCursor(module, TEXT("TOOLPIPETTE"));
// Color cursors // Color cursors
mCursor[UI_CURSOR_TOOLSIT] = loadColorCursor(TEXT("TOOLSIT")); mCursor[ UI_CURSOR_TOOLSIT ] = loadColorCursor(TEXT("TOOLSIT"));
mCursor[UI_CURSOR_TOOLBUY] = loadColorCursor(TEXT("TOOLBUY")); mCursor[ UI_CURSOR_TOOLBUY ] = loadColorCursor(TEXT("TOOLBUY"));
mCursor[UI_CURSOR_TOOLPAY] = loadColorCursor(TEXT("TOOLPAY")); mCursor[ UI_CURSOR_TOOLPAY ] = loadColorCursor(TEXT("TOOLPAY"));
mCursor[UI_CURSOR_TOOLOPEN] = loadColorCursor(TEXT("TOOLOPEN")); mCursor[ UI_CURSOR_TOOLOPEN ] = loadColorCursor(TEXT("TOOLOPEN"));
mCursor[UI_CURSOR_TOOLPLAY] = loadColorCursor(TEXT("TOOLPLAY")); mCursor[ UI_CURSOR_TOOLPLAY ] = loadColorCursor(TEXT("TOOLPLAY"));
mCursor[UI_CURSOR_TOOLPAUSE] = loadColorCursor(TEXT("TOOLPAUSE")); mCursor[ UI_CURSOR_TOOLPAUSE ] = loadColorCursor(TEXT("TOOLPAUSE"));
mCursor[UI_CURSOR_TOOLMEDIAOPEN] = loadColorCursor(TEXT("TOOLMEDIAOPEN")); mCursor[ UI_CURSOR_TOOLMEDIAOPEN ] = loadColorCursor(TEXT("TOOLMEDIAOPEN"));
// Note: custom cursors that are not found make LoadCursor() return NULL. // Note: custom cursors that are not found make LoadCursor() return NULL.
for( S32 i = 0; i < UI_CURSOR_COUNT; i++ ) for( S32 i = 0; i < UI_CURSOR_COUNT; i++ )
@@ -1673,18 +1679,18 @@ void LLWindowWin32::initCursors()
void LLWindowWin32::setCursor(ECursorType cursor) void LLWindowWin32::updateCursor()
{ {
if (cursor == UI_CURSOR_ARROW if (mNextCursor == UI_CURSOR_ARROW
&& mBusyCount > 0) && mBusyCount > 0)
{ {
cursor = UI_CURSOR_WORKING; mNextCursor = UI_CURSOR_WORKING;
} }
if( mCurrentCursor != cursor ) if( mCurrentCursor != mNextCursor )
{ {
mCurrentCursor = cursor; mCurrentCursor = mNextCursor;
SetCursor( mCursor[cursor] ); SetCursor( mCursor[mNextCursor] );
} }
} }
@@ -1764,6 +1770,8 @@ void LLWindowWin32::gatherInput()
mInputProcessingPaused = FALSE; mInputProcessingPaused = FALSE;
updateCursor();
// clear this once we've processed all mouse messages that might have occurred after // clear this once we've processed all mouse messages that might have occurred after
// we slammed the mouse position // we slammed the mouse position
mMousePositionModified = FALSE; mMousePositionModified = FALSE;

View File

@@ -72,7 +72,7 @@ public:
/*virtual*/ void showCursorFromMouseMove(); /*virtual*/ void showCursorFromMouseMove();
/*virtual*/ void hideCursorUntilMouseMove(); /*virtual*/ void hideCursorUntilMouseMove();
/*virtual*/ BOOL isCursorHidden(); /*virtual*/ BOOL isCursorHidden();
/*virtual*/ void setCursor(ECursorType cursor); /*virtual*/ void updateCursor();
/*virtual*/ ECursorType getCursor() const; /*virtual*/ ECursorType getCursor() const;
/*virtual*/ void captureMouse(); /*virtual*/ void captureMouse();
/*virtual*/ void releaseMouse(); /*virtual*/ void releaseMouse();

View File

@@ -474,8 +474,6 @@ set(viewer_SOURCE_FILES
llviewerfoldertype.cpp llviewerfoldertype.cpp
llviewergenericmessage.cpp llviewergenericmessage.cpp
llviewergesture.cpp llviewergesture.cpp
#llviewerimage.cpp
#llviewerimagelist.cpp
llviewerinventory.cpp llviewerinventory.cpp
llviewerjoint.cpp llviewerjoint.cpp
llviewerjointattachment.cpp llviewerjointattachment.cpp
@@ -976,8 +974,6 @@ set(viewer_HEADER_FILES
llviewerfoldertype.h llviewerfoldertype.h
llviewergenericmessage.h llviewergenericmessage.h
llviewergesture.h llviewergesture.h
#llviewerimage.h
#llviewerimagelist.h
llviewerinventory.h llviewerinventory.h
llviewerjoint.h llviewerjoint.h
llviewerjointattachment.h llviewerjointattachment.h
@@ -1372,23 +1368,28 @@ if (FMOD OR FMODEX)
endif (FMOD) endif (FMOD)
if (DARWIN) if (DARWIN)
set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp) if(FMOD)
add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES}) set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
if (FMODEX) add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
set(fmodwrapper_needed_LIBRARIES ${FMODEX_LIBRARY} ${CARBON_LIBRARY}) if (FMODEX)
endif (FMODEX) set(fmodwrapper_needed_LIBRARIES ${FMODEX_LIBRARY} ${CARBON_LIBRARY})
if (FMOD) endif (FMODEX)
set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${CARBON_LIBRARY}) if (FMOD)
endif (FMOD) set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${CARBON_LIBRARY})
set_target_properties( endif (FMOD)
fmodwrapper set_target_properties(
PROPERTIES fmodwrapper
BUILD_WITH_INSTALL_RPATH 1 PROPERTIES
INSTALL_NAME_DIR "@executable_path/../Resources" BUILD_WITH_INSTALL_RPATH 1
LINK_FLAGS "-unexported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp" INSTALL_NAME_DIR "@executable_path/../Resources"
) LINK_FLAGS "-unexported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp"
set(FMODWRAPPER_LIBRARY fmodwrapper) )
target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES}) set(FMODWRAPPER_LIBRARY fmodwrapper)
target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
endif(FMOD)
if(FMODEX)
set(FMODWRAPPER_LIBRARY ${FMODEX_LIBRARY})
endif(FMODEX)
else (DARWIN) else (DARWIN)
# fmodwrapper unnecessary on linux or windows, for fmod and fmodex # fmodwrapper unnecessary on linux or windows, for fmod and fmodex
if (FMODEX) if (FMODEX)
@@ -1798,7 +1799,7 @@ endif (WINDOWS)
if (DARWIN) if (DARWIN)
# Don't do this here -- it's taken care of by viewer_manifest.py # Don't do this here -- it's taken care of by viewer_manifest.py
# add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD # add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD
# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/ # COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/
# DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib # DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib
# ) # )
endif (DARWIN) endif (DARWIN)

View File

@@ -2,6 +2,6 @@
CFBundleName = "Singularity"; CFBundleName = "Singularity";
CFBundleShortVersionString = "Singularity Viewer 1.5.0.0"; CFBundleShortVersionString = "Singularity Viewer 1.7.0.0";
CFBundleGetInfoString = "Singularity Viewer 1.5.0.0, Copyright 2010 Siana Gearz"; CFBundleGetInfoString = "Singularity Viewer 1.7.0.0, Copyright 2012 Siana Gearz";

View File

@@ -9,7 +9,7 @@
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>singularity.icns</string> <string>singularity.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.secondlife.indra.viewer</string> <string>org.singularityviewer.singularity</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -464,12 +464,8 @@ class DarwinManifest(ViewerManifest):
self.path(self.info_plist_name(), dst="Info.plist") self.path(self.info_plist_name(), dst="Info.plist")
# copy additional libs in <bundle>/Contents/MacOS/ # copy additional libs in <bundle>/Contents/MacOS/
self.path("../../libraries/universal-darwin/lib_release/libhunspell-1.2.dylib", dst="MacOS/libhunspell-1.2.dylib") self.path("../../libraries/universal-darwin/lib/release/libndofdev.dylib", dst="Resources/libndofdev.dylib")
self.path("../../libraries/universal-darwin/lib_release/libndofdev.dylib", dst="MacOS/libndofdev.dylib") self.path("../../libraries/universal-darwin/lib/release/libhunspell-1.3.0.dylib", dst="Resources/libhunspell-1.3.0.dylib")
#self.path("../../libraries/universal-darwin/lib_release/libvorbisenc.2.dylib", dst="MacOS/libvorbisenc.2.dylib")
#self.path("../../libraries/universal-darwin/lib_release/libvorbisfile.3.dylib", dst="MacOS/libvorbisfile.3.dylib")
#self.path("../../libraries/universal-darwin/lib_release/libvorbis.0.dylib", dst="MacOS/libvorbis.0.dylib")
#self.path("../../libraries/universal-darwin/lib_release/libogg.0.dylib", dst="MacOS/libogg.0.dylib")
# most everything goes in the Resources directory # most everything goes in the Resources directory
if self.prefix(src="", dst="Resources"): if self.prefix(src="", dst="Resources"):
@@ -514,11 +510,11 @@ class DarwinManifest(ViewerManifest):
self.path("../llcommon/" + self.args['configuration'] + "/libllcommon.dylib", "libllcommon.dylib") self.path("../llcommon/" + self.args['configuration'] + "/libllcommon.dylib", "libllcommon.dylib")
libfile = "lib%s.dylib" libfile = "lib%s.dylib"
libdir = "../../libraries/universal-darwin/lib_release" libdir = "../../libraries/universal-darwin/lib/release"
for libfile in ("libapr-1.0.dylib", for libfile in ("libapr-1.0.dylib",
"libaprutil-1.0.dylib", "libaprutil-1.0.dylib",
"libexpat.0.5.0.dylib"): "libexpat.1.5.2.dylib"):
self.path(os.path.join(libdir, libfile), libfile) self.path(os.path.join(libdir, libfile), libfile)
# For using FMOD for sound...but, fmod is proprietary so some might not use it... # For using FMOD for sound...but, fmod is proprietary so some might not use it...
@@ -545,7 +541,7 @@ class DarwinManifest(ViewerManifest):
for libfile in ("libllcommon.dylib", for libfile in ("libllcommon.dylib",
"libapr-1.0.dylib", "libapr-1.0.dylib",
"libaprutil-1.0.dylib", "libaprutil-1.0.dylib",
"libexpat.0.5.0.dylib"): "libexpat.1.5.2.dylib"):
target_lib = os.path.join('../../..', libfile) target_lib = os.path.join('../../..', libfile)
self.run_command("ln -sf %(target)r %(link)r" % self.run_command("ln -sf %(target)r %(link)r" %
{'target': target_lib, {'target': target_lib,
@@ -561,7 +557,7 @@ class DarwinManifest(ViewerManifest):
self.path("../plugins/filepicker/" + self.args['configuration'] + "/basic_plugin_filepicker.dylib", "basic_plugin_filepicker.dylib") self.path("../plugins/filepicker/" + self.args['configuration'] + "/basic_plugin_filepicker.dylib", "basic_plugin_filepicker.dylib")
self.path("../plugins/quicktime/" + self.args['configuration'] + "/media_plugin_quicktime.dylib", "media_plugin_quicktime.dylib") self.path("../plugins/quicktime/" + self.args['configuration'] + "/media_plugin_quicktime.dylib", "media_plugin_quicktime.dylib")
self.path("../plugins/webkit/" + self.args['configuration'] + "/media_plugin_webkit.dylib", "media_plugin_webkit.dylib") self.path("../plugins/webkit/" + self.args['configuration'] + "/media_plugin_webkit.dylib", "media_plugin_webkit.dylib")
self.path("../../libraries/universal-darwin/lib_release/libllqtwebkit.dylib", "libllqtwebkit.dylib") self.path("../../libraries/universal-darwin/lib/release/libllqtwebkit.dylib", "libllqtwebkit.dylib")
self.end_prefix("llplugin") self.end_prefix("llplugin")
@@ -829,26 +825,24 @@ class Linux_x86_64Manifest(LinuxManifest):
self.path("../llcommon/libllcommon.so", "lib64/libllcommon.so") self.path("../llcommon/libllcommon.so", "lib64/libllcommon.so")
if (not self.standalone()) and self.prefix("../../libraries/x86_64-linux/lib_release_client", dst="lib64"): if (not self.standalone()) and self.prefix("../../libraries/x86_64-linux/lib/release", dst="lib64"):
self.path("libapr-1.so.0") self.path("libapr-1.so*")
self.path("libaprutil-1.so.0") self.path("libaprutil-1.so*")
self.path("libdb-4.2.so") self.path("libdb-*.so*")
self.path("libcrypto.so.0.9.8") self.path("libcrypto.so.*")
self.path("libexpat.so.1") self.path("libexpat.so*")
self.path("libhunspell-1.2.so.0.0.0", "libhunspell-1.2.so.0") self.path("libhunspell-1.3.so*")
self.path("libssl.so.0.9.8") self.path("libssl.so*")
self.path("libuuid.so", "libuuid.so.1") self.path("libuuid.so*")
self.path("libSDL-1.2.so.0") self.path("libSDL-1.2.so*")
self.path("libELFIO.so") self.path("libELFIO.so")
self.path("libjpeg.so.7") self.path("libjpeg.so*")
self.path("libpng12.so.0") self.path("libpng.so*")
self.path("libopenjpeg.so.2") self.path("libz.so*")
self.path("libxml2.so.2")
#self.path("libz.so.1") #not needed
# OpenAL # OpenAL
self.path("libopenal.so.1") self.path("libopenal.so*")
self.path("libalut.so.0") self.path("libalut.so*")
self.end_prefix("lib64") self.end_prefix("lib64")
@@ -864,7 +858,7 @@ class Linux_x86_64Manifest(LinuxManifest):
self.end_prefix("lib32") self.end_prefix("lib32")
# 32bit libs needed for voice # 32bit libs needed for voice
if self.prefix("../../libraries/x86_64-linux/lib_release_client/32bit-compat", dst="lib32"): if self.prefix("../../libraries/x86_64-linux/lib/release/32bit-compat", dst="lib32"):
self.path("libalut.so") self.path("libalut.so")
self.path("libidn.so.11") self.path("libidn.so.11")
self.path("libopenal.so.1") self.path("libopenal.so.1")

View File

@@ -115,8 +115,8 @@ if (DARWIN)
add_custom_command( add_custom_command(
TARGET media_plugin_webkit POST_BUILD TARGET media_plugin_webkit POST_BUILD
# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib # OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
DEPENDS media_plugin_webkit ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib DEPENDS media_plugin_webkit ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib
) )
endif (DARWIN) endif (DARWIN)

View File

@@ -370,8 +370,8 @@ endif (DARWIN OR WINDOWS)
if (DARWIN) if (DARWIN)
add_custom_command(TARGET llmediaplugintest POST_BUILD add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR} COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib
) )
endif (DARWIN) endif (DARWIN)

View File

@@ -76,6 +76,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/SDL-1.2.14-linux-20110309.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/SDL-1.2.14-linux-20110309.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>2d40e76689d6e8c034490c1cbe9a4961</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/SDL-1.2.14-linux-x86_64-20120604.tar.bz2</uri>
</map>
</map> </map>
</map> </map>
<key>apr_suite</key> <key>apr_suite</key>
@@ -87,9 +94,9 @@
<key>darwin</key> <key>darwin</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>a2794fbeeb03f530a6b7a0879c544f32</string> <string>3cae5f0fd8f3dd80a59b450562f781bc</string>
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/apr_suite-1.4.5-darwin-20120618.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/apr_suite-1.4.5-darwin-20120715.tar.bz2</uri>
</map> </map>
<key>linux</key> <key>linux</key>
<map> <map>
@@ -101,9 +108,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>1a7e1186855d48d8316ce86803095f70</string> <string>66326975f779213886dbaaf021fa3412</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.2.8-linux64-20080909a.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/apr_suite-1.4.5-linux-x86_64-20120604.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -127,9 +134,9 @@
<key>darwin</key> <key>darwin</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>e4c0aa075086ec2f6b62c9498b381d63</string> <string>90b8ec87cab3debaf8da5436dc8f3819</string>
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/ares-1.7.1-darwin-20110217.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/ares-1.7.1-darwin-20120712.tar.bz2</uri>
</map> </map>
<key>linux</key> <key>linux</key>
<map> <map>
@@ -141,9 +148,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>f7cbf2b6e74de4556148663b93ead4d3</string> <string>e2bf7c556ce3525cb6ad20f2d4d80cf4</string>
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/Shyotl/SingularityViewer/ares-1.3.0-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/ares-1.7.5-linux-x86_64-20120605.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -178,6 +185,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/boost-1.45.0-linux-20110604.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/boost-1.45.0-linux-20110604.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>a7c23f5395f79033dbb09b201f16a4ce</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/boost-1.48.0-linux-x86_64-20120514.tar.bz2</uri>
</map>
<key>windows</key> <key>windows</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
@@ -247,9 +261,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>8a28849f4b9d99601dbc8db9d6a2f9ba</string> <string>f6d0f7a6151c1b5a2633679126fbefb0</string>
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/Shyotl/SingularityViewer/curl-7.16.4a-linux64-20090303.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/curl-7.24.0-linux-x86_64-20120605.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -277,6 +291,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/db-5.1.25-linux-20110309.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/db-5.1.25-linux-20110309.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>894f6a09e581bcf4a2c36f8f66379704</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/db-5.1.25-Linux-x86_64-20110807.tar.bz2</uri>
</map>
</map> </map>
</map> </map>
<key>dbghelp</key> <key>dbghelp</key>
@@ -318,9 +339,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>09be41e3145e1a960e50f2f9ce0a5e7d</string> <string>3751294773dff647b3493764dc6539dc</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/dbusglib-linux64-20101007.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/dbus_glib-0.76-linux64-20110310.tar.bz2</uri>
</map> </map>
</map> </map>
</map> </map>
@@ -340,9 +361,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>e829a52ba67e02b011cf2e372914d32f</string> <string>d826535e096d707ef1a2783ce66ad2f9</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/elfio-1.0.3-linux64-20091129.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/elfio-1.0.3-linux64-20091129.tar.bz2</uri>
</map> </map>
</map> </map>
</map> </map>
@@ -373,9 +394,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>278c61871419b9a4d50a4f88b7922403</string> <string>58d7d0a12984cd57822c709d51ee18f7</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1.95.8-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/expat-2.0.1-linux-x86_64-20120530.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -399,6 +420,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/fontconfig-2.8.0-linux-20110311.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/fontconfig-2.8.0-linux-20110311.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>1736c637f7ae184fa94b3eb2c0e5f5da</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/fontconfig-2.8.0-linux-x86_64-20120531.tar.bz2</uri>
</map>
</map> </map>
</map> </map>
<key>freeglut</key> <key>freeglut</key>
@@ -447,9 +475,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>1b4624ab06a7ba30e29d1994424db41e</string> <string>9513c22a343369043536514bc87e5801</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/freetype-2.3.11-linux64-20091230.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/freetype-2.3.11-linux-x86_64-20120616.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -477,6 +505,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/glext-82-win32-linux.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/glext-82-win32-linux.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>b94a97e60b37afee73f5525cd07ba959</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/glext-82-win32-linux.tar.bz2</uri>
</map>
<key>windows</key> <key>windows</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
@@ -504,9 +539,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>58c11add6b275c163950364df5b2964a</string> <string>36575a2975f9ef70281a3062867bd2f8</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/glib-2.20.5-linux64-20100515.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/glib-2.25.17-linux-x86_64-20120422.tar.bz2</uri>
</map> </map>
</map> </map>
</map> </map>
@@ -574,9 +609,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>7e6fc4e185e8444a07b58ba7c0df255a</string> <string>37541c812162f009f50e3749220fb782</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/gstreamer-0.10.24-linux64-20091230.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/gstreamer-0.10.28-linux-x86_64-20120608.tar.bz2</uri>
</map> </map>
</map> </map>
</map> </map>
@@ -597,6 +632,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/gtk-etc-linux-20101106.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/gtk-etc-linux-20101106.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>1b69a92d684a1b8208aa1d227d8d1bdf</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/gtk_etc-0.0.1-linux-x86_64-20120609.tar.bz2</uri>
</map>
</map> </map>
</map> </map>
<key>hunspell</key> <key>hunspell</key>
@@ -626,9 +668,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>5388725d012c3bfabcc420be53442018</string> <string>889d6abceda50f12d0f22c1310844c4b</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/hunspell-1.2-linux64-20100902.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/libhunspell-1.3.2-linux-x86_64-20120708.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -652,9 +694,9 @@
<key>darwin</key> <key>darwin</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>ebad9348d0cbf1d768de727c1d6e1822</string> <string>6505f9e93ac0f7595df8dd566f49c298</string>
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/jpeglib-8c-darwin-20110228.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/jpeglib-8c-darwin-20120712.tar.bz2</uri>
</map> </map>
<key>linux</key> <key>linux</key>
<map> <map>
@@ -666,9 +708,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>0e7facf7d48531d20c0cd6a3c3f04021</string> <string>7f2e1c0ea2f589c4888ec7f5a214af88</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib-6b-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/jpeglib-7-linux-x86_64-20120531b.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -746,9 +788,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>5ee1e62bde38520c7f134c4afb9ac9b1</string> <string>ec833cfbfce8a818158e289a6c21ad72</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.2.35-linux64-20090304.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/libpng-1.5.10-linux-x86_64-20120420.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -776,6 +818,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/libuuid-1.6.2-linux-20110315.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/libuuid-1.6.2-linux-20110315.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>dc25f523bd0505bbd03fb2b277299b13</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/uuid-1.6.2-linux-x86_64-20120601.tar.bz2</uri>
</map>
</map> </map>
</map> </map>
<key>libxml</key> <key>libxml</key>
@@ -794,9 +843,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>921d7f980519101afb74623e29e9d175</string> <string>9bf2223e26eb4d659fe8e9283bfe73a2</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libxml-2.6.24-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/libxml2-2.7.8-linux-x86_64-20120420.tar.bz2</uri>
</map> </map>
</map> </map>
</map> </map>
@@ -820,6 +869,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/llqtwebkit-4.7.1-linux-20120228.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/llqtwebkit-4.7.1-linux-20120228.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>c6f662eaa9aeaf03f73779393640f386</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/llqtwebkit-linux-x86_64-20120716.tar.bz2</uri>
</map>
<key>windows</key> <key>windows</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
@@ -882,9 +938,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>d1986d287655f159be50d661c125ba19</string> <string>d2a9640c34a9a2848ba9fc63146bdce4</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/ndofdev-linux64-0.3.1-20100817.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/libndofdev-0.3.1-linux-x86_64-20120604.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -922,9 +978,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>83c72b57a95e8c42560fb67955169f19</string> <string>50d232fcf120f85bf259d1b93aa767a7</string>
<key>url</key> <key>url</key>
<uri>http://imprudenceviewer.org/download/libs/ogg-vorbis-linux64-20091202.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/ogg_vorbis-1.2.2-1.3.2-linux-x86_64-20120604.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -944,9 +1000,9 @@
<key>darwin</key> <key>darwin</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>095e8a20cd0c74e2121ca81fdf389d25</string> <string>1acdf58efa7a728fd390a710c659ec65</string>
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/openssl-1.0.0g-darwin-20120207.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/openssl-1.0.0g-darwin-20120712.tar.bz2</uri>
</map> </map>
<key>linux</key> <key>linux</key>
<map> <map>
@@ -958,9 +1014,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>00b23f28a2457d9dabbaff0b29ee7323</string> <string>e4d434731ad8280e85f5177da8d8ed3a</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL-0.9.8g-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/openssl-1.0.0g-linux-x86_64-20120605.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -991,9 +1047,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>5ad0a3ab623356c1ad61394ba238f99f</string> <string>843758dffdb98db9523a65fab6e136e3</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-soft-1.6.372-linux64-20081219.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/openal-1.14-1.1.0-linux-x86_64-20120605.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -1047,6 +1103,13 @@
<key>url</key> <key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/linux-pulse-headers-0.9.14_1.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/linux-pulse-headers-0.9.14_1.tar.bz2</uri>
</map> </map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>736693c3f82458baee10e3eb37bc87df</string>
<key>url</key>
<uri>https://github.com/downloads/LightDrake/Public-Libraries/linux64-pulse-headers-0.9.14.tar.bz2</uri>
</map>
</map> </map>
</map> </map>
<key>tut</key> <key>tut</key>
@@ -1133,9 +1196,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>dc67b896c56116df8e18f2d1bbd07031</string> <string>1caff2e120fac6e73cc0c60d6635d527</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc-epi-0.51-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/xmlrpc_epi-0.54.1-linux-x86_64-20120531.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>
@@ -1173,9 +1236,9 @@
<key>linux64</key> <key>linux64</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>4bddfb2c6dd7b1470a3ed675ac14bd9a</string> <string>367cb642f1471f85f1094827ac960dbe</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3-linux64-20080909.tar.bz2</uri> <uri>https://github.com/downloads/LightDrake/Public-Libraries/zlib-1.2.6-linux-x86_64-20120419.tar.bz2</uri>
</map> </map>
<key>windows</key> <key>windows</key>
<map> <map>