Merge branch 'DRTVWR-588-maint-W' of https://github.com/secondlife/viewer

meow-7.2.2
Ansariel 2023-12-15 22:49:29 +01:00
commit 4c8279ff29
5 changed files with 27 additions and 7 deletions

View File

@ -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;
}

View File

@ -1 +1 @@
7.1.2
7.1.2

View File

@ -60,6 +60,8 @@ LLFloaterProfileTexture::~LLFloaterProfileTexture()
mImage->forceActive(); // <FS:Ansariel> Make sure it can get discarded
mImage = NULL;
}
LLLoadedCallbackEntry::cleanUpCallbackList(&mCallbackTextureList);
}
// virtual

View File

@ -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;
}

View File

@ -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;