Merge branch 'DRTVWR-588-maint-W' of https://github.com/secondlife/viewer
commit
4c8279ff29
|
|
@ -101,6 +101,17 @@ void APIENTRY gl_debug_callback(GLenum source,
|
|||
return;
|
||||
}*/
|
||||
|
||||
if (gGLManager.mIsDisabled &&
|
||||
severity == GL_DEBUG_SEVERITY_HIGH_ARB &&
|
||||
source == GL_DEBUG_SOURCE_API_ARB &&
|
||||
type == GL_DEBUG_TYPE_ERROR_ARB &&
|
||||
id == GL_INVALID_VALUE)
|
||||
{
|
||||
// Suppress messages about deleting already deleted objects called from LLViewerWindow::stopGL()
|
||||
// "GL_INVALID_VALUE error generated. Handle does not refer to an object generated by OpenGL."
|
||||
return;
|
||||
}
|
||||
|
||||
// list of messages to suppress
|
||||
const char* suppress[] =
|
||||
{
|
||||
|
|
@ -155,8 +166,9 @@ void APIENTRY gl_debug_callback(GLenum source,
|
|||
glGetBufferParameteriv(GL_UNIFORM_BUFFER, GL_BUFFER_SIZE, &ubo_size);
|
||||
glGetBufferParameteriv(GL_UNIFORM_BUFFER, GL_BUFFER_IMMUTABLE_STORAGE, &ubo_immutable);
|
||||
}
|
||||
|
||||
if (severity == GL_DEBUG_SEVERITY_HIGH)
|
||||
|
||||
// No needs to halt when is called from LLViewerWindow::stopGL()
|
||||
if (severity == GL_DEBUG_SEVERITY_HIGH && !gGLManager.mIsDisabled)
|
||||
{
|
||||
LL_ERRS() << "Halting on GL Error" << LL_ENDL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
7.1.2
|
||||
7.1.2
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ LLFloaterProfileTexture::~LLFloaterProfileTexture()
|
|||
mImage->forceActive(); // <FS:Ansariel> Make sure it can get discarded
|
||||
mImage = NULL;
|
||||
}
|
||||
|
||||
LLLoadedCallbackEntry::cleanUpCallbackList(&mCallbackTextureList);
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
|
|
|||
|
|
@ -4436,9 +4436,12 @@ BOOL LLSelectMgr::selectGetAggregateTexturePermissions(LLAggregatePermissions& r
|
|||
|
||||
BOOL LLSelectMgr::isMovableAvatarSelected()
|
||||
{
|
||||
if (mAllowSelectAvatar)
|
||||
if (mAllowSelectAvatar && getSelection()->getObjectCount() == 1)
|
||||
{
|
||||
return (getSelection()->getObjectCount() == 1) && (getSelection()->getFirstRootObject()->isAvatar()) && getSelection()->getFirstMoveableNode(TRUE);
|
||||
// nothing but avatar should be selected, so check that
|
||||
// there is only one selected object and it is a root
|
||||
LLViewerObject* obj = getSelection()->getFirstRootObject();
|
||||
return obj && obj->isAvatar() && getSelection()->getFirstMoveableNode(TRUE);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2680,7 +2680,10 @@ void LLViewerRegion::decodeBoundingInfo(LLVOCacheEntry* entry)
|
|||
|
||||
//set parent id
|
||||
U32 parent_id = 0;
|
||||
LLViewerObject::unpackParentID(entry->getDP(), parent_id);
|
||||
if (entry->getDP()) // NULL if nothing cached
|
||||
{
|
||||
LLViewerObject::unpackParentID(entry->getDP(), parent_id);
|
||||
}
|
||||
if(parent_id != entry->getParentID())
|
||||
{
|
||||
entry->setParentID(parent_id);
|
||||
|
|
@ -2700,7 +2703,7 @@ void LLViewerRegion::decodeBoundingInfo(LLVOCacheEntry* entry)
|
|||
LLQuaternion rot;
|
||||
|
||||
//decode spatial info and parent info
|
||||
U32 parent_id = LLViewerObject::extractSpatialExtents(entry->getDP(), pos, scale, rot);
|
||||
U32 parent_id = entry->getDP() ? LLViewerObject::extractSpatialExtents(entry->getDP(), pos, scale, rot) : entry->getParentID();
|
||||
|
||||
U32 old_parent_id = entry->getParentID();
|
||||
bool same_old_parent = false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue