merge -r 58503:58641 maintenance -> release

master
Steven Bennetts 2007-03-02 19:11:06 +00:00
parent b53c377727
commit d4462963c6
20 changed files with 130 additions and 241 deletions

View File

@ -32,7 +32,9 @@
#define LL_LIBXUL_ENABLED 1
#elif LL_LINUX
#define LL_QUICKTIME_ENABLED 0
#define LL_LIBXUL_ENABLED 1
#ifndef LL_LIBXUL_ENABLED
#define LL_LIBXUL_ENABLED 1
#endif // def LL_LIBXUL_ENABLED
#endif
#if LL_LIBXUL_ENABLED && !defined(MOZILLA_INTERNAL_API)

View File

@ -487,17 +487,6 @@ void LLFloater::setVisible( BOOL visible )
}
}
LLView* LLFloater::getRootMostFastFrameView()
{
// trying to render a background floater in a fast frame, abort!!!
//if (!isFrontmost())
//{
// gViewerWindow->finishFastFrame();
//}
return LLView::getRootMostFastFrameView();
}
void LLFloater::open() /* Flawfinder: ignore */
{
//RN: for now, we don't allow rehosting from one multifloater to another
@ -673,7 +662,7 @@ const LLString& LLFloater::getTitle() const
void LLFloater::translate(S32 x, S32 y)
{
LLView::translate(x, y);
LLPanel::translate(x, y);
if (x != 0 || y != 0)
{
@ -703,7 +692,7 @@ BOOL LLFloater::canSnapTo(LLView* other_view)
}
}
return LLView::canSnapTo(other_view);
return LLPanel::canSnapTo(other_view);
}
void LLFloater::snappedTo(LLView* snap_view)
@ -1194,9 +1183,9 @@ void LLFloater::onClickTearOff(void *userdata)
self->open(); /* Flawfinder: ignore */
self->setRect(new_rect);
gFloaterView->adjustToFitScreen(self, FALSE);
self->setCanDrag(TRUE);
self->setCanResize(TRUE);
self->setCanMinimize(TRUE);
self->setCanDrag(TRUE);
// give focus to new window to keep continuity for the user
self->setFocus(TRUE);
}
else //Attach to parent.
{
@ -1347,6 +1336,17 @@ void LLFloater::draw()
focused_child->setVisible(TRUE);
}
drawChild(focused_child);
// update tearoff button for torn off floaters
// when last host goes away
if (mCanTearOff && !getHost())
{
LLFloater* old_host = gFloaterView->getFloaterByHandle(mLastHostHandle);
if (!old_host)
{
setCanTearOff(FALSE);
}
}
}
}
@ -2453,31 +2453,12 @@ LLString LLMultiFloater::getWidgetTag() const
return LL_MULTI_FLOATER_TAG;
}
void LLMultiFloater::init(const LLString& title, BOOL resizable,
S32 min_width, S32 min_height, BOOL drag_on_left,
BOOL minimizable, BOOL close_btn)
{
LLFloater::init(title, resizable, min_width, min_height, drag_on_left, minimizable, close_btn);
/*mTabContainer = new LLTabContainer("Preview Tabs",
LLRect(LLPANEL_BORDER_WIDTH, mRect.getHeight() - LLFLOATER_HEADER_SIZE, mRect.getWidth() - LLPANEL_BORDER_WIDTH, 0),
mTabPos,
NULL,
NULL);
mTabContainer->setFollowsAll();
if (mResizable && mTabPos == LLTabContainerCommon::BOTTOM)
{
mTabContainer->setRightTabBtnOffset(RESIZE_HANDLE_WIDTH);
}
addChild(mTabContainer);*/
}
void LLMultiFloater::open() /* Flawfinder: ignore */
{
if (mTabContainer->getTabCount() > 0)
{
LLFloater::open(); /* Flawfinder: ignore */
resizeToContents();
}
else
{
@ -2549,16 +2530,9 @@ void LLMultiFloater::growToFit(LLFloater* floaterp, S32 width, S32 height)
// store new width and height with this floater so that it will keep its size when detached
found_data_it->second.mWidth = width;
found_data_it->second.mHeight = height;
S32 cur_height = mRect.getHeight();
reshape(llmax(mRect.getWidth(), width + LLPANEL_BORDER_WIDTH * 2), llmax(mRect.getHeight(), height + LLFLOATER_HEADER_SIZE + TABCNTR_HEADER_HEIGHT + (LLPANEL_BORDER_WIDTH * 2)));
// make sure upper left corner doesn't move
translate(0, mRect.getHeight() - cur_height);
// Try to keep whole view onscreen, don't allow partial offscreen.
gFloaterView->adjustToFitScreen(this, FALSE);
}
resizeToContents();
}
/**
@ -2699,24 +2673,7 @@ void LLMultiFloater::removeFloater(LLFloater* floaterp)
if (mAutoResize)
{
floater_data_map_t::iterator floater_it;
S32 new_width = 0;
S32 new_height = 0;
for (floater_it = mFloaterDataMap.begin(); floater_it != mFloaterDataMap.end(); ++floater_it)
{
new_width = llmax(new_width, floater_it->second.mWidth + LLPANEL_BORDER_WIDTH * 2);
new_height = llmax(new_height, floater_it->second.mHeight + LLFLOATER_HEADER_SIZE + TABCNTR_HEADER_HEIGHT);
}
S32 cur_height = mRect.getHeight();
reshape(new_width, new_height);
// make sure upper left corner doesn't move
translate(0, cur_height - new_height);
// Try to keep whole view onscreen, don't allow partial offscreen.
gFloaterView->adjustToFitScreen(this, FALSE);
resizeToContents();
}
tabOpen((LLFloater*)mTabContainer->getCurrentPanel(), false);
@ -2858,6 +2815,43 @@ BOOL LLMultiFloater::postBuild()
return FALSE;
}
void LLMultiFloater::resizeToContents()
{
// we're already in the middle of a reshape, don't interrupt it
floater_data_map_t::iterator floater_it;
S32 new_width = 0;
S32 new_height = 0;
for (floater_it = mFloaterDataMap.begin(); floater_it != mFloaterDataMap.end(); ++floater_it)
{
new_width = llmax(new_width, floater_it->second.mWidth + LLPANEL_BORDER_WIDTH * 2);
new_height = llmax(new_height, floater_it->second.mHeight + LLFLOATER_HEADER_SIZE + TABCNTR_HEADER_HEIGHT);
}
S32 new_min_width = 0;
S32 new_min_height = 0;
S32 tab_idx;
for (tab_idx = 0; tab_idx < mTabContainer->getTabCount(); ++tab_idx)
{
LLFloater* floaterp = (LLFloater*)mTabContainer->getPanelByIndex(tab_idx);
if (floaterp)
{
new_min_width = llmax(new_min_width, floaterp->getMinWidth() + LLPANEL_BORDER_WIDTH * 2);
new_min_height = llmax(new_min_height, floaterp->getMinHeight() + LLFLOATER_HEADER_SIZE + TABCNTR_HEADER_HEIGHT);
}
}
setResizeLimits(new_min_width, new_min_height);
S32 cur_height = mRect.getHeight();
reshape(new_width, new_height);
// make sure upper left corner doesn't move
translate(0, cur_height - new_height);
// Try to keep whole view onscreen, don't allow partial offscreen.
gFloaterView->adjustToFitScreen(this, FALSE);
}
// virtual
LLXMLNodePtr LLFloater::getXML(bool save_children) const
{

View File

@ -181,8 +181,6 @@ public:
void clearSnapTarget() { mSnappedTo.markDead(); }
LLViewHandle getSnapTarget() { return mSnappedTo; }
/*virtual*/ LLView* getRootMostFastFrameView();
static void closeFocusedFloater();
static void onClickClose(void *userdata);
@ -341,10 +339,6 @@ public:
LLMultiFloater(const LLString& name, const LLString& rect_control, LLTabContainer::TabPosition tab_pos = LLTabContainer::TOP, BOOL auto_resize = FALSE);
virtual ~LLMultiFloater();
virtual void init(const LLString& title, BOOL resizable,
S32 min_width, S32 min_height, BOOL drag_on_left,
BOOL minimizable, BOOL close_btn);
virtual BOOL postBuild();
/*virtual*/ void open(); /* Flawfinder: ignore */
/*virtual*/ void onClose(bool app_quitting);
@ -378,6 +372,8 @@ public:
void setTabContainer(LLTabContainerCommon* tab_container) { if (!mTabContainer) mTabContainer = tab_container; }
static void onTabSelected(void* userdata, bool);
virtual void resizeToContents();
protected:
struct LLFloaterData
{

View File

@ -3044,7 +3044,6 @@ void LLMenuGL::setVisible(BOOL visible)
mFadeTimer.stop();
}
//gViewerWindow->finishFastFrame();
LLView::setVisible(visible);
}
}

View File

@ -32,7 +32,6 @@
BOOL LLView::sDebugRects = FALSE;
BOOL LLView::sDebugKeys = FALSE;
S32 LLView::sDepth = 0;
LLView* LLView::sFastFrameView = NULL;
BOOL LLView::sDebugMouseHandling = FALSE;
LLString LLView::sMouseHandlerMessage;
S32 LLView::sSelectID = GL_NAME_UI_RESERVED;
@ -93,7 +92,6 @@ LLView::LLView() :
mSaveToXML(TRUE),
mIsFocusRoot(FALSE),
mLastVisible(TRUE),
mRenderInFastFrame(TRUE),
mSpanChildren(FALSE),
mVisible(TRUE),
mHidden(FALSE),
@ -114,7 +112,6 @@ LLView::LLView(const LLString& name, BOOL mouse_opaque) :
mSaveToXML(TRUE),
mIsFocusRoot(FALSE),
mLastVisible(TRUE),
mRenderInFastFrame(TRUE),
mSpanChildren(FALSE),
mVisible(TRUE),
mHidden(FALSE),
@ -138,7 +135,6 @@ LLView::LLView(
mSaveToXML(TRUE),
mIsFocusRoot(FALSE),
mLastVisible(TRUE),
mRenderInFastFrame(TRUE),
mSpanChildren(FALSE),
mVisible(TRUE),
mHidden(FALSE),
@ -180,11 +176,6 @@ LLView::~LLView()
mParentView->removeChild(this);
}
if(LLView::sFastFrameView == this)
{
LLView::sFastFrameView = NULL;
}
dispatch_list_t::iterator itor;
for (itor = mDispatchList.begin(); itor != mDispatchList.end(); ++itor)
{
@ -1770,26 +1761,6 @@ void LLView::localRectToScreen(const LLRect& local, LLRect* screen) const
}
}
LLView* LLView::getRootMostFastFrameView()
{
if (gFocusMgr.getTopView() == this)
{
return this;
}
if (getParent())
{
LLView* rootmost_view = getParent()->getRootMostFastFrameView();
if (rootmost_view)
{
return rootmost_view;
}
}
return mRenderInFastFrame ? this : NULL;
}
LLView* LLView::getRootView()
{
LLView* view = this;

View File

@ -145,7 +145,6 @@ protected:
public:
LLViewHandle mViewHandle;
BOOL mLastVisible;
BOOL mRenderInFastFrame;
BOOL mSpanChildren;
private:
@ -161,7 +160,6 @@ public:
static BOOL sDebugRects; // Draw debug rects behind everything.
static BOOL sDebugKeys;
static S32 sDepth;
static LLView* sFastFrameView;
static BOOL sDebugMouseHandling;
static LLString sMouseHandlerMessage;
static S32 sSelectID;
@ -319,8 +317,8 @@ public:
virtual void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
virtual void translate( S32 x, S32 y );
virtual void setOrigin( S32 x, S32 y ) { mRect.translate( x - mRect.mLeft, y - mRect.mBottom ); }
BOOL translateIntoRect( const LLRect& constraint, BOOL allow_partial_outside );
void setOrigin( S32 x, S32 y ) { mRect.translate( x - mRect.mLeft, y - mRect.mBottom ); }
LLView* findSnapRect(LLRect& new_rect, const LLCoordGL& mouse_dir, LLView::ESnapType snap_type, S32 threshold, S32 padding = 0);
LLView* findSnapEdge(S32& new_edge_val, const LLCoordGL& mouse_dir, ESnapEdge snap_edge, ESnapType snap_type, S32 threshold, S32 padding = 0);
@ -418,8 +416,6 @@ public:
virtual void localRectToScreen( const LLRect& local, LLRect* screen ) const;
virtual BOOL localRectToOtherView( const LLRect& local, LLRect* other, LLView* other_view ) const;
void setRenderInFastFrame(BOOL render) { mRenderInFastFrame = render; }
virtual LLView* getRootMostFastFrameView();
static LLWindow* getWindow(void);

View File

@ -580,8 +580,6 @@ void LLChatBar::onInputEditorKeystroke( LLLineEditor* caller, void* userdata )
// << " outlen " << out_str.getLength()
// << llendl;
}
// make sure we don't do UI-only render as it is apparent avatar isn't animating
gViewerWindow->finishFastFrame();
}
// static

View File

@ -187,7 +187,6 @@ BOOL LLDynamicTexture::updateAllInstances()
if (dynamicTexture->render())
{
result = TRUE;
gViewerWindow->finishFastFrame();
sNumRenders++;
}
dynamicTexture->postRender(result);

View File

@ -26,7 +26,10 @@
#include "llvieweruictrlfactory.h"
#include "viewer.h" // for gViewerDigest
#if LL_LIBXUL_ENABLED
#include "llmozlib.h"
#endif // LL_LIBXUL_ENABLED
#include "llglheaders.h"
extern LLCPUInfo gSysCPU;

View File

@ -160,7 +160,6 @@ void LLFloaterImagePreview::onPreviewTypeCommit(LLUICtrl* ctrl, void* userdata)
break;
}
fp->mAvatarPreview->refresh();
//gViewerWindow->requestFastFrame(fp);
}
//-----------------------------------------------------------------------------
@ -470,7 +469,6 @@ BOOL LLFloaterImagePreview::handleHover(S32 x, S32 y, MASK mask)
}
LLUI::setCursorPositionLocal(this, mLastMouseX, mLastMouseY);
//gViewerWindow->requestFastFrame(this);
}
if (!mPreviewRect.pointInRect(x, y) || !mAvatarPreview)
@ -502,7 +500,6 @@ BOOL LLFloaterImagePreview::handleScrollWheel(S32 x, S32 y, S32 clicks)
{
mAvatarPreview->zoom((F32)clicks * -0.2f);
mAvatarPreview->refresh();
//gViewerWindow->requestFastFrame(this);
}
return TRUE;

View File

@ -3841,10 +3841,6 @@ BOOL LLFolderView::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent )
}
}
if (handled)
{
gViewerWindow->requestFastFrame(this);
}
return handled;
}
@ -3880,11 +3876,6 @@ BOOL LLFolderView::handleUnicodeCharHere(llwchar uni_char, BOOL called_from_pare
handled = TRUE;
}
if (handled)
{
gViewerWindow->requestFastFrame(this);
}
return handled;
}

View File

@ -2356,7 +2356,7 @@ bool LLInventoryModel::messageUpdateCore(LLMessageSystem* msg, bool account, boo
if(!gInventory.isObjectDescendentOf(lastitem->getUUID(), trash_id))
{
LLMultiPreview* multi_previewp = LLMultiPreview::getAutoOpenInstance(folder_id);
if (!multi_previewp && all_one_folder)
if (!multi_previewp && all_one_folder && count > 1)
{
S32 left, top;
gFloaterView->getNewFloaterPosition(&left, &top);

View File

@ -473,6 +473,7 @@ LLPreview* LLPreview::getFirstPreviewForSource(const LLUUID& source_id)
LLMultiPreview::LLMultiPreview(const LLRect& rect) : LLMultiFloater("Preview", rect)
{
setCanResize(TRUE);
}
void LLMultiPreview::open() /*Flawfinder: ignore*/

View File

@ -312,11 +312,36 @@ void LLPreviewTexture::updateAspectRatio()
button_height = BTN_HEIGHT + PREVIEW_PAD;
}
if (client_height != mLastHeight || client_width != mLastWidth)
{
mLastWidth = client_width;
mLastHeight = client_height;
S32 old_top = mRect.mTop;
S32 old_left = mRect.mLeft;
if (getHost())
{
getHost()->growToFit(this, view_width, view_height);
}
else
{
reshape( view_width, view_height );
S32 new_bottom = old_top - mRect.getHeight();
setOrigin( old_left, new_bottom );
// Try to keep whole view onscreen, don't allow partial offscreen.
gFloaterView->adjustToFitScreen(this, FALSE);
}
}
// clamp texture size to fit within actual size of floater after attempting resize
client_width = llmin(client_width, mRect.getWidth() - horiz_pad);
client_height = llmin(client_height, mRect.getHeight() - PREVIEW_HEADER_SIZE - (2 * CLIENT_RECT_VPAD) - LLPANEL_BORDER_WIDTH - info_height);
LLRect window_rect(0, mRect.getHeight(), mRect.getWidth(), 0);
window_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD);
window_rect.mBottom += PREVIEW_BORDER + button_height + CLIENT_RECT_VPAD + info_height + CLIENT_RECT_VPAD;
LLMultiFloater* hostp = getHost();
if (hostp)
if (getHost())
{
// try to keep aspect ratio when hosted, as hosting view can resize without user input
mClientRect.setLeftTopAndSize(window_rect.getCenterX() - (client_width / 2), window_rect.mTop, client_width, client_height);
@ -326,29 +351,7 @@ void LLPreviewTexture::updateAspectRatio()
mClientRect.setLeftTopAndSize(LLPANEL_BORDER_WIDTH + PREVIEW_PAD + 6,
mRect.getHeight() - (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD),
mRect.getWidth() - horiz_pad,
mRect.getHeight() - (view_height - client_height) - 8);
}
if (mImage->mFullHeight > mLastHeight && mImage->mFullWidth > mLastWidth)
{
mLastWidth = image_width;
mLastHeight = image_height;
S32 old_top = mRect.mTop;
S32 old_left = mRect.mLeft;
if (hostp)
{
hostp->growToFit(this, view_width, view_height);
}
else
{
reshape( view_width, view_height );
S32 new_bottom = old_top - mRect.getHeight();
setOrigin( old_left, new_bottom );
}
// Try to keep whole view onscreen, don't allow partial offscreen.
gFloaterView->adjustToFitScreen(this, FALSE);
client_height);
}
}

View File

@ -1278,21 +1278,30 @@ void LLSelectMgr::selectionSetImage(const LLUUID& imageid)
{
if (item)
{
LLToolDragAndDrop::dropTextureAllFaces(objectp,
item,
LLToolDragAndDrop::SOURCE_AGENT,
LLUUID::null);
}
else
{
S32 num_faces = objectp->getNumTEs();
for( S32 face = 0; face < num_faces; face++ )
if (te == -1) // all faces
{
// Texture picker defaults aren't inventory items
// * Don't need to worry about permissions for them
// * Can just apply the texture and be done with it.
objectp->setTEImage(face, gImageList.getImage(imageid));
LLToolDragAndDrop::dropTextureAllFaces(objectp,
item,
LLToolDragAndDrop::SOURCE_AGENT,
LLUUID::null);
}
else // one face
{
LLToolDragAndDrop::dropTextureOneFace(objectp,
te,
item,
LLToolDragAndDrop::SOURCE_AGENT,
LLUUID::null);
}
}
else // not an inventory item
{
// Texture picker defaults aren't inventory items
// * Don't need to worry about permissions for them
// * Can just apply the texture and be done with it.
objectp->setTEImage(te, gImageList.getImage(imageid));
objectp->sendTEUpdate();
}
}

View File

@ -126,10 +126,13 @@
#include "viewer.h"
#include "llmediaengine.h"
#include "llfasttimerview.h"
#include "llmozlib.h"
#include "llweb.h"
#include "llfloaterhtml.h"
#if LL_LIBXUL_ENABLED
#include "llmozlib.h"
#endif // LL_LIBXUL_ENABLED
#if LL_WINDOWS
#include "llwindebug.h"
#include "lldxhardware.h"

View File

@ -69,13 +69,13 @@ LLToolCamera::~LLToolCamera()
// virtual
void LLToolCamera::handleSelect()
{
gFloaterTools->setStatusText("Click and drag to change view");
if (gFloaterTools) gFloaterTools->setStatusText("Click and drag to change view");
}
// virtual
void LLToolCamera::handleDeselect()
{
gFloaterTools->setStatusText("");
if (gFloaterTools) gFloaterTools->setStatusText("");
// gAgent.setLookingAtAvatar(FALSE);
}

View File

@ -155,11 +155,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield)
// Clean up memory the pools may have allocated
if (rebuild)
{
if (!gViewerWindow->renderingFastFrame())
{
gFrameStats.start(LLFrameStats::REBUILD);
gPipeline.rebuildPools();
}
gFrameStats.start(LLFrameStats::REBUILD);
gPipeline.rebuildPools();
}
return;
}
@ -359,14 +356,6 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield)
}
}
if (rebuild)
{
if (gViewerWindow->renderingFastFrame())
{
gFrameStats.start(LLFrameStats::STATE_SORT);
gFrameStats.start(LLFrameStats::REBUILD);
}
}
/////////////////////////////
//
@ -452,7 +441,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield)
gPipeline.updateCull();
stop_glerror();
if (rebuild && !gViewerWindow->renderingFastFrame())
if (rebuild)
{
LLFastTimer t(LLFastTimer::FTM_REBUILD);
@ -516,12 +505,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield)
// glPopMatrix();
//}
if (gViewerWindow->renderingFastFrame())
{
gFrameStats.start(LLFrameStats::RENDER_SYNC);
gFrameStats.start(LLFrameStats::RENDER_GEOM);
}
else if (!(gLogoutRequestSent && gHaveSavedSnapshot)
if (!(gLogoutRequestSent && gHaveSavedSnapshot)
&& !gRestoreGL
&& !gDisconnected)
{
@ -566,7 +550,7 @@ void render_ui_and_swap()
if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
{
LLFastTimer t(LLFastTimer::FTM_RENDER_UI);
if (!gViewerWindow->renderingFastFrame() && !gDisconnected)
if (!gDisconnected)
{
render_ui_3d();
#ifndef LL_RELEASE_FOR_DOWNLOAD
@ -587,8 +571,6 @@ void render_ui_and_swap()
gViewerWindow->mWindow->swapBuffers();
}
}
gViewerWindow->finishFirstFastFrame();
}
void render_ui_3d()

View File

@ -1150,15 +1150,13 @@ LLViewerWindow::LLViewerWindow(
mSuppressToolbox( FALSE ),
mHideCursorPermanent( FALSE ),
mPickPending(FALSE),
mIgnoreActivate( FALSE ),
mRenderFullFrame(FALSE)
mIgnoreActivate( FALSE )
{
// Default to application directory.
strcpy(LLViewerWindow::sSnapshotBaseName, "Snapshot"); /* Flawfinder: ignore */
strcpy(LLViewerWindow::sMovieBaseName, "SLmovie"); /* Flawfinder: ignore */
LLViewerWindow::sSnapshotDir[0] = '\0';
mFastFrameTimer.stop();
// create window
mWindow = LLWindowManager::createWindow(
@ -1250,7 +1248,6 @@ LLViewerWindow::LLViewerWindow(
// Create container for all sub-views
mRootView = new LLRootView("root", mVirtualWindowRect, FALSE);
mRootView->setRenderInFastFrame(FALSE);
if (!gNoRender)
{
@ -3126,8 +3123,6 @@ void LLViewerWindow::performPick()
return;
}
finishFastFrame();
mPickPending = FALSE;
U32 te_offset = NO_FACE;
@ -3413,45 +3408,6 @@ void LLViewerWindow::analyzeHit(
//llinfos << "DEBUG Hit Nothing " << llendl;
}
void LLViewerWindow::requestFastFrame(LLView *view)
{
if (!mPickPending &&
mWindow->getSwapMethod() != LLWindow::SWAP_METHOD_UNDEFINED &&
gStartupState >= STATE_STARTED &&
gSavedSettings.getBOOL("RenderFastUI") &&
!gbCapturing)
{
if (!mFastFrameTimer.getStarted())
{
// we're double buffered, so when first requesting a fast ui update
// we need to render the scene again so that the front and back buffers
// are synced
mRenderFullFrame = TRUE;
}
// calculation new expiration time and reset timer
F32 expiration;
if (mFastFrameTimer.hasExpired())
{
expiration = FAST_FRAME_INCREMENT;
}
else
{
expiration = llmin(MAX_FAST_FRAME_TIME, mFastFrameTimer.getTimeToExpireF32() + FAST_FRAME_INCREMENT);
}
mFastFrameTimer.start();
mFastFrameTimer.setTimerExpirySec(expiration);
LLView::sFastFrameView = view->getRootMostFastFrameView();
if (!LLView::sFastFrameView)
{
LLView::sFastFrameView = view;
}
}
}
// Returns unit vector relative to camera
// indicating direction of point on screen x,y
LLVector3 LLViewerWindow::mouseDirectionGlobal(const S32 x, const S32 y) const
@ -3925,9 +3881,6 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
return FALSE;
}
// IW 3/5/04 We don'a wan' nunna yer fest frumes har!
finishFastFrame();
// PRE SNAPSHOT
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

View File

@ -205,12 +205,6 @@ public:
LLViewerObject* getObjectUnderCursor(const F32 depth = 16.0f);
void requestFastFrame(LLView* view);
BOOL renderingFastFrame() { return mFastFrameTimer.getStarted() && !firstFastFrame(); }
void finishFastFrame() { mFastFrameTimer.stop(); mRenderFullFrame = FALSE; }
BOOL firstFastFrame() { return mRenderFullFrame; }
void finishFirstFastFrame() { mRenderFullFrame = FALSE; }
// Returns a pointer to the last object hit
LLViewerObject *lastObjectHit();
LLViewerObject *lastNonFloraObjectHit();
@ -326,8 +320,6 @@ protected:
static char sMovieBaseName[LL_MAX_PATH]; /* Flawfinder: ignore */
BOOL mIgnoreActivate;
LLFrameTimer mFastFrameTimer;
BOOL mRenderFullFrame;
U8* mPickBuffer;
};