corrected, removed, and updated comments throughout the code to be more useful. no code changes. SL-13762

master
Aaron Brashears 2007-01-03 21:05:41 +00:00
parent 2b291c2732
commit 4617a37edf
83 changed files with 282 additions and 235 deletions

View File

@ -174,7 +174,7 @@ int main(int argc, char **argv)
sleep(5);
}
// FIXME: do some dialog stuff here?
// *FIX: do some dialog stuff here?
if (CRASH_BEHAVIOR_ALWAYS_SEND == crash_behavior)
{
gSendReport = TRUE;
@ -219,7 +219,8 @@ int main(int argc, char **argv)
db_filep = new LLFileEncoder("DB", db_file_name.c_str());
// Get the filename of the SecondLife.log file
//FIXME tofu - get right MAX_PATH
// *TODO tofu - get right MAX_PATH.
// *FIX: What's up with this? This #define just can't be safe.
#define MAX_PATH PATH_MAX
char tmp_sl_name[MAX_PATH];
tmp_sl_name[0] = '\0';

View File

@ -1096,7 +1096,7 @@ void LLBVHLoader::optimize()
KeyVector::iterator ki = joint->mKeys.begin();
if (joint->mKeys.size() == 1)
{
//FIXME: use single frame to move pelvis
// *FIX: use single frame to move pelvis
// if only one keyframe force output for this joint
rot_changed = TRUE;
}

View File

@ -922,7 +922,8 @@ void LLKeyframeMotion::applyConstraint(JointConstraint* constraint, F32 time, U8
target_jointp = mCharacter->findCollisionVolume(shared_data->mTargetConstraintVolume);
if (target_jointp)
{
// FIXME: do proper normal calculation for stretched spheres (inverse transpose)
// *FIX: do proper normal calculation for stretched
// spheres (inverse transpose)
norm = target_pos - target_jointp->getWorldPosition();
}
@ -1613,7 +1614,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
}
}
// FIXME: support cleanup of old keyframe data
// *FIX: support cleanup of old keyframe data
LLKeyframeDataCache::addKeyframeData(getID(), mJointMotionList);
mAssetStatus = ASSET_LOADED;

View File

@ -416,7 +416,7 @@ protected:
class LLKeyframeDataCache
{
public:
//FIXME: implement this as an actual singleton member of LLKeyframeMotion
// *FIX: implement this as an actual singleton member of LLKeyframeMotion
LLKeyframeDataCache(){};
~LLKeyframeDataCache();

View File

@ -111,7 +111,7 @@ LLMotion *LLMotionRegistry::createMotion( const LLUUID &id )
if ( motion_entry.getID().isNull() )
{
//FIXME - RN: need to replace with a better default scheme
// *FIX: need to replace with a better default scheme. RN
motion = LLKeyframeMotion::create(id);
}
else
@ -394,7 +394,7 @@ BOOL LLMotionController::stopMotionLocally(const LLUUID &id, BOOL stop_immediate
if (isMotionActive(motion) && !motion->isStopped())
{
// when using timesteps, set stop time to last frame's time, otherwise grab current timer value
// FIXME: should investigate this inconsistency...hints of obscure bugs
// *FIX: should investigate this inconsistency...hints of obscure bugs
F32 stop_time = (mTimeStep != 0.f || mPaused) ? (mTime) : mTimeOffset + (mTimer.getElapsedTimeF32() * mTimeFactor);
motion->setStopTime(stop_time);

View File

@ -364,7 +364,8 @@ LONG WINAPI default_windows_exception_handler(struct _EXCEPTION_POINTERS *except
//
// Generate a minidump if we can.
//
// FIXME: This needs to be ported over form the viewer-specific LLWinDebug class
// TODO: This needs to be ported over form the viewer-specific
// LLWinDebug class
//
// At this point, we always want to exit the app. There's no graceful
@ -510,10 +511,13 @@ void default_unix_signal_handler(int signum, siginfo_t *info, void *)
{
llinfos << "Signal handler - Got SIGCHLD from " << info->si_pid << llendl;
}
// Check result code for all child procs for which we've registered callbacks
// THIS WILL NOT WORK IF SIGCHLD IS SENT w/o killing the child (Go, launcher!)
// FIXME: Now that we're using SIGACTION, we can actually implement the launcher behavior to determine
// who sent the SIGCHLD even if it doesn't result in child termination
// Check result code for all child procs for which we've
// registered callbacks THIS WILL NOT WORK IF SIGCHLD IS SENT
// w/o killing the child (Go, launcher!)
// TODO: Now that we're using SIGACTION, we can actually
// implement the launcher behavior to determine who sent the
// SIGCHLD even if it doesn't result in child termination
if (LLApp::sChildMap.count(info->si_pid))
{
LLApp::sChildMap[info->si_pid].mGotSigChild = TRUE;

View File

@ -224,8 +224,9 @@ private:
static void runErrorHandler();
// FIXME: On Windows, we need a routine to reset the structured exception handler when some evil driver has taken it over for their own purposes
// *NOTE: On Windows, we need a routine to reset the structured
// exception handler when some evil driver has taken it over for
// their own purposes
typedef int(*signal_handler_func)(int signum);
static LLAppErrorHandler sErrorHandler;

View File

@ -32,7 +32,7 @@ void LLMortician::die()
// It is valid to call die() more than once on something that hasn't died yet
if (sDestroyImmediate)
{
//HACK: we need to do this to ensure destruction order on shutdown
// *NOTE: This is a hack to ensure destruction order on shutdown.
mIsDead = TRUE;
delete this;
return;

View File

@ -368,11 +368,12 @@ LLSD LLSDXMLParser::Impl::parse(std::istream& input)
}
}
// FIXME: This code is buggy - if the stream was empty or not good, there
// is not buffer to parse, both the call to XML_ParseBuffer and the buffer
// manipulations are illegal
// futhermore, it isn't clear that the expat buffer semantics are preserved
// *FIX.: This code is buggy - if the stream was empty or not
// good, there is not buffer to parse, both the call to
// XML_ParseBuffer and the buffer manipulations are illegal
// futhermore, it isn't clear that the expat buffer semantics are
// preserved
status = XML_ParseBuffer(mParser, 0, true);
if (status == XML_STATUS_ERROR && !mGracefullStop)
{

View File

@ -97,10 +97,11 @@ struct DeletePairedPointerArray
// Alternate version of the above so that has a more cumbersome
// syntax, but it can be used with compositional functors. *FIX: The
// functor retuns a bool because msdev bombs during the composition if
// you return void. Once we upgrade to a newer compiler, the second
// unary_function template parameter can be set to void.
// syntax, but it can be used with compositional functors.
// NOTE: The functor retuns a bool because msdev bombs during the
// composition if you return void. Once we upgrade to a newer
// compiler, the second unary_function template parameter can be set
// to void.
//
// Here's a snippit showing how you use this object:
//

View File

@ -344,7 +344,7 @@ void LLCPUInfo::stream(std::ostream& s) const
s << "Unable to collect processor info";
}
#else
// *FIX: This works on linux. What will it do on other systems?
// *NOTE: This works on linux. What will it do on other systems?
FILE* cpuinfo = LLFile::fopen(CPUINFO_FILE, "r"); /* Flawfinder: ignore */
if(cpuinfo)
{
@ -430,7 +430,7 @@ void LLMemoryInfo::stream(std::ostream& s) const
}
#else
// *FIX: This works on linux. What will it do on other systems?
// *NOTE: This works on linux. What will it do on other systems?
FILE* meminfo = LLFile::fopen(MEMINFO_FILE,"r"); /* Flawfinder: ignore */
if(meminfo)
{

View File

@ -2930,7 +2930,7 @@ void LLVolume::generateSilhouetteVertices(std::vector<LLVector3> &vertices,
if (fFacing[j] == (AWAY | TOWARDS))
{ //this is a degenerate triangle
//take neighbor facing (degenerate faces get facing of one of their neighbors)
// FIXME IF NEEDED: this does not deal with neighboring degenerate faces
// *FIX IF NEEDED: this does not deal with neighboring degenerate faces
for (S32 k = 0; k < 3; k++)
{
S32 index = face.mEdge[j*3+k];

View File

@ -758,7 +758,7 @@ size_t LLHTTPAssetStorage::nullOutputCallback(void *data, size_t size, size_t nm
// this is a very limited function for use by the simstate loader and other one-offs
S32 LLHTTPAssetStorage::getURLToFile(const LLUUID& uuid, LLAssetType::EType asset_type, const LLString &url, const char *filename, progress_callback callback, void *userdata)
{
// FIXME: There is no guarantee that the uuid and the asset_type match
// *NOTE: There is no guarantee that the uuid and the asset_type match
// - not that it matters. - Doug
lldebugs << "LLHTTPAssetStorage::getURLToFile() - " << url << llendl;

View File

@ -472,7 +472,7 @@ BOOL LLThrottleGroup::dynamicAdjust()
// JC - Actually, need to let mCurrentBPS go less than nominal, otherwise
// you aren't allowing bandwidth to actually be moved from one channel
// to another.
// FIXME: If clamping high end, would be good to re-
// *TODO: If clamping high end, would be good to re-
// allocate to other channels in the above code.
const F32 MAX_BPS = 4 * mNominalBPS[i];
if (mCurrentBPS[i] > MAX_BPS)

View File

@ -693,7 +693,8 @@ void LLTransferSourceChannel::updateTransfers()
if (cdp->isBlocked())
{
// FIXME We need to make sure that the throttle bits available gets reset.
// *NOTE: We need to make sure that the throttle bits
// available gets reset.
// We DON'T want to send any packets if they're blocked, they'll just end up
// piling up on the other end.

View File

@ -483,7 +483,7 @@ size_t headerCallback(void* data, size_t size, size_t nmemb, void* user)
size_t headerLen = size * nmemb;
LLURLRequestComplete* complete = (LLURLRequestComplete*)user;
// FIXME: This should be a utility in llstring.h: isascii()
// *TODO: This should be a utility in llstring.h: isascii()
for (size_t i = 0; i < headerLen; ++i)
{
if (headerLine[i] < 0)

View File

@ -454,9 +454,9 @@ BOOL LLMessageSystem::mTimeDecodes = FALSE;
// static, 50ms per message decode
F32 LLMessageSystem::mTimeDecodesSpamThreshold = 0.05f;
// FIXME: This needs to be moved into a seperate file so that it never gets
// *NOTE: This needs to be moved into a seperate file so that it never gets
// included in the viewer. 30 Sep 2002 mark
// NOTE: I don't think it's important that the messgage system tracks
// *NOTE: I don't think it's important that the messgage system tracks
// this since it must get set externally. 2004.08.25 Phoenix.
static std::string g_shared_secret;
std::string get_shared_secret();
@ -4506,7 +4506,7 @@ void process_deny_trusted_circuit(LLMessageSystem *msg, void **)
// times out, and allows us to re-establish it, but does
// mean that if our shared_secret or clock is wrong, we'll
// spin.
// FIXME: probably should keep a count of number of resends
// *TODO: probably should keep a count of number of resends
// per circuit, and stop resending after a while.
llinfos << "Got DenyTrustedCircuit. Sending CreateTrustedCircuit to "
<< msg->getSender() << llendl;

View File

@ -42,10 +42,6 @@ const U32 MESSAGE_NUMBER_OF_HASH_BUCKETS = 8192;
const S32 MESSAGE_MAX_PER_FRAME = 400;
// FIXME: This needs to be moved to a server-side only header.
// 30 Sep 2002 mark
//extern char *MESSAGE_SHARED_SECRET;
class LLMessageStringTable
{
public:
@ -118,7 +114,9 @@ const F32 LL_MINIMUM_RELIABLE_TIMEOUT_SECONDS = 1.f;
const F32 LL_MINIMUM_SEMIRELIABLE_TIMEOUT_SECONDS = 1.f;
const F32 LL_PING_BASED_TIMEOUT_DUMMY = 0.0f;
// FIXME: These factors shouldn't include the msec to sec conversion implicitly
// *NOTE: Maybe these factors shouldn't include the msec to sec conversion
// implicitly.
// However, all units should be MKS.
const F32 LL_SEMIRELIABLE_TIMEOUT_FACTOR = 5.f / 1000.f; // factor * averaged ping
const F32 LL_RELIABLE_TIMEOUT_FACTOR = 5.f / 1000.f; // factor * averaged ping
const F32 LL_FILE_XFER_TIMEOUT_FACTOR = 5.f / 1000.f; // factor * averaged ping

View File

@ -842,7 +842,7 @@ S32 LLFontGL::render(const LLWString &wstr,
glEnd();
}
//FIXME: get this working in all alignment cases, etc.
// *FIX: get this working in all alignment cases, etc.
if (draw_ellipses)
{
// recursively render ellipses at end of string

View File

@ -921,7 +921,7 @@ BOOL LLImageGL::setDiscardLevel(S32 discard_level)
}
else
{
#ifndef LL_LINUX // FIXME: This should not be skipped for the linux client.
#ifndef LL_LINUX // *FIX: This should not be skipped for the linux client.
llerrs << "LLImageGL::setDiscardLevel() called on image without mipmaps" << llendl;
#endif
return FALSE;

View File

@ -202,8 +202,9 @@ void LLComboBox::setEnabled(BOOL enabled)
mButton->setEnabled(enabled);
}
//FIXME: these are all hacks to support the fact that the combobox has mouse capture
// so we can hide the list when we don't handle the mouse up event
// *HACK: these are all hacks to support the fact that the combobox
// has mouse capture so we can hide the list when we don't handle the
// mouse up event
BOOL LLComboBox::handleHover(S32 x, S32 y, MASK mask)
{
if (mList->getVisible())

View File

@ -887,7 +887,7 @@ void LLFloater::setFocus( BOOL b )
last_focus->isInEnabledChain() &&
last_focus->isInVisibleChain())
{
// FIXME: should handle case where focus doesn't stick
// *FIX: should handle case where focus doesn't stick
last_focus->setFocus(TRUE);
}
}
@ -1716,7 +1716,7 @@ void LLFloaterView::restoreAll()
floaterp->setMinimized(FALSE);
}
//FIXME: make sure dependents are restored
// *FIX: make sure dependents are restored
// children then deleted by default view constructor
}
@ -1861,7 +1861,8 @@ BOOL LLFloaterView::getCycleMode()
void LLFloaterView::bringToFront(LLFloater* child, BOOL give_focus)
{
//FIXME: make this respect floater's mAutoFocus value, instead of using parameter
// *TODO: make this respect floater's mAutoFocus value, instead of
// using parameter
if (child->getHost())
{
// this floater is hosted elsewhere and hence not one of our children, abort
@ -2690,7 +2691,7 @@ void LLMultiFloater::tabClose()
void LLMultiFloater::setVisible(BOOL visible)
{
//FIXME: shouldn't have to do this, fix adding to minimized multifloater
// *FIX: shouldn't have to do this, fix adding to minimized multifloater
LLFloater::setVisible(visible);
if (mTabContainer)

View File

@ -216,7 +216,9 @@ BOOL LLMenuItemGL::addToAcceleratorList(std::list <LLKeyBinding*> *listp)
accelerator = *list_it;
if ((accelerator->mKey == mAcceleratorKey) && (accelerator->mMask == mAcceleratorMask))
{
//FIXME: get calling code to throw up warning or route warning messages back to app-provided output
// *NOTE: get calling code to throw up warning or route
// warning messages back to app-provided output
// LLString warning;
// warning.append("Duplicate key binding <");
// appendAcceleratorString( warning );
@ -1542,7 +1544,7 @@ void LLMenuItemBranchDownGL::doIt( void )
}
mBranch->translate( delta_x, 0 );
//FIXME: get menuholder lookup working more generically
// *TODO: get menuholder lookup working more generically
// hide existing menus
if (!mBranch->getTornOff())
{
@ -2183,7 +2185,7 @@ void LLMenuGL::arrange( void )
{
U32 max_width = (getParent() != NULL) ? getParent()->getRect().getWidth() : U32_MAX;
U32 max_height = (getParent() != NULL) ? getParent()->getRect().getHeight() : U32_MAX;
//FIXME: create the item first and then ask for its dimensions?
// *FIX: create the item first and then ask for its dimensions?
S32 spillover_item_width = PLAIN_PAD_PIXELS + LLFontGL::sSansSerif->getWidth( "More" );
S32 spillover_item_height = llround(LLFontGL::sSansSerif->getLineHeight()) + MENU_ITEM_PADDING;
@ -3407,7 +3409,7 @@ BOOL LLPieMenu::handleMouseUp( S32 x, S32 y, MASK mask )
mFirstMouseDown = FALSE;
}
//FIXME: is this necessary?
// *FIX: is this necessary?
if (!mShrinkBorderTimer.getStarted())
{
mShrinkBorderTimer.start();
@ -3766,7 +3768,7 @@ void LLPieMenu::show(S32 x, S32 y, BOOL mouse_down)
LLUI::setCursorPositionLocal(getParent(), center.mX, center.mY);
}
// FIXME: what happens when mouse buttons reversed?
// *FIX: what happens when mouse buttons reversed?
mRightMouseDown = mouse_down;
mFirstMouseDown = mouse_down;
mUseInfiniteRadius = TRUE;

View File

@ -714,7 +714,7 @@ protected:
};
//FIXME: this is currently working, so finish implementation
// *TODO: this is currently working, so finish implementation
class LLEditMenuHandlerMgr
{
public:

View File

@ -110,7 +110,7 @@ BOOL LLResizeBar::handleHover(S32 x, S32 y, MASK mask)
// We only handle the click if the click both started and ended within us
if( gFocusMgr.getMouseCapture() == this )
{
//FIXME: this, of course, is fragile
// *NOTE: this, of course, is fragile
LLView* floater_view = getParent()->getParent();
S32 floater_view_x;
S32 floater_view_y;

View File

@ -846,7 +846,7 @@ void LLTabContainer::addTabPanel(LLPanel* child,
if (placeholder)
{
//FIXME: wont work for horizontal tabs
// *FIX: wont work for horizontal tabs
btn_rect.translate(0, -LLBUTTON_V_PAD-2);
LLString box_label = trimmed_label;
LLTextBox* text = new LLTextBox(box_label, btn_rect, box_label, font);

View File

@ -1543,7 +1543,7 @@ LLRect LLView::getRequiredRect()
const LLRect LLView::getScreenRect() const
{
//FIXME: check for one-off error
// *FIX: check for one-off error
LLRect screen_rect;
localPointToScreen(0, 0, &screen_rect.mLeft, &screen_rect.mBottom);
localPointToScreen(mRect.getWidth(), mRect.getHeight(), &screen_rect.mRight, &screen_rect.mTop);

View File

@ -68,7 +68,9 @@ LLDir_Linux::LLDir_Linux()
char path [32];
// !!! FIXME: /proc/%d/exe doesn't work on FreeBSD.
// *NOTE: /proc/%d/exe doesn't work on FreeBSD. But that's ok,
// because this is the linux implementation.
sprintf (path, "/proc/%d/exe", (int) getpid ());
int rc = readlink (path, tmp_str, sizeof (tmp_str)-1);
if ( (rc != -1) && (rc <= ((int) sizeof (tmp_str)-1)) )
@ -89,7 +91,7 @@ LLDir_Linux::LLDir_Linux()
}
}
// !!! FIXME: don't use /tmp, use $HOME/.secondlife/tmp or something.
// *TODO: don't use /tmp, use $HOME/.secondlife/tmp or something.
mTempDir = "/tmp";
}

View File

@ -83,7 +83,7 @@ BOOL LLVFile::read(U8 *buffer, S32 bytes, BOOL async, F32 priority)
// We can't do a read while there are pending async writes
waitForLock(VFSLOCK_APPEND);
// FIXME
// *FIX: (???)
if (async)
{
mHandle = sVFSThread->read(mVFS, mFileID, mFileType, buffer, mPosition, bytes, threadPri());
@ -186,7 +186,7 @@ BOOL LLVFile::write(const U8 *buffer, S32 bytes)
}
BOOL success = TRUE;
// FIXME: allow async writes? potential problem wit mPosition...
// *FIX: allow async writes? potential problem wit mPosition...
if (mMode == APPEND) // all appends are async (but WRITEs are not)
{
U8* writebuf = new U8[bytes];

View File

@ -225,8 +225,9 @@ void LLKeyboardWin32::scanKeyboard()
// On Windows, verify key down state. JC
if (mKeyLevel[key])
{
// FIXME: I KNOW there must be a better way of interrogating the key state than this, using async
// key state can cause ALL kinds of bugs - Doug
// *TODO: I KNOW there must be a better way of
// interrogating the key state than this, using async key
// state can cause ALL kinds of bugs - Doug
if (key < KEY_BUTTON0)
{
// ...under windows make sure the key actually still is down.

View File

@ -168,7 +168,7 @@ S32 OSMessageBox(const char* text, const char* caption, U32 type)
}
S32 result = 0;
#if LL_MESA_HEADLESS // !!! FIXME
#if LL_MESA_HEADLESS // !!! *FIX: (???)
llwarns << "OSMessageBox: " << text << llendl;
return OSBTN_OK;
#elif LL_WINDOWS
@ -251,7 +251,7 @@ bool LLSplashScreen::isVisible()
// static
LLSplashScreen *LLSplashScreen::create()
{
#if LL_MESA_HEADLESS || LL_SDL // !!! FIXME
#if LL_MESA_HEADLESS || LL_SDL // !!! *FIX: (???)
return 0;
#elif LL_WINDOWS
return new LLSplashScreenWin32;

View File

@ -194,7 +194,7 @@ LLWindowSDL::LLWindowSDL(char *title, S32 x, S32 y, S32 width,
mOriginalAspectRatio = 1024.0 / 768.0; // !!! FIXME //(double)CGDisplayPixelsWide(mDisplay) / (double)CGDisplayPixelsHigh(mDisplay);
if (!title)
title = "SDL Window"; // !!! FIXME
title = "SDL Window"; // *FIX: (???)
// Stash the window title
mWindowTitle = new char[strlen(title) + 1];
@ -239,7 +239,7 @@ static SDL_Surface *Load_BMP_Resource(const char *basename)
BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, BOOL fullscreen, BOOL disable_vsync)
{
//bool glneedsinit = false;
// const char *gllibname = null; // !!! fixme
// const char *gllibname = null;
llinfos << "createContext, fullscreen=" << fullscreen <<
" size=" << width << "x" << height << llendl;
@ -250,7 +250,6 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
if (SDL_Init(SDL_INIT_VIDEO) < 0)
{
// !!! fixme: stderr?
llinfos << "sdl_init() failed! " << SDL_GetError() << llendl;
setupFailure("window creation error", "error", OSMB_OK);
return false;
@ -306,7 +305,7 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, (bits <= 16) ? 16 : 24);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, (bits <= 16) ? 1 : 8);
// !!! FIXME: try to toggle vsync here?
// *FIX: try to toggle vsync here?
mFullscreen = fullscreen;
was_fullscreen = fullscreen;
@ -437,7 +436,7 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
}
// If VRAM is not detected, that is handled later
#if 0 // !!! FIXME: all video cards suck under Linux. :)
#if 0 // *FIX: all video cards suck under Linux. :)
// Since we just created the context, it needs to be set up.
glNeedsInit = TRUE;
if(glNeedsInit)
@ -510,7 +509,7 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
return FALSE;
}
#if 0 // !!! FIXME: we're going to brave it for now...
#if 0 // *FIX: we're going to brave it for now...
if (alphaBits < 8)
{
close();
@ -579,7 +578,7 @@ void LLWindowSDL::destroyContext()
llinfos << "shutdownGL begins" << llendl;
gGLManager.shutdownGL();
llinfos << "SDL_QuitSS/VID begins" << llendl;
SDL_QuitSubSystem(SDL_INIT_VIDEO); // !!! !!! FIXME: this might be risky...
SDL_QuitSubSystem(SDL_INIT_VIDEO); // *FIX: this might be risky...
//unload_all_glsyms();
mWindow = NULL;
@ -603,22 +602,22 @@ LLWindowSDL::~LLWindowSDL()
void LLWindowSDL::show()
{
// !!! FIXME: What to do with SDL?
// *FIX: What to do with SDL?
}
void LLWindowSDL::hide()
{
// !!! FIXME: What to do with SDL?
// *FIX: What to do with SDL?
}
void LLWindowSDL::minimize()
{
// !!! FIXME: What to do with SDL?
// *FIX: What to do with SDL?
}
void LLWindowSDL::restore()
{
// !!! FIXME: What to do with SDL?
// *FIX: What to do with SDL?
}
@ -648,7 +647,8 @@ BOOL LLWindowSDL::getVisible()
{
BOOL result = FALSE;
// !!! FIXME: This isn't really right...
// *FIX: This isn't really right...
// Then what is?
if (mWindow)
{
result = TRUE;
@ -693,7 +693,7 @@ BOOL LLWindowSDL::getFullscreen()
BOOL LLWindowSDL::getPosition(LLCoordScreen *position)
{
// !!! FIXME: can anything be done with this?
// *FIX: can anything be done with this?
position->mX = 0;
position->mY = 0;
return TRUE;
@ -729,7 +729,7 @@ BOOL LLWindowSDL::setPosition(const LLCoordScreen position)
{
if(mWindow)
{
// !!! FIXME...
// *FIX: (???)
//MacMoveWindow(mWindow, position.mX, position.mY, false);
}
@ -740,7 +740,7 @@ BOOL LLWindowSDL::setSize(const LLCoordScreen size)
{
if(mWindow)
{
// !!! FIXME...
// *FIX: (???)
//SizeWindow(mWindow, size.mX, size.mY, true);
}
@ -949,10 +949,10 @@ void LLWindowSDL::afterDialog()
llinfos << "LLWindowSDL::afterDialog()" << llendl;
if (old_fullscreen && !was_fullscreen)
{
// NOT YET WORKING (see below)
// *FIX: NOT YET WORKING (see below)
//switchContext(TRUE, old_size, TRUE);
}
// !!! FIXME - we need to restore the GL context using
// *FIX: we need to restore the GL context using
// LLViewerWindow::restoreGL() - but how??
}
@ -1853,15 +1853,15 @@ void LLWindowSDL::gatherInput()
mCallbacks->handlePaint(this, 0, 0, mWindow->w, mWindow->h);
break;
case SDL_VIDEORESIZE: // !!! FIXME: handle this?
case SDL_VIDEORESIZE: // *FIX: handle this?
llinfos << "Handling a resize event: " << event.resize.w <<
"x" << event.resize.h << llendl;
// !!! FIXME: I'm not sure this is necessary!
// *FIX: I'm not sure this is necessary!
mWindow = SDL_SetVideoMode(event.resize.w, event.resize.h, 32, mSDLFlags);
if (!mWindow)
{
// FIXME: More informative dialog?
// *FIX: More informative dialog?
llinfos << "Could not recreate context after resize! Quitting..." << llendl;
if(mCallbacks->handleCloseRequest(this))
{
@ -2463,7 +2463,7 @@ void spawn_web_browser(const char* escaped_url)
void shell_open( const char* file_path )
{
// !!! FIXME:
// *FIX: (???)
fprintf(stderr, "shell_open: %s\n", file_path);
}
@ -2480,7 +2480,7 @@ void *LLWindowSDL::getPlatformWindow()
void LLWindowSDL::bringToFront()
{
// !!! FIXME:
// *FIX: (???)
fprintf(stderr, "bringToFront\n");
}

View File

@ -2519,7 +2519,7 @@ void LLAgent::updateLookAt(const S32 mouse_x, const S32 mouse_y)
}
else
{
//FIXME: rotate mframeagent by sit object's rotation?
// *FIX: rotate mframeagent by sit object's rotation?
LLQuaternion look_rotation = mAvatarObject->mIsSitting ? mAvatarObject->getRenderRotation() : mFrameAgent.getQuaternion(); // use camera's current rotation
LLVector3 look_offset = LLVector3(2.f, 0.f, 0.f) * look_rotation * av_inv_rot;
setLookAt(LOOKAT_TARGET_IDLE, mAvatarObject, look_offset);
@ -2705,7 +2705,7 @@ U8 LLAgent::getRenderState()
return 0;
}
// FIXME: don't do stuff in a getter! This is infinite loop city!
// *FIX: don't do stuff in a getter! This is infinite loop city!
if ((mTypingTimer.getElapsedTimeF32() > TYPING_TIMEOUT_SECS)
&& (mRenderState & AGENT_STATE_TYPING))
{
@ -3076,7 +3076,7 @@ void LLAgent::updateCamera()
// where it is updated. All three of its attributes are updated: (1) position,
// (2) focus, and (3) upvector. They can then be queried elsewhere in llAgent.
//--------------------------------------------------------------------------------
//FIXME: use combined rotation of frameagent and sit object
// *TODO: use combined rotation of frameagent and sit object
LLQuaternion avatarRotationForFollowCam = mAvatarObject->mIsSitting ? mAvatarObject->getRenderRotation() : mFrameAgent.getQuaternion();
LLFollowCamParams* current_cam = LLFollowCamMgr::getActiveFollowCamParams();
@ -3452,7 +3452,7 @@ LLVector3d LLAgent::calcFocusPositionTargetGlobal()
}
LLVector3 focus_agent = mFocusObject->getRenderPosition() + mFocusObjectOffset;
mFocusTargetGlobal.setVec(getPosGlobalFromAgent(focus_agent));
//FIXME: get camera pointat behavior working
// *FIX: get camera pointat behavior working
//if (mTrackFocusObject)
//{
// mCameraFocusOffset = gAgent.getPosGlobalFromAgent(gCamera->getOrigin()) - mFocusTargetGlobal;
@ -7119,7 +7119,7 @@ void LLAgent::queryWearableCache()
{
hash ^= BAKED_TEXTURE_HASH[baked_texture_index];
num_queries++;
//FIXME: make sure at least one request gets packed
// *NOTE: make sure at least one request gets packed
//llinfos << "Requesting texture for hash " << hash << " in baked texture slot " << baked_texture_index << llendl;
gMessageSystem->nextBlockFast(_PREHASH_WearableData);

View File

@ -20,7 +20,7 @@
#include "llinventoryview.h"
#include "llpermissionsflags.h"
#include "lluploaddialog.h"
#include "llviewermenu.h" // FIXME -- for upload_new_resource()
#include "llviewermenu.h" // for upload_new_resource()
#include "llviewerwindow.h"
#include "viewer.h"
@ -165,9 +165,9 @@ void LLNewAgentInventoryResponder::result(const LLSD& result)
// remove the "Uploading..." message
LLUploadDialog::modalUploadFinished();
// *FIX: This is a pretty big hack. What this does is check the
// file picker if there are any more pending uploads. If so,
// upload that file.
// *NOTE: This is a pretty big hack. What this does is check
// the file picker if there are any more pending uploads. If
// so, upload that file.
const char* next_file = LLFilePicker::instance().getNextFile();
if(next_file)
{

View File

@ -613,7 +613,7 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
// we were tracking someone who went offline
deleteTrackingData();
}
//FIXME get actual inventory id
// *TODO: get actual inventory id
gInventory.addChangedMask(LLInventoryObserver::CALLING_CARD, LLUUID::null);
}
if(notify)

View File

@ -56,10 +56,6 @@ private:
void buildDirname( void );
#if LL_WINDOWS
//FIXME
#endif
#if LL_DARWIN
NavDialogCreationOptions mNavOptions;
static pascal void doNavCallbackEvent(NavEventCallbackMessage callBackSelector,

View File

@ -668,7 +668,8 @@ void LLDrawable::updateTexture()
return;
}
//FIXME: this updates textures on all faces in this drawable, not just the viewer object we care about
// *FIX: this updates textures on all faces in this drawable, not
// just the viewer object we care about
if (mVObjp->getNumTEs())
{
// For each face in this drawable, change the drawpool if necessary.
@ -768,9 +769,9 @@ void LLDrawable::shiftPos(const LLVector3 &shift_vector)
mXform.setScale(1,1,1);
mXform.updateMatrix();
if (isStatic() || //DP FIXME: don't know why this is happening, but
//some terrain patches are becoming active
//(earth quake, maybe?)
if (isStatic() || // *FIX: don't know why this is happening, but
// some terrain patches are becoming active
// (earth quake, maybe?) DP
getRenderType() == LLPipeline::RENDER_TYPE_TERRAIN)
{
LLStrider<LLVector3> verticesp;

View File

@ -1007,10 +1007,10 @@ void LLDrawPoolTerrain::renderOwnership()
glClientActiveTextureARB(GL_TEXTURE0_ARB);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
// HACK: Because the region is 256 meters wide, but has 257 pixels, the
// texture coordinates for pixel 256x256 is not 1,1. This makes the
// ownership map not line up with the selection. Fix this with a texture
// matrix multiply.
// *NOTE: Because the region is 256 meters wide, but has 257 pixels, the
// texture coordinates for pixel 256x256 is not 1,1. This makes the
// ownership map not line up with the selection. We address this with
// a texture matrix multiply.
glMatrixMode(GL_TEXTURE);
glPushMatrix();

View File

@ -622,7 +622,7 @@ void LLFace::renderForSelect() const
S32 name = mVObjp->mGLName;
LLColor4U color((U8)(name >> 16), (U8)(name >> 8), (U8)name);
#if 0 // FIXME: Postponing this fix until we have texcoord pick info...
#if 0 // *FIX: Postponing this fix until we have texcoord pick info...
if (mTEOffset != -1)
{
color.mV[VALPHA] = (U8)(getTextureEntry()->getColor().mV[VALPHA] * 255.f);

View File

@ -270,8 +270,9 @@ void LLFloaterBuy::onClickBuy(void*)
LLUUID category_id;
category_id = gInventory.findCategoryUUIDForType(LLAssetType::AT_OBJECT);
// FIXME: doesn't work for multiple object buy, which UI does not currently support
// sale info is used for verification only, if it doesn't match region info then sale is canceled
// *NOTE: doesn't work for multiple object buy, which UI does not
// currently support sale info is used for verification only, if
// it doesn't match region info then sale is canceled.
gSelectMgr->sendBuy(gAgent.getID(), category_id, sInstance->mSaleInfo );
sInstance->close();

View File

@ -259,8 +259,9 @@ void LLFloaterBuyContents::onClickBuy(void*)
LLUUID category_id;
category_id = gInventory.findCategoryUUIDForType(LLAssetType::AT_CATEGORY);
// FIXME: doesn't work for multiple object buy, which UI does not currently support
// sale info is used for verification only, if it doesn't match region info then sale is canceled
// *NOTE: doesn't work for multiple object buy, which UI does not
// currently support sale info is used for verification only, if
// it doesn't match region info then sale is canceled.
gSelectMgr->sendBuy(gAgent.getID(), category_id, sInstance->mSaleInfo);
sInstance->close();

View File

@ -330,8 +330,10 @@ void LLFloaterBuyLandUI::updateAgentInfo()
{
mAgentCommittedTier = gStatusBar->getSquareMetersCommitted();
mAgentCashBalance = gStatusBar->getBalance();
// *TODO: This is an approximation, we should send this value down
// to the viewer. See SL-10728 for details.
mAgentHasNeverOwnedLand = mAgentCommittedTier == 0;
// FIXME: this is an approximation, see SL-10728
}
void LLFloaterBuyLandUI::updateParcelInfo()
@ -493,7 +495,7 @@ void LLFloaterBuyLandUI::updateParcelInfo()
return;
}
// FIXME: There should be a check based on the database value
// *TODO: There should be a check based on the database value
// indra.user.ever_owned_land, only that value never makes it
// to the viewer, see SL-10728
}

View File

@ -58,7 +58,7 @@ BOOL LLFloaterScriptDebug::postBuild()
if (mTabContainer)
{
// FIXME: apparantly fails for tab containers?
// *FIX: apparantly fails for tab containers?
// mTabContainer->requires("all_scripts", WIDGET_TYPE_FLOATER);
// mTabContainer->checkRequirements();
return TRUE;

View File

@ -442,7 +442,7 @@ void LLSnapshotLivePreview::draw()
glColor4fv(image_color.mV);
LLViewerImage::bindTexture(mViewerImage[old_image_index]);
// calculate UV scale
//FIXME get this to work with old image
// *FIX get this to work with old image
BOOL rescale = !mImageScaled[old_image_index] && mViewerImage[mCurImageIndex].notNull();
F32 uv_width = rescale ? llmin((F32)mWidth[old_image_index] / (F32)mViewerImage[mCurImageIndex]->getWidth(), 1.f) : 1.f;
F32 uv_height = rescale ? llmin((F32)mHeight[old_image_index] / (F32)mViewerImage[mCurImageIndex]->getHeight(), 1.f) : 1.f;
@ -540,7 +540,7 @@ void LLSnapshotLivePreview::onIdle( void* snapshot_preview )
if (previewp->getSnapshotType() == SNAPSHOT_POSTCARD)
{
//FIXME: just resize and reuse existing jpeg?
// *FIX: just resize and reuse existing jpeg?
previewp->mJPEGImage = NULL; // deletes image
previewp->mJPEGImage = new LLImageJPEG();
previewp->mJPEGImage->setEncodeQuality(llclamp(previewp->mSnapshotQuality, 0, 100));

View File

@ -527,7 +527,8 @@ void LLFloaterWorldMap::trackAvatar( const LLUUID& avatar_id, const LLString& na
if(iface->setCurrentByID(avatar_id) || gAgent.isGodlike())
{
// *HACK: Adjust Z values automatically for liaisons & gods so
// we swoop down when they click on the map.
// they swoop down when they click on the map. Requested
// convenience.
if(gAgent.isGodlike())
{
childSetValue("spin z", LLSD(200.f));
@ -671,8 +672,9 @@ void LLFloaterWorldMap::updateLocation()
if (status == LLTracker::TRACKING_AVATAR)
{
// *HACK: Adjust Z values automatically for liaisons & gods so
// we swoop down when they click on the map.
// *HACK: Adjust Z values automatically for liaisons &
// gods so they swoop down when they click on the
// map. Requested convenience.
if(gAgent.isGodlike())
{
pos_global[2] = 200;

View File

@ -20,7 +20,7 @@
#include "llinventory.h"
#include "llcallbacklist.h"
#include "llinventoryclipboard.h" // *FIX: remove this!!!!
#include "llinventoryclipboard.h" // *TODO: remove this once hack below gone.
#include "llinventoryview.h"// hacked in for the bonus context menu items.
#include "llkeyboard.h"
#include "lllineeditor.h"
@ -39,7 +39,9 @@
#include "llvoavatar.h"
#include "llfloaterproperties.h"
//RN: HACK
// RN: HACK
// We need these because some of the code below relies on things like
// gAgent root folder. Remove them once the abstraction leak is fixed.
#include "llagent.h"
#include "viewer.h"
@ -400,10 +402,11 @@ void LLFolderViewItem::dirtyFilter()
}
}
// *FIX: This can be optimized a lot by simply recording that it is selected in
// the appropriate places, and assuming that set selection means 'deselect' for a
// leaf item. Do this optimization after multiple selection is implemented to
// make sure it all plays nice together.
// *TODO: This can be optimized a lot by simply recording that it is
// selected in the appropriate places, and assuming that set selection
// means 'deselect' for a leaf item. Do this optimization after
// multiple selection is implemented to make sure it all plays nice
// together.
BOOL LLFolderViewItem::setSelection(LLFolderViewItem* selection, BOOL open,
BOOL take_keyboard_focus)
{
@ -634,7 +637,8 @@ BOOL LLFolderViewItem::handleHover( S32 x, S32 y, MASK mask )
{
LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_WORLD;
//FIXME: push this into listener and remove dependency on llagent
// *TODO: push this into listener and remove
// dependency on llagent
if(mListener && gInventory.isObjectDescendentOf(mListener->getUUID(), gAgent.getInventoryRootID()))
{
src = LLToolDragAndDrop::SOURCE_AGENT;
@ -3452,7 +3456,7 @@ BOOL LLFolderView::canCopy()
// copy selected item
void LLFolderView::copy()
{
// *FIX: total hack to clear the inventory clipboard
// *NOTE: total hack to clear the inventory clipboard
LLInventoryClipboard::instance().reset();
S32 count = mSelectedItems.size();
if(getVisible() && mEnabled && (count > 0))
@ -3493,7 +3497,7 @@ BOOL LLFolderView::canPaste()
selected_items_t::iterator item_it;
for (item_it = mSelectedItems.begin(); item_it != mSelectedItems.end(); ++item_it)
{
//FIXME: only check folders and parent folders of items
// *TODO: only check folders and parent folders of items
LLFolderViewItem* item = (*item_it);
LLFolderViewEventListener* listener = item->getListener();
if(!listener || !listener->isClipboardPasteable())
@ -4614,7 +4618,7 @@ void LLInventoryFilter::setHoursAgo(U32 hours)
{
if (mFilterOps.mHoursAgo != hours)
{
//FIXME: need to cache last filter time, in case filter goes stale
// *NOTE: need to cache last filter time, in case filter goes stale
BOOL less_restrictive = (mFilterOps.mMinDate == 0 && mFilterOps.mMaxDate == U32_MAX && hours > mFilterOps.mHoursAgo);
BOOL more_restrictive = (mFilterOps.mMinDate == 0 && mFilterOps.mMaxDate == U32_MAX && hours <= mFilterOps.mHoursAgo);
mFilterOps.mHoursAgo = hours;

View File

@ -1386,7 +1386,7 @@ void LLGroupMgr::sendGroupRoleMembersRequest(const LLUUID& group_id)
if (!group_datap->isMemberDataComplete()
|| !group_datap->isRoleDataComplete())
{
// TODO: KLW FIXME: Should we start a member or role data request?
// *TODO: KLW FIXME: Should we start a member or role data request?
llinfos << " Pending: " << (group_datap->mPendingRoleMemberRequest ? "Y" : "N")
<< " MemberDataComplete: " << (group_datap->mMemberDataComplete ? "Y" : "N")
<< " RoleDataComplete: " << (group_datap->mRoleDataComplete ? "Y" : "N") << llendl;

View File

@ -466,7 +466,9 @@ void LLHUDEffectLookAt::calcTargetPosition()
}
else if (looking_at_self && gAgent.cameraCustomizeAvatar())
{
//FIXME: have animation overrides for lookat behavior and then we don't need to do this
// *NOTE: We have to do this because animation
// overrides do not set lookat behavior.
// *TODO: animation overrides for lookat behavior.
objRot = avatarp->mPelvisp->getWorldRotation();
}
else

View File

@ -115,8 +115,6 @@ void LLHUDEffectPointAt::packData(LLMessageSystem *mesgsys)
mLastSendTime = mTimer.getElapsedTimeF32();
}
//FIXME: avatar selection does a weird double take
//-----------------------------------------------------------------------------
// unpackData()
//-----------------------------------------------------------------------------

View File

@ -148,19 +148,19 @@ void LLHUDText::renderText(BOOL for_select)
mOffsetY = lltrunc(mHeight * ((mVertAlignment == ALIGN_VERT_CENTER) ? 0.5f : 1.f));
//FIXME: cache this image
// *TODO: cache this image
LLUUID image_id;
image_id.set(gViewerArt.getString("rounded_square.tga"));
LLViewerImage* imagep = gImageList.getImage(image_id, MIPMAP_FALSE, TRUE);
//FIXME: make this a per-text setting
// *TODO: make this a per-text setting
LLColor4 bg_color = gSavedSettings.getColor4("BackgroundChatColor");
bg_color.setAlpha(gSavedSettings.getF32("ChatBubbleOpacity") * alpha_factor);
const S32 border_height = 16;
const S32 border_width = 16;
//FIXME move this into helper function
// *TODO move this into helper function
F32 border_scale = 1.f;
if (border_height * 2 > mHeight)
@ -939,7 +939,7 @@ void LLHUDText::renderAllHUD()
void LLHUDText::addPickable(std::set<LLViewerObject*> &pick_list)
{
//this might put an object on the pick list a second time, overriding it's mGLName, which is ok
//FIXME: we should probably cull against pick frustum
// *FIX: we should probably cull against pick frustum
VisibleTextObjectIterator text_it;
for (text_it = sVisibleTextObjects.begin(); text_it != sVisibleTextObjects.end(); ++text_it)
{

View File

@ -183,7 +183,7 @@ BOOL LLInvFVBridge::isItemMovable()
return TRUE;
}
//FIXME: make sure this does the right thing
// *TODO: make sure this does the right thing
void LLInvFVBridge::showProperties()
{
LLShowProps::showProperties(mUUID);
@ -420,7 +420,7 @@ void LLInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
hideContextEntries(menu, items, disabled_items);
}
//FIXME: remove this
// *TODO: remove this
BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id)
{
BOOL rv = FALSE;
@ -3366,7 +3366,7 @@ void LLLSLTextBridge::openItem()
// | LLWearableBridge |
// +=================================================+
// HACK to get from avatar inventory to avatar
// *NOTE: hack to get from avatar inventory to avatar
void wear_inventory_item_on_avatar( LLInventoryItem* item )
{
if(item)
@ -3663,7 +3663,7 @@ void wear_inventory_category(LLInventoryCategory* category, bool copy, bool appe
}
}
// HACK to get from avatar inventory to avatar
// *NOTE: hack to get from avatar inventory to avatar
void wear_inventory_category_on_avatar( LLInventoryCategory* category, BOOL append )
{
// Avoid unintentionally overwriting old wearables. We have to do
@ -4161,7 +4161,8 @@ void LLWearableBridge::openItem()
}
else if(item)
{
// *FIX: Could in theory fetch and then do the operation above.
// *TODO: We should fetch the item details, and then do
// the operation above.
gViewerWindow->alertXml("CannotWearInfoNotComplete");
}
}

View File

@ -86,7 +86,7 @@ LLManipRotate::LLManipRotate( LLToolComposite* composite )
void LLManipRotate::handleSelect()
{
//FIXME: put this in mouseDown?
// *FIX: put this in mouseDown?
gSelectMgr->saveSelectedObjectTransform(SELECT_ACTION_TYPE_PICK);
gFloaterTools->setStatusText("Drag colored bands to rotate object");
}
@ -1292,7 +1292,7 @@ LLVector3 LLManipRotate::getConstraintAxis()
LLSelectNode* first_node = gSelectMgr->getFirstMoveableNode(TRUE);
if (first_node)
{
//FIXME: get agent local attachment grid working
// *FIX: get agent local attachment grid working
// Put rotation into frame of first selected root object
axis = axis * grid_rotation;
}

View File

@ -1896,7 +1896,6 @@ LLVector3 LLManipScale::cornerToUnitVector( S32 part ) const
LLVector3 LLManipScale::edgeToUnitVector( S32 part ) const
{
llassert( (LL_EDGE_MIN <= part) && (part <= LL_EDGE_MAX) );
//FIXME
part -= LL_EDGE_MIN;
S32 rotation = part >> 2; // Edge between which faces: 0 => XY, 1 => YZ, 2 => ZX
LLVector3 v;

View File

@ -612,7 +612,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask)
}
// Clamp to arrow direction
//FIXME: does this apply anymore?
// *FIX: does this apply anymore?
if (!axis_exists)
{
axis_magnitude = relative_move.normVec();

View File

@ -35,7 +35,7 @@ public:
static void toggle(void*);
static BOOL visible(void*);
// HACK for agent-driven button highlighting
// This function is used for agent-driven button highlighting
static LLFloaterMove* getInstance() { return sInstance; }
protected:

View File

@ -598,9 +598,10 @@ BOOL LLNetMap::handleToolTip( S32 x, S32 y, LLString& msg, LLRect* sticky_rect_s
region->getHost().getString(buffer, MAX_STRING);
msg.append(buffer);
#endif
// FIXME: put in XML so it can be translated
// *TODO: put this under the control of XUI so it can be
// translated.
msg.append("\n(Double-click to open Map)");
S32 SLOP = 4;
localPointToScreen(
x - SLOP, y - SLOP,

View File

@ -44,7 +44,7 @@
#include "lltooldraganddrop.h"
#include "lluiconstants.h"
#include "llvoavatar.h"
#include "llviewermenu.h" // FIXME: for is_agent_friend()
#include "llviewermenu.h" // *FIX: for is_agent_friend()
#include "llviewerobjectlist.h"
#include "llviewerregion.h"
#include "llviewborder.h"
@ -184,7 +184,7 @@ BOOL LLDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
if(gInventory.getItem(inv_item->getUUID())
&& LLToolDragAndDrop::isInventoryGiveAcceptable(inv_item))
{
//FIXME: get multiple object transfers working
// *TODO: get multiple object transfers working
*accept = ACCEPT_YES_COPY_SINGLE;
if(drop)
{
@ -206,7 +206,7 @@ BOOL LLDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
LLViewerInventoryCategory* inv_cat = (LLViewerInventoryCategory*)cargo_data;
if( gInventory.getCategory( inv_cat->getUUID() ) )
{
//FIXME: get multiple object transfers working
// *TODO: get multiple object transfers working
*accept = ACCEPT_YES_COPY_SINGLE;
if(drop)
{

View File

@ -141,9 +141,6 @@ void LLPanelContents::onClickNewScript(void *userdata)
}
if(object)
{
// *HACK: In order to resolve SL-22177, we need to create the
// script first, and then you have to click it in inventory to
// edit it. Bring this back when the functionality is secure.
LLPermissions perm;
perm.init(gAgent.getID(), gAgent.getID(), LLUUID::null, LLUUID::null);
perm.initMasks(
@ -168,6 +165,13 @@ void LLPanelContents::onClickNewScript(void *userdata)
LLViewerInventoryItem::II_FLAGS_NONE,
time_corrected());
object->saveScript(new_item, TRUE, true);
// *NOTE: In order to resolve SL-22177, we needed to create
// the script first, and then you have to click it in
// inventory to edit it.
// *TODO: The script creation should round-trip back to the
// viewer so the viewer can auto-open the script and start
// editing ASAP.
#if 0
S32 left, top;
gFloaterView->getNewFloaterPosition(&left, &top);

View File

@ -125,7 +125,7 @@ BOOL LLGroupDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
if(gInventory.getItem(inv_item->getUUID())
&& LLToolDragAndDrop::isInventoryGroupGiveAcceptable(inv_item))
{
//FIXME: get multiple object transfers working
// *TODO: get multiple object transfers working
*accept = ACCEPT_YES_COPY_SINGLE;
if(drop)
{

View File

@ -261,7 +261,7 @@ void LLPanelObject::getState( )
if(!objectp)
{
objectp = gSelectMgr->getFirstObject();
//FIXME: shouldn't we just keep the child?
// *FIX: shouldn't we just keep the child?
if (objectp)
{
LLViewerObject* parentp = objectp->getSubParent();

View File

@ -122,7 +122,7 @@ void LLPanelVolume::getState( )
if(!objectp)
{
objectp = gSelectMgr->getFirstObject();
//FIXME: shouldn't we just keep the child?
// *FIX: shouldn't we just keep the child?
if (objectp)
{
LLViewerObject* parentp = objectp->getSubParent();

View File

@ -246,7 +246,7 @@ void LLSelectMgr::selectObjectOnly(LLViewerObject* object, S32 face)
// Stop the object from moving (this anticipates changes on the
// simulator in LLTask::userSelect)
//FIXME: shouldn't zero out these either
// *FIX: shouldn't zero out these either
object->setVelocity(LLVector3::zero);
object->setAcceleration(LLVector3::zero);
//object->setAngularVelocity(LLVector3::zero);
@ -928,7 +928,7 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 &
{
LLSelectNode* grid_node = mGridObjects.getFirstNode();
LLViewerObject* grid_object = mGridObjects.getFirstObject();
//FIXME: get to work with multiple grid objects
// *TODO: get to work with multiple grid objects
if (grid_node && grid_node->getObject()->isDead())
{
mGridObjects.removeNode(grid_node);
@ -960,7 +960,8 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 &
LLVector3 local_min_extents(F32_MAX, F32_MAX, F32_MAX);
LLVector3 local_max_extents(F32_MIN, F32_MIN, F32_MIN);
//FIXME: silhouette flag is insufficient as it gets cleared by view update
// *FIX: silhouette flag is insufficient as it gets
// cleared by view update.
if (!mGridValid ||
grid_object->isChanged(LLXform::SILHOUETTE)
|| (grid_object->getParent() && grid_object->getParent()->isChanged(LLXform::SILHOUETTE)))
@ -1116,7 +1117,7 @@ void LLSelectMgr::remove(LLDynamicArray<LLViewerObject*>& objects)
void LLSelectMgr::remove(LLViewerObject *objectp, S32 te, BOOL undoable)
{
// check if object already in list
// FIXME: can we just check isSelected()?
// *FIX: can we just check isSelected()?
LLSelectNode *nodep = findSelectNode(objectp);
if (!nodep)
@ -1371,7 +1372,7 @@ void LLSelectMgr::cleanup()
//-----------------------------------------------------------------------------
// selectionSetImage()
//-----------------------------------------------------------------------------
//FIXME: re-arch texture applying out of lltooldraganddrop
// *TODO: re-arch texture applying out of lltooldraganddrop
void LLSelectMgr::selectionSetImage(const LLUUID& imageid)
{
// First for (no copy) textures and multiple object selection
@ -1398,7 +1399,7 @@ void LLSelectMgr::selectionSetImage(const LLUUID& imageid)
LLToolDragAndDrop::dropTextureOneFace(objectp,te,item,LLToolDragAndDrop::SOURCE_AGENT,LLUUID::null);
// HACK! HACK! ARG!
// FIXME: Replace mSelectedObjects with a REAL container class!
// *TODO: Replace mSelectedObjects with a REAL container class!
LLViewerObject* tmp_object;
S32 tmp_te;
mSelectedObjects.getCurrentTE(&tmp_object,&tmp_te);
@ -3649,9 +3650,10 @@ struct LLBuyData
LLSaleInfo mSaleInfo;
};
// FIXME: doesn't work for multiple object buy, which UI does not currently support
// sale info is used for verification only, if it doesn't match region info then sale is canceled
// Need to get sale info -as displayed in the UI- for every item.
// *NOTE: does not work for multiple object buy, which UI does not
// currently support sale info is used for verification only, if it
// doesn't match region info then sale is canceled Need to get sale
// info -as displayed in the UI- for every item.
void LLSelectMgr::sendBuy(const LLUUID& buyer_id, const LLUUID& category_id, const LLSaleInfo sale_info)
{
LLBuyData buy;

View File

@ -435,9 +435,11 @@ public:
void sendOwner(const LLUUID& owner_id, const LLUUID& group_id, BOOL override = FALSE);
void sendGroup(const LLUUID& group_id);
// Category ID is the UUID of the folder you want to contain the purchase
// FIXME: sale_info check doesn't work for multiple object buy, which UI does not currently support
// sale info is used for verification only, if it doesn't match region info then sale is canceled
// Category ID is the UUID of the folder you want to contain the purchase.
// *NOTE: sale_info check doesn't work for multiple object buy,
// which UI does not currently support sale info is used for
// verification only, if it doesn't match region info then sale is
// canceled
void sendBuy(const LLUUID& buyer_id, const LLUUID& category_id, const LLSaleInfo sale_info);
void sendAttach(U8 attachment_point);
void sendDetach();
@ -570,7 +572,7 @@ public:
void setTransient(BOOL transient) { mTransient = transient; }
BOOL isTransient() { return mTransient; }
LLViewerObject *getObject();
//FIXME: invalidate stored textures and colors when # faces change
// *NOTE: invalidate stored textures and colors when # faces change
void saveColors();
void saveTextures(const std::vector<LLUUID>& textures);
void saveTextureScaleRatios();

View File

@ -656,7 +656,7 @@ BOOL idle_startup()
}
// create necessary directories
// FIXME: these mkdir's should error check
// *FIX: these mkdir's should error check
gDirUtilp->setLindenUserDir(firstname.c_str(), lastname.c_str());

View File

@ -507,7 +507,7 @@ void LLTexLayerSetBuffer::onTextureUploadComplete(const LLUUID& uuid, void* user
else
{
llinfos << "Baked upload failed. Reason: " << result << llendl;
//FIXME: retry upload after n seconds, asset server could be busy
// *FIX: retry upload after n seconds, asset server could be busy
}
}
else
@ -1196,8 +1196,9 @@ BOOL LLTexLayer::setInfo(LLTexLayerInfo* info)
LLTexLayerInfo::morph_name_list_t::iterator iter;
for (iter = mInfo->mMorphNameList.begin(); iter != mInfo->mMorphNameList.end(); iter++)
{
// FIXME: we assume that the referenced visual param is a morph target,
// need a better way of actually looking this up
// *FIX: we assume that the referenced visual param is a
// morph target, need a better way of actually looking
// this up.
LLPolyMorphTarget *morph_param;
LLString *name = &(iter->first);
morph_param = (LLPolyMorphTarget *)(getTexLayerSet()->getAvatar()->getVisualParam(name->c_str()));
@ -2800,7 +2801,8 @@ void LLGradientPaletteList::initPalette(F32 domain)
S32 ramp_end = 255;
F32 ramp_factor = (ramp_end == ramp_start) ? 0.f : (255.f / ((F32)ramp_end - (F32)ramp_start));
//FIXME: move conditionals outside of loop, since this really is just a sequential process
// *TODO: move conditionals outside of loop, since this really
// is just a sequential process.
for (S32 i = 0; i < 512; i++)
{
palette[(i * 4) + 1] = 0;

View File

@ -971,8 +971,8 @@ void LLTextureCtrl::setEnabled( BOOL enabled )
else
{
setToolTip( "" );
//FIXME: would be better to keep floater open
// and show disabled state
// *TODO: would be better to keep floater open and show
// disabled state.
closeFloater();
}

View File

@ -176,7 +176,7 @@ void LLToolCompTranslate::pickCallback(S32 x, S32 y, MASK mask)
gToolTranslate->setCurrentTool( gToolTranslate->mSelectRect );
gToolTranslate->mSelectRect->handleMouseDown( x, y, mask );
//FIXME: add toggle to trigger old click-drag functionality
// *TODO: add toggle to trigger old click-drag functionality
// gToolTranslate->mManip->handleMouseDownOnPart( XY_part, x, y, mask);
}
}
@ -377,8 +377,8 @@ BOOL LLToolCompCreate::handleMouseDown(S32 x, S32 y, MASK mask)
void LLToolCompCreate::pickCallback(S32 x, S32 y, MASK mask)
{
// HACK: Mask off shift and control, so you can't multi-select
// multiple objects with the create tool.
// *NOTE: We mask off shift and control, so you cannot
// multi-select multiple objects with the create tool.
mask = (mask & ~MASK_SHIFT);
mask = (mask & ~MASK_CONTROL);
@ -547,8 +547,8 @@ LLToolCompGun::~LLToolCompGun()
BOOL LLToolCompGun::handleHover(S32 x, S32 y, MASK mask)
{
// HACK to make mouselook kick in again after item selected
// from context menu
// *NOTE: This hack is here to make mouselook kick in again after
// item selected from context menu.
if ( mCur == mNull && !gPopupMenuView->getVisible() )
{
gSelectMgr->deselectAll();

View File

@ -1555,7 +1555,7 @@ void LLToolDragAndDrop::dropInventory(LLViewerObject* hit_obj,
hit_obj->updateInventory(new_item, TASK_INVENTORY_ITEM_KEY, true);
if (gFloaterTools->getVisible())
{
//FIXME: only show this if panel not expanded?
// *FIX: only show this if panel not expanded?
gFloaterTools->showPanel(LLFloaterTools::PANEL_CONTENTS);
}
@ -2663,7 +2663,8 @@ EAcceptance LLToolDragAndDrop::dad3dGiveInventoryObject(
{
giveInventory(obj->getID(), item );
}
//FIXME: deal with all the issues surrounding multi-object inventory transfers
// *TODO: deal with all the issues surrounding multi-object
// inventory transfers.
return ACCEPT_YES_SINGLE;
}
return ACCEPT_NO;
@ -2688,7 +2689,8 @@ EAcceptance LLToolDragAndDrop::dad3dGiveInventory(
{
giveInventory(obj->getID(), item);
}
//FIXME: deal with all the issues surrounding multi-object inventory transfers
// *TODO: deal with all the issues surrounding multi-object
// inventory transfers.
return ACCEPT_YES_SINGLE;
}
@ -2704,7 +2706,8 @@ EAcceptance LLToolDragAndDrop::dad3dGiveInventoryCategory(
if(!cat) return ACCEPT_NO;
giveInventoryCategory(obj->getID(), cat);
}
//FIXME: deal with all the issues surrounding multi-object inventory transfers
// *TODO: deal with all the issues surrounding multi-object
// inventory transfers.
return ACCEPT_YES_SINGLE;
}

View File

@ -57,7 +57,7 @@ BOOL LLToolPipette::handleMouseUp(S32 x, S32 y, MASK mask)
{
mSuccess = TRUE;
gSelectMgr->unhighlightAll();
//FIXME: this assumes the pipette tool is a transient tool
// *NOTE: This assumes the pipette tool is a transient tool.
gToolMgr->clearTransientTool();
setMouseCapture(FALSE);
return TRUE;

View File

@ -7,6 +7,9 @@
*/
// A tool to pick texture entry infro from objects in world (color/texture)
// This tool assumes it is transient in the codebase and must be used
// accordingly. We should probably restructure the way tools are
// managed so that this is handled automatically.
#ifndef LL_LLTOOLPIPETTE_H
#define LL_LLTOOLPIPETTE_H

View File

@ -438,7 +438,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield)
display_update_camera();
stop_glerror();
//FIXME: merge these two methods
// *TODO: merge these two methods
gHUDManager->updateEffects();
LLHUDObject::updateAll();
stop_glerror();

View File

@ -337,7 +337,7 @@ void LLViewerJointAttachment::clampObjectPosition()
{
if (mAttachedObject)
{
//FIXME: object can drift when hitting maximum radius
// *NOTE: object can drift when hitting maximum radius
LLVector3 attachmentPos = mAttachedObject->getPosition();
F32 dist = attachmentPos.normVec();
dist = llmin(dist, MAX_ATTACHMENT_DIST);

View File

@ -906,7 +906,7 @@ void llDrawElementsBatchBlend(const U32 vert_offset, const U32 vert_count, LLFac
o_texcoords0= (LLVector2*)(gAGPVertices + AVATAR_OFFSET_TEX0); o_texcoords0.setStride(AVATAR_VERTEX_BYTES);
o_texcoords1= (LLVector2*)(gAGPVertices + AVATAR_OFFSET_TEX1); o_texcoords1.setStride(AVATAR_VERTEX_BYTES);
#if !LL_LINUX // !!! FIXME
#if !LL_LINUX // !!! *TODO: do the linux implementation
if (gGLManager.mSoftwareBlendSSE)
{
// do SSE blend without binormals or extra texcoords

View File

@ -1603,7 +1603,9 @@ class LLObjectTouch : public view_listener_t
msg->addVector3Fast(_PREHASH_GrabOffset, LLVector3::zero );
msg->sendMessage( object->getRegion()->getHost());
// HACK: Hope the packets arrive safely and in order.
// *NOTE: Hope the packets arrive safely and in order or else
// there will be some problems.
// *TODO: Just fix this bad assumption.
msg->newMessageFast(_PREHASH_ObjectDeGrab);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
@ -1627,7 +1629,7 @@ class LLObjectEnableTouch : public view_listener_t
bool new_value = obj && obj->flagHandleTouch();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
// HACK Update label
// Update label based on the node touch name if available.
LLSelectNode* node = gSelectMgr->getFirstRootNode();
if (node && node->mValid && !node->mTouchName.empty())
{
@ -3535,9 +3537,8 @@ void derez_objects(EDeRezDestination dest, const LLUUID& dest_id)
if(!object || !node->mValid) continue;
if(object->getRegion() != region)
{
// *FIX: This doesn't work at all if the some of the
// objects are in regions besides the first object
// selected. We should really support this.
// Derez doesn't work at all if the some of the objects
// are in regions besides the first object selected.
// ...crosses region boundaries
error = "AcquireErrorObjectSpan";
@ -4307,7 +4308,7 @@ class LLToolsEnableBuyOrTake : public view_listener_t
bool new_value = is_buy ? enable_buy(NULL) : enable_take();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
// HACK: Update label
// Update label
LLString label;
LLString buy_text;
LLString take_text;
@ -4497,7 +4498,7 @@ class LLToolsSaveToObjectInventory : public view_listener_t
LLSelectNode* node = gSelectMgr->getFirstRootNode();
if(node && (node->mValid) && (!node->mFromTaskID.isNull()))
{
// *FIX: check to see if the fromtaskid object exists.
// *TODO: check to see if the fromtaskid object exists.
derez_objects(DRD_SAVE_INTO_TASK_INVENTORY, node->mFromTaskID);
}
}
@ -4861,7 +4862,7 @@ class LLViewEnableLastChatter : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
//FIXME: add check that last chatter is in range
// *TODO: add check that last chatter is in range
bool new_value = (gAgent.cameraThirdPerson() && gAgent.getLastChatter().notNull());
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
@ -5862,7 +5863,7 @@ void upload_done_callback(const LLUUID& uuid, void* user_data, S32 result) // St
LLUploadDialog::modalUploadFinished();
delete data;
// *FIX: This is a pretty big hack. What this does is check the
// *NOTE: This is a pretty big hack. What this does is check the
// file picker if there are any more pending uploads. If so,
// upload that file.
const char* next_file = LLFilePicker::instance().getNextFile();
@ -6231,7 +6232,7 @@ class LLObjectEnableSitOrStand : public view_listener_t
}
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
// HACK: Update label
// Update label
LLString label;
LLString sit_text;
LLString stand_text;
@ -7751,8 +7752,7 @@ BOOL enable_save_into_task_inventory(void*)
LLSelectNode* node = gSelectMgr->getFirstRootNode();
if(node && (node->mValid) && (!node->mFromTaskID.isNull()))
{
// *FIX: check to see if the fromtaskid object exists.
// *TODO: check to see if the fromtaskid object exists.
LLViewerObject* obj = node->getObject();
if( obj && !obj->isAttachment() )
{

View File

@ -2483,7 +2483,8 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
llinfos << "process_agent_movement_complete()" << llendl;
// *FIX: check timestamp.
// *TODO: check timestamp to make sure the movement compleation
// makes sense.
LLVector3 agent_pos;
msg->getVector3Fast(_PREHASH_Data, _PREHASH_Position, agent_pos);
LLVector3 look_at;
@ -2876,7 +2877,8 @@ void send_agent_update(BOOL force_send, BOOL send_reliable)
// TODO: FIX this dependency
// *TODO: Remove this dependency, or figure out a better way to handle
// this hack.
extern U32 gObjectBits;
void process_object_update(LLMessageSystem *mesgsys, void **user_data)

View File

@ -2000,7 +2000,7 @@ BOOL LLViewerObject::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
//
// There is a problem here if dt is negative. . .
//FIXME: should also wrap linear accel/velocity in check
// *TODO: should also wrap linear accel/velocity in check
// to see if object is selected, instead of explicitly
// zeroing it out
LLVector3 accel = getAcceleration();
@ -3133,7 +3133,8 @@ void LLViewerObject::setPositionGlobal(const LLVector3d &pos_global, BOOL damped
delta_pos = delta_pos * invRotation;
//FIXME: is this right? Shouldn't we be calling the LLViewerObject version of setPosition?
// *FIX: is this right? Shouldn't we be calling the
// LLViewerObject version of setPosition?
LLVector3 old_pos = mDrawable->mXform.getParent()->getPosition();
mDrawable->mXform.getParent()->setPosition(old_pos + delta_pos);
setChanged(TRANSLATED | SILHOUETTE);
@ -3900,7 +3901,7 @@ void LLViewerObject::setIcon(LLViewerImage* icon_image)
mIcon = (LLHUDIcon *)LLHUDObject::addHUDObject(LLHUDObject::LL_HUD_ICON);
mIcon->setSourceObject(this);
mIcon->setImage(icon_image);
//FIXME: make this user configurable
// *TODO: make this user configurable
mIcon->setScale(0.03f);
}
else
@ -4573,7 +4574,7 @@ LLViewerObject::LLInventoryCallbackInfo::~LLInventoryCallbackInfo()
void LLViewerObject::updateVolume(const LLVolumeParams& volume_params)
{
if (setVolume(volume_params, 1)) // FIXME: magic number, ack!
if (setVolume(volume_params, 1)) // *FIX: magic number, ack!
{
// Transmit the update to the simulator
sendShapeUpdate();

View File

@ -2268,7 +2268,7 @@ bool LLViewerParcelMgr::canAgentBuyParcel(LLParcel* parcel, bool forGroup) const
= parcel->getReservedForNewbie()
? (!forGroup && gStatusBar->getSquareMetersCommitted() == 0)
: true;
//FIXME: should be based on never_owned_land, see SL-10728
// *TODO: should be based on never_owned_land, see SL-10728
bool isAuthorized
= (authorizeBuyer.isNull() || (gAgent.getID() == authorizeBuyer));
@ -2537,7 +2537,7 @@ BOOL LLViewerParcelMgr::isParcelModifiableByAgent(const LLParcel* parcelp, U64 g
BOOL rv = FALSE;
if (parcelp)
{
// *FIX: This should only work for leased parcels, but group owned
// *NOTE: This should only work for leased parcels, but group owned
// parcels cannot be OS_LEASED yet. Phoenix 2003-12-15.
rv = isParcelOwnedByAgent(parcelp, group_proxy_power);

View File

@ -628,8 +628,6 @@ BOOL LLViewerTextEditor::handleMouseDown(S32 x, S32 y, MASK mask)
startSelection();
}
gFocusMgr.setMouseCapture( this, &LLTextEditor::onMouseCaptureLost );
//FIXME:
//gViewerWindow->requestFastFrame(this);
}
handled = TRUE;
@ -667,8 +665,6 @@ BOOL LLViewerTextEditor::handleHover(S32 x, S32 y, MASK mask)
{
mLastSelectionX = x;
mLastSelectionY = y;
//FIXME:
//gViewerWindow->requestFastFrame(this);
}
if( y > mTextRect.mTop )

View File

@ -688,7 +688,8 @@ BOOL LLViewerWindow::handleRightMouseDown(LLWindow *window, LLCoordGL pos, MASK
}
}
//FIXME: this should be rolled into the composite tool logic, not hardcoded at the top level
// *HACK: this should be rolled into the composite tool logic, not
// hardcoded at the top level.
if (gToolPie && (CAMERA_MODE_CUSTOMIZE_AVATAR != gAgent.getCameraMode()) )
{
// If the current tool didn't process the click, we should show
@ -921,9 +922,10 @@ BOOL LLViewerWindow::handleTranslatedKeyDown(KEY key, MASK mask, BOOL repeated)
gAgent.clearAFK();
}
// HACK: We want to interpret KEY_RETURN later when it arrives as a Unicode char,
// not as a keydown. Otherwise when client frame rate is really low, hitting
// return sends your chat text before it's all entered/processed.
// *NOTE: We want to interpret KEY_RETURN later when it arrives as
// a Unicode char, not as a keydown. Otherwise when client frame
// rate is really low, hitting return sends your chat text before
// it's all entered/processed.
if (key == KEY_RETURN && mask == MASK_NONE)
{
return FALSE;
@ -1583,7 +1585,6 @@ void LLViewerWindow::initWorldUI()
gFloaterTools->setVisible(FALSE);
// Status bar
//FIXME change this back
S32 menu_bar_height = gMenuBarView->getRect().getHeight();
LLRect root_rect = gViewerWindow->getRootView()->getRect();
LLRect status_rect(0, root_rect.getHeight(), root_rect.getWidth(), root_rect.getHeight() - menu_bar_height);
@ -2023,7 +2024,9 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask)
{
return TRUE;
}
//FIXME: get this to play well with mouselook and hidden cursor modes, etc.
// *TODO: get this to play well with mouselook and hidden
// cursor modes, etc, and re-enable.
//if (gFocusMgr.getMouseCapture())
//{
// gFocusMgr.setMouseCapture(NULL, NULL);
@ -2091,7 +2094,7 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask)
}
// Topmost view gets a chance before the hierarchy
//FIXME: get rid of this?
// *FIX: get rid of this?
LLView* top_view = gFocusMgr.getTopView();
if (top_view)
{
@ -2420,7 +2423,7 @@ BOOL LLViewerWindow::handlePerFrameHover()
}
}
//FIXME: sometimes tools handle the mouse as a captor, so this
// *NOTE: sometimes tools handle the mouse as a captor, so this
// logic is a little confusing
LLTool *tool = NULL;
if (gToolMgr && gHoverView)
@ -2586,7 +2589,8 @@ BOOL LLViewerWindow::handlePerFrameHover()
if (!gToolBar->getVisible()
&& !gChatBar->getVisible())
{
// FIXME: this is highly depenent on the XML describing the position of the buttons
// *NOTE: this is highly depenent on the XML
// describing the position of the buttons
overlay_rect.translate(0, 0);
}

View File

@ -2432,8 +2432,7 @@ BOOL LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
return TRUE;
}
// HACK!!!!
// this is necessary for the floating name text above your head
// *NOTE: this is necessary for the floating name text above your head.
if (mDrawable.notNull())
{
gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, TRUE);
@ -2829,7 +2828,7 @@ BOOL LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
}
else if (chat_fade_amt < 3.f)
{
//FIXME: only remove lines down to minimum number
// *NOTE: only remove lines down to minimum number
mNameText->addLine(utf8str_to_wstring(chat_iter->mText), old_chat, style);
}
}

View File

@ -46,7 +46,10 @@ const F32 fsigma = (6+3*sigma)/(6.f-7.f*sigma);
const F64 Ndens = 2.55e25;
const F64 Ndens2 = Ndens*Ndens;
// !!! FIXME: This #define should be in llcommon somewhere...
// !!! *FIX: This #define should be in llcommon somewhere...
// We should not be #defining anything with leading underscores and
// much less double leading underscores since that is always vendor
// specific. Change this to something like LL_FORCE_INLINE.
#ifdef __GNUC__
#define __forceinline inline __attribute__((always_inline))
#endif

View File

@ -1768,9 +1768,9 @@ BOOL LLVOVolume::isAttachment() const
BOOL LLVOVolume::isHUDAttachment() const
{
//HACK assume hud attachment points are in defined range
// since this range is constant for backwards compatibility reasons
// this is probably a reasonable assumption to make
// *NOTE: we assume hud attachment points are in defined range
// since this range is constant for backwards compatibility
// reasons this is probably a reasonable assumption to make
S32 attachment_id = ATTACHMENT_ID_FROM_STATE(mState);
return ( attachment_id >= 31 && attachment_id <= 38 );
}

View File

@ -1494,7 +1494,10 @@ void LLWorldMapView::drawTrackingArrow(const LLRect& rect, S32 x, S32 y,
y_clamped = llclamp( y_clamped, 0.f, (F32)(rect.getHeight() - arrow_size) );
}
//FIXME: deal with non-square window properly
// *FIX: deal with non-square window properly.
// I do not understand what this comment means -- is it actually
// broken or is it correctly dealing with non-square
// windows. Phoenix 2007-01-03.
S32 half_arrow_size = (S32) (0.5f * arrow_size);
F32 angle = atan2( y + half_arrow_size - y_center, x + half_arrow_size - x_center);