merge -r 56842:57026 maintenance.

master
Steven Bennetts 2007-01-23 19:12:31 +00:00
parent 47576ad1f7
commit 7f50e28b0f
23 changed files with 91 additions and 94 deletions

View File

@ -28,7 +28,11 @@ public:
FTM_IDLE,
FTM_SLEEP,
// common simulate components
// common messaging components
FTM_PUMP,
FTM_CURL,
// common simulation components
FTM_UPDATE_ANIMATION,
FTM_UPDATE_TERRAIN,
FTM_UPDATE_PRIMITIVES,

View File

@ -224,7 +224,7 @@ BOOL LLImageJ2C::decode(LLImageRaw *raw_imagep, F32 decode_time, S32 first_chann
// Update the raw discard level
updateRawDiscardLevel();
return mImpl->decodeImpl(*this, *raw_imagep, decode_time, 0, 4);
return mImpl->decodeImpl(*this, *raw_imagep, decode_time, first_channel, max_channel_count);
}

View File

@ -316,6 +316,7 @@ bool LLPumpIO::copyCurrentLinkInfo(links_t& links) const
void LLPumpIO::pump()
{
LLMemType m1(LLMemType::MTYPE_IO_PUMP);
LLFastTimer t1(LLFastTimer::FTM_PUMP);
//llinfos << "LLPumpIO::pump()" << llendl;
// Run any pending runners.

View File

@ -251,6 +251,7 @@ LLIOPipe::EStatus LLURLRequest::process_impl(
S32 queue;
do
{
LLFastTimer t2(LLFastTimer::FTM_CURL);
code = curl_multi_perform(mDetail->mCurlMulti, &queue);
}while((CURLM_CALL_MULTI_PERFORM == code) && (queue > 0) && count--);
CURLMsg* curl_msg;

View File

@ -138,7 +138,6 @@ void LLKeyboard::resetKeys()
if( mKeyLevel[i] )
{
mKeyLevel[i] = FALSE;
mKeyLevelFrameCount[i] = 0;
}
}

View File

@ -247,7 +247,6 @@ void LLKeyboardWin32::scanKeyboard()
{
//llinfos << "Key up event missed, resetting" << llendl;
mKeyLevel[key] = FALSE;
mKeyLevelFrameCount[key] = 0;
}
}
}

View File

@ -52,19 +52,21 @@ static LLColor4 green9(0.6f, 1.0f, 0.6f, 1.0f);
// red (5) magenta (4)
static struct ft_display_info ft_display_table[] =
{
{ LLFastTimer::FTM_FRAME, "Frame", &LLColor4::white, 0 },
{ LLFastTimer::FTM_MESSAGES, " Messages", &LLColor4::grey1, 0 },
{ LLFastTimer::FTM_SLEEP, " Sleep", &LLColor4::grey2, 0 },
{ LLFastTimer::FTM_IDLE, " Idle", &blue0, 0 },
{ LLFastTimer::FTM_INVENTORY, " Inventory Update", &LLColor4::purple6, 1 },
{ LLFastTimer::FTM_AUTO_SELECT, " Open and Select", &LLColor4::red, 0 },
{ LLFastTimer::FTM_FRAME, "Frame", &LLColor4::white, 0 },
{ LLFastTimer::FTM_MESSAGES, " Messages", &LLColor4::grey1, 0 },
{ LLFastTimer::FTM_SLEEP, " Sleep", &LLColor4::grey2, 0 },
{ LLFastTimer::FTM_IDLE, " Idle", &blue0, 0 },
{ LLFastTimer::FTM_PUMP, " Pump", &LLColor4::magenta2, 1 },
{ LLFastTimer::FTM_CURL, " Curl", &LLColor4::magenta3, 0 },
{ LLFastTimer::FTM_INVENTORY, " Inventory Update", &LLColor4::purple6, 1 },
{ LLFastTimer::FTM_AUTO_SELECT, " Open and Select", &LLColor4::red, 0 },
{ LLFastTimer::FTM_FILTER, " Filter", &LLColor4::red2, 0 },
{ LLFastTimer::FTM_ARRANGE, " Arrange", &LLColor4::red3, 0 },
{ LLFastTimer::FTM_REFRESH, " Refresh", &LLColor4::red4, 0 },
{ LLFastTimer::FTM_SORT, " Sort", &LLColor4::red5, 0 },
{ LLFastTimer::FTM_RESET_DRAWORDER, " ResetDrawOrder", &LLColor4::pink1, 0 },
{ LLFastTimer::FTM_WORLD_UPDATE, " World Update", &LLColor4::blue1, 1 },
{ LLFastTimer::FTM_UPDATE_MOVE, " Move Objects", &LLColor4::pink2, 0 },
{ LLFastTimer::FTM_RESET_DRAWORDER, " ResetDrawOrder", &LLColor4::pink1, 0 },
{ LLFastTimer::FTM_WORLD_UPDATE, " World Update", &LLColor4::blue1, 1 },
{ LLFastTimer::FTM_UPDATE_MOVE, " Move Objects", &LLColor4::pink2, 0 },
{ LLFastTimer::FTM_OCTREE_BALANCE, " Octree Balance", &LLColor4::red3, 0 },
{ LLFastTimer::FTM_CULL, " Object Cull", &LLColor4::blue2, 0 },
{ LLFastTimer::FTM_CULL_REBOUND, " Rebound", &LLColor4::blue3, 0 },
@ -262,6 +264,13 @@ BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
}
}
}
else if (mask & MASK_ALT)
{
if (mask & MASK_SHIFT)
mSubtractHidden = !mSubtractHidden;
else
mDisplayCalls = !mDisplayCalls;
}
else if (mask & MASK_SHIFT)
{
if (++mDisplayMode > 3)
@ -282,8 +291,8 @@ BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
mScrollIndex = 0;
}
}
// RN: for now, pass all mouse events through
return FALSE;
// SJB: Don't pass mouse clicks through the display
return TRUE;
}
BOOL LLFastTimerView::handleMouseUp(S32 x, S32 y, MASK mask)
@ -340,33 +349,6 @@ BOOL LLFastTimerView::handleScrollWheel(S32 x, S32 y, S32 clicks)
return FALSE;
}
BOOL LLFastTimerView::handleKey(KEY key, MASK mask, BOOL called_from_parent)
{
// Otherwise space key gets eaten from the rest of the UI. JC
if (getVisible())
{
switch (key)
{
case '=':
mDisplayCalls = !mDisplayCalls;
return TRUE;
case '-':
mSubtractHidden = !mSubtractHidden;
return TRUE;
case ' ':
// pause/unpause
LLFastTimer::sPauseHistory = !LLFastTimer::sPauseHistory;
// reset scroll to bottom when unpausing
if (!LLFastTimer::sPauseHistory)
{
mScrollIndex = 0;
}
return TRUE;
}
}
return FALSE;
}
void LLFastTimerView::draw()
{
LLFastTimer t(LLFastTimer::FTM_RENDER_TIMER);
@ -461,7 +443,7 @@ void LLFastTimerView::draw()
LLFontGL::sMonospace->renderUTF8(tdesc, 0, x, y, LLColor4::white, LLFontGL::LEFT, LLFontGL::TOP);
y -= (texth + 2);
LLFontGL::sMonospace->renderUTF8("[Right-click to log selected] [= to toggle counts] [- to subtract hidden]",
LLFontGL::sMonospace->renderUTF8("[Right-Click log selected] [ALT-Click toggle counts] [ALT-SHIFT-Click sub hidden]",
0, x, y, LLColor4::white, LLFontGL::LEFT, LLFontGL::TOP);
y -= (texth + 2);
}
@ -547,7 +529,7 @@ void LLFastTimerView::draw()
}
else
{
U64 ticks = disabled >= 1 ? ticks_sum[0][i] : LLFastTimer::sCountAverage[tidx];
U64 ticks = ticks_sum[0][i];
ms = (F32)((F64)ticks * iclock_freq);
calls = (S32)LLFastTimer::sCallAverage[tidx];
}

View File

@ -26,7 +26,6 @@ public:
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
virtual void draw();
S32 getLegendIndex(S32 y);

View File

@ -281,12 +281,7 @@ BOOL LLFeatureManager::loadFeatureTables()
return TRUE;
}
S32 LLFeatureManager::getGPUClass()
{
return mGPUClass;
}
S32 LLFeatureManager::loadGPUClass()
void LLFeatureManager::loadGPUClass()
{
std::string data_path = gDirUtilp->getAppRODataDir();
@ -294,6 +289,10 @@ S32 LLFeatureManager::loadGPUClass()
data_path += GPU_TABLE_FILENAME;
// defaults
mGPUClass = 0;
mGPUString = gGLManager.getRawGLString();
llifstream file;
file.open(data_path.c_str());
@ -301,7 +300,7 @@ S32 LLFeatureManager::loadGPUClass()
if (!file)
{
llwarns << "Unable to open GPU table: " << data_path << "!" << llendl;
return 0;
return;
}
std::string renderer = gGLManager.getRawGLString();
@ -360,14 +359,14 @@ S32 LLFeatureManager::loadGPUClass()
{
file.close();
llinfos << "GPU is " << label << llendl;
return (S32) strtol(cls, NULL, 10);
mGPUString = label;
mGPUClass = (S32) strtol(cls, NULL, 10);
}
}
file.close();
//flp->dump();
llwarns << "Couldn't match GPU to a class: " << gGLManager.getRawGLString() << llendl;
return 0;
}
void LLFeatureManager::cleanupFeatureTables()
@ -400,7 +399,7 @@ void LLFeatureManager::initCPUFeatureMasks()
void LLFeatureManager::initGraphicsFeatureMasks()
{
mGPUClass = loadGPUClass();
loadGPUClass();
if (mGPUClass >= 0 && mGPUClass < 4)
{

View File

@ -65,9 +65,10 @@ public:
void maskCurrentList(const char *name); // Mask the current feature list with the named list
BOOL loadFeatureTables();
S32 getGPUClass();
S32 loadGPUClass();
S32 getGPUClass() { return mGPUClass; }
std::string& getGPUString() { return mGPUString; }
void cleanupFeatureTables();
S32 getVersion() const { return mTableVersion; }
@ -83,7 +84,9 @@ public:
BOOL initPCIFeatureMasks();
void applyRecommendedFeatures();
protected:
void loadGPUClass();
void initBaseMask();
std::map<LLString, LLFeatureList *> mMaskList;
@ -91,6 +94,7 @@ protected:
S32 mTableVersion;
BOOL mSafe; // Reinitialize everything to the "safe" mask
S32 mGPUClass;
std::string mGPUString;
};
extern LLFeatureManager *gFeatureManagerp;

View File

@ -185,9 +185,13 @@ void LLVolumeImplFlexible::setAttributesOfAllSections()
end_rot = F_PI * params.getTwist();
}
if (!mVO->mDrawable)
{
return;
}
S32 num_sections = 1 << mSimulateRes;
LLVector3 scale = mVO->mDrawable->getScale();
mSection[0].mPosition = getAnchorPosition();

View File

@ -95,6 +95,7 @@ LLFloaterLand* LLFloaterLand::sInstance = NULL;
LLParcelSelectionObserver* LLFloaterLand::sObserver = NULL;
S32 LLFloaterLand::sLastTab = 0;
BOOL LLFloaterLand::sRequestReplyOnUpdate = TRUE;
LLViewHandle LLPanelLandGeneral::sBuyPassDialogHandle;
// Local classes
class LLParcelSelectionObserver : public LLParcelObserver
@ -943,7 +944,7 @@ void LLPanelLandGeneral::onClickBuyPass(void* deselect_when_done)
args["[PARCEL_NAME]"] = parcel_name;
args["[TIME]"] = time;
gViewerWindow->alertXml("LandBuyPass", args, cbBuyPass, deselect_when_done);
sBuyPassDialogHandle = gViewerWindow->alertXml("LandBuyPass", args, cbBuyPass, deselect_when_done)->getHandle();
}
// static
@ -980,6 +981,11 @@ void LLPanelLandGeneral::cbBuyPass(S32 option, void* data)
}
}
//static
BOOL LLPanelLandGeneral::buyPassDialogVisible()
{
return LLFloater::getFloaterByHandle(sBuyPassDialogHandle) != NULL;
}
// static
void LLPanelLandGeneral::onCommitAny(LLUICtrl *ctrl, void *userdata)

View File

@ -130,6 +130,7 @@ public:
static void onSalePriceChange(LLUICtrl *ctrl, void * userdata);
static void cbBuyPass(S32 option, void*);
static BOOL buyPassDialogVisible();
static void onClickSellLand(void* data);
static void onClickStopSellLand(void* data);
@ -196,6 +197,8 @@ protected:
LLButton* mBtnBuyPass;
LLButton* mBtnStartAuction;
static LLViewHandle sBuyPassDialogHandle;
};
class LLPanelLandObjects

View File

@ -364,8 +364,7 @@ LLFloaterTools::LLFloaterTools()
mPanelLandInfo(NULL),
mTabLand(NULL),
mDirty(TRUE),
mLastTool(gToolNull)
mDirty(TRUE)
{
mAutoFocus = FALSE;
LLCallbackMap::map_t factory_map;
@ -930,21 +929,13 @@ void LLFloaterTools::onClickGridOptions(void* data)
//floaterp->addDependentFloater(LLFloaterBuildOptions::getInstance(), FALSE);
}
void LLFloaterTools::saveLastTool()
{
mLastTool = gToolMgr->getCurrentTool( MASK_NONE );
}
void LLFloaterTools::setEditTool(void* tool_pointer)
{
select_tool(tool_pointer);
if(gFloaterTools && tool_pointer != gToolNull)
{
gFloaterTools->saveLastTool();
}
}
void LLFloaterTools::onFocusReceived()
{
select_tool(mLastTool);
gCurrentToolset = gBasicToolset;
gCurrentToolset->selectTool(gCurrentToolset->getSelectedTool());
}

View File

@ -156,7 +156,6 @@ public:
LLPanelLandInfo *mPanelLandInfo;
LLTabContainer* mTabLand;
LLTool* mLastTool;
private:
BOOL mDirty;

View File

@ -88,9 +88,7 @@ void LLManip::getManipNormal(LLViewerObject* object, EManipPart manip, LLVector3
LLVector3 arrow_axis;
getManipAxis(object, manip, arrow_axis);
LLVector3 origin_dir = grid_origin - gCamera->getOrigin();
origin_dir.normVec();
LLVector3 cross = arrow_axis % origin_dir;
LLVector3 cross = arrow_axis % gCamera->getAtAxis();
normal = cross % arrow_axis;
normal.normVec();
}

View File

@ -666,7 +666,7 @@ BOOL idle_startup()
gSavedSettings.loadFromFile(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT,"overrides.xml"));
// handle the per account settings setup
strcpy(gPerAccountSettingsFileName, gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, DEFAULT_SETTINGS_FILE).c_str());
gPerAccountSettingsFileName = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, DEFAULT_SETTINGS_FILE);
// per account settings. Set defaults here if not found. If we get a bunch of these, eventually move to a function.
gSavedPerAccountSettings.loadFromFile(gPerAccountSettingsFileName);

View File

@ -38,8 +38,8 @@ LLControlGroup gCrashSettings; // saved at end of session
LLString gLastRunVersion;
LLString gCurrentVersion;
char gSettingsFileName[LL_MAX_PATH];
char gPerAccountSettingsFileName[LL_MAX_PATH] = "";
LLString gSettingsFileName;
LLString gPerAccountSettingsFileName;
LLFloaterSettingsDebug::LLFloaterSettingsDebug() : LLFloater("Configuration Editor")
{

View File

@ -53,8 +53,7 @@ extern LLControlGroup gCrashSettings;
extern LLString gLastRunVersion;
extern LLString gCurrentVersion;
extern char gSettingsFileName[LL_MAX_PATH];
extern char gPerAccountSettingsFileName[LL_MAX_PATH];
extern const char *DEFAULT_SETTINGS_FILE;
extern LLString gSettingsFileName;
extern LLString gPerAccountSettingsFileName;
#endif // LL_LLVIEWERCONTROL_H

View File

@ -2484,7 +2484,7 @@ void LLViewerParcelMgr::buyPass()
//Tells whether we are allowed to buy a pass or not
BOOL LLViewerParcelMgr::isCollisionBanned()
{
if ((mCollisionBanned == BA_ALLOWED) || (mCollisionBanned == BA_NOT_ON_LIST))
if ((mCollisionBanned == BA_ALLOWED) || (mCollisionBanned == BA_NOT_ON_LIST) || (mCollisionBanned == BA_NOT_IN_GROUP))
return FALSE;
else
return TRUE;

View File

@ -38,8 +38,8 @@ public:
const StatAttributes STAT_INFO[LLViewerStats::ST_COUNT] =
{
// ST_MOUSELOOK_SECONDS
StatAttributes("Seconds in Mouselook", FALSE, TRUE),
// ST_VERSION
StatAttributes("Version", TRUE, FALSE),
// ST_AVATAR_EDIT_SECONDS
StatAttributes("Seconds in Edit Appearence", FALSE, TRUE),
// ST_TOOLBOX_SECONDS
@ -58,10 +58,10 @@ const StatAttributes STAT_INFO[LLViewerStats::ST_COUNT] =
StatAttributes("Object rez count", FALSE, FALSE),
// ST_FPS_10_SECONDS
StatAttributes("Seconds below 10 FPS", FALSE, TRUE),
// ST_FPS_5_SECONDS
StatAttributes("Seconds below 5 FPS", FALSE, TRUE),
// ST_FPS_2_SECONDS
StatAttributes("Seconds below 2 FPS", FALSE, TRUE),
// ST_MOUSELOOK_SECONDS
StatAttributes("Seconds in Mouselook", FALSE, TRUE),
// ST_FLY_COUNT
StatAttributes("Fly count", FALSE, FALSE),
// ST_TELEPORT_COUNT
@ -229,10 +229,6 @@ void LLViewerStats::updateFrameStats(const F64 time_diff)
{
incStat(LLViewerStats::ST_FPS_2_SECONDS, time_diff);
}
if (time_diff >= 0.2)
{
incStat(LLViewerStats::ST_FPS_5_SECONDS, time_diff);
}
if (time_diff >= 0.125)
{
incStat(LLViewerStats::ST_FPS_8_SECONDS, time_diff);

View File

@ -79,7 +79,7 @@ public:
// in statTypeToText in llviewerstats.cpp
enum EStatType
{
ST_MOUSELOOK_SECONDS = 0,
ST_VERSION = 0,
ST_AVATAR_EDIT_SECONDS = 1,
ST_TOOLBOX_SECONDS = 2,
ST_CHAT_COUNT = 3,
@ -89,8 +89,8 @@ public:
ST_CREATE_COUNT = 7,
ST_REZ_COUNT = 8,
ST_FPS_10_SECONDS = 9,
ST_FPS_5_SECONDS = 10,
ST_FPS_2_SECONDS = 11,
ST_FPS_2_SECONDS = 10,
ST_MOUSELOOK_SECONDS = 11,
ST_FLY_COUNT = 12,
ST_TELEPORT_COUNT = 13,
ST_OBJECT_DELETE_COUNT = 14,

View File

@ -349,6 +349,12 @@ BOOL LLViewerWindow::handleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask
llinfos << "ViewerWindow left mouse down at " << x << "," << y << llendl;
}
if (gMenuBarView)
{
// stop ALT-key access to menu
gMenuBarView->resetMenuTrigger();
}
mLeftMouseDown = TRUE;
// Make sure we get a coresponding mouseup event, even if the mouse leaves the window
@ -617,6 +623,12 @@ BOOL LLViewerWindow::handleRightMouseDown(LLWindow *window, LLCoordGL pos, MASK
llinfos << "ViewerWindow right mouse down at " << x << "," << y << llendl;
}
if (gMenuBarView)
{
// stop ALT-key access to menu
gMenuBarView->resetMenuTrigger();
}
mRightMouseDown = TRUE;
// Make sure we get a coresponding mouseup event, even if the mouse leaves the window
@ -2514,7 +2526,7 @@ BOOL LLViewerWindow::handlePerFrameHover()
}
}
if (tool != gToolNull && tool != gToolInspect && tool != gToolCamera && tool != gToolDragAndDrop && !gSavedSettings.getBOOL("FreezeTime"))
if (tool != gToolNull && tool != gToolInspect && tool != gToolDragAndDrop && !gSavedSettings.getBOOL("FreezeTime"))
{
LLMouseHandler *captor = gFocusMgr.getMouseCapture();
// With the null, inspect, or drag and drop tool, don't muck
@ -2679,6 +2691,7 @@ BOOL LLViewerWindow::handlePerFrameHover()
&& !gMenuHolder->hasVisibleMenu()
&& !LLFloaterLand::floaterVisible()
&& !LLFloaterBuyLand::isOpen()
&& !LLPanelLandGeneral::buyPassDialogVisible()
&& (!gFloaterTools || !gFloaterTools->getVisible()))
{
gParcelMgr->deselectLand();