diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 16 | ||||
| -rw-r--r-- | indra/newview/VIEWER_VERSION.txt | 2 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llappviewer.h | 1 | ||||
| -rw-r--r-- | indra/newview/lllogininstance.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 57 | ||||
| -rw-r--r-- | indra/newview/tests/lllogininstance_test.cpp | 1 | 
7 files changed, 66 insertions, 21 deletions
| diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 1f3823509c..4c3aeb4695 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -3057,8 +3057,20 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_                  if (raw->header.dwType == RIM_TYPEMOUSE)                  {                      LLMutexLock lock(&window_imp->mRawMouseMutex); -                    window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; -                    window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + +                    S32 speed; +                    const S32 DEFAULT_SPEED(10); +                    SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); +                    if (speed == DEFAULT_SPEED) +                    { +                        window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; +                        window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; +                    } +                    else +                    { +                        window_imp->mRawMouseDelta.mX += round((F32)raw->data.mouse.lLastX * (F32)speed / DEFAULT_SPEED); +                        window_imp->mRawMouseDelta.mY -= round((F32)raw->data.mouse.lLastY * (F32)speed / DEFAULT_SPEED); +                    }                  }              }          } diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 09a7391e4e..28179fc1f5 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -6.6.1 +6.6.2 diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 2436bc3315..9ed717ecd3 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1125,7 +1125,8 @@ bool LLAppViewer::init()  	gGLActive = FALSE;  #if LL_RELEASE_FOR_DOWNLOAD -    if (!gSavedSettings.getBOOL("CmdLineSkipUpdater")) +    // Skip updater if this is a non-interactive instance +    if (!gSavedSettings.getBOOL("CmdLineSkipUpdater") && !gNonInteractive)      {          LLProcess::Params updater;          updater.desc = "updater process"; @@ -3146,6 +3147,11 @@ bool LLAppViewer::isUpdaterMissing()      return mUpdaterNotFound;  } +bool LLAppViewer::waitForUpdater() +{ +    return !gSavedSettings.getBOOL("CmdLineSkipUpdater") && !mUpdaterNotFound && !gNonInteractive; +} +  void LLAppViewer::writeDebugInfo(bool isStatic)  {  #if LL_WINDOWS && LL_BUGSPLAT diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 68c04d450b..7ab21f35cd 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -106,6 +106,7 @@ public:  	bool logoutRequestSent() { return mLogoutRequestSent; }  	bool isSecondInstance() { return mSecondInstance; }      bool isUpdaterMissing(); // In use by tests +    bool waitForUpdater();  	void writeDebugInfo(bool isStatic=true); diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index a3d0eb5796..82ecfbd4dc 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -280,7 +280,7 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia  	mRequestData["options"] = requested_options;  	mRequestData["http_params"] = http_params;  #if LL_RELEASE_FOR_DOWNLOAD -    mRequestData["wait_for_updater"] = !gSavedSettings.getBOOL("CmdLineSkipUpdater") && !LLAppViewer::instance()->isUpdaterMissing(); +    mRequestData["wait_for_updater"] = LLAppViewer::instance()->waitForUpdater();  #else      mRequestData["wait_for_updater"] = false;  #endif diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index da16c8209f..c297f0f080 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -10897,22 +10897,47 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar)  	{  		markVisible(avatar->mDrawable, *viewer_camera); -		LLVOAvatar::attachment_map_t::iterator iter; -		for (iter = avatar->mAttachmentPoints.begin(); -			iter != avatar->mAttachmentPoints.end(); -			++iter) -		{ -			LLViewerJointAttachment *attachment = iter->second; -			for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); -				 attachment_iter != attachment->mAttachedObjects.end(); -				 ++attachment_iter) -			{ -				if (LLViewerObject* attached_object = attachment_iter->get()) -				{ -					markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); -				} -			} -		} +        if (preview_avatar) +        { +            // Only show rigged attachments for preview +            LLVOAvatar::attachment_map_t::iterator iter; +            for (iter = avatar->mAttachmentPoints.begin(); +                iter != avatar->mAttachmentPoints.end(); +                ++iter) +            { +                LLViewerJointAttachment *attachment = iter->second; +                for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); +                    attachment_iter != attachment->mAttachedObjects.end(); +                    ++attachment_iter) +                { +                    LLViewerObject* attached_object = attachment_iter->get(); +                    if (attached_object && attached_object->isRiggedMesh()) +                    { +                        markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); +                    } +                } +            } +        } +        else +        { +            LLVOAvatar::attachment_map_t::iterator iter; +            for (iter = avatar->mAttachmentPoints.begin(); +                iter != avatar->mAttachmentPoints.end(); +                ++iter) +            { +                LLViewerJointAttachment *attachment = iter->second; +                for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); +                    attachment_iter != attachment->mAttachedObjects.end(); +                    ++attachment_iter) +                { +                    LLViewerObject* attached_object = attachment_iter->get(); +                    if (attached_object) +                    { +                        markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); +                    } +                } +            } +        }  	}  	stateSort(*LLViewerCamera::getInstance(), result); diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp index a52c3dcef9..696fe3536c 100644 --- a/indra/newview/tests/lllogininstance_test.cpp +++ b/indra/newview/tests/lllogininstance_test.cpp @@ -223,6 +223,7 @@ bool llHashedUniqueID(unsigned char* id)  #include "../llappviewer.h"  void LLAppViewer::forceQuit(void) {}  bool LLAppViewer::isUpdaterMissing() { return true; } +bool LLAppViewer::waitForUpdater() { return false; }  LLAppViewer * LLAppViewer::sInstance = 0;  //----------------------------------------------------------------------------- | 
