diff options
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
| -rw-r--r-- | indra/newview/llselectmgr.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 758e91f6c9..43fbed43f6 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -97,6 +97,7 @@ #include "llpanelface.h" #include "llglheaders.h" #include "llinventoryobserver.h" +#include "llscripteditorws.h" LLViewerObject* getSelectedParentObject(LLViewerObject *object) ; // @@ -252,7 +253,6 @@ LLSelectMgr::LLSelectMgr() LLSelectMgr::~LLSelectMgr() { clearSelections(); - mSlectionLodModChangedConnection.disconnect(); } void LLSelectMgr::clearSelections() @@ -3054,7 +3054,6 @@ void LLSelectMgr::logNoOp(LLSelectNode* node, void *) // static void LLSelectMgr::logAttachmentRequest(LLSelectNode* node, void *) { - LLAttachmentsMgr::instance().onAttachmentRequested(node->mItemID); } // static @@ -6110,6 +6109,14 @@ void LLSelectMgr::processObjectProperties(LLMessageSystem* msg, void** user_data node->mSitName.assign(sit_name); node->mTouchName.assign(touch_name); } + + // Published objects need property updates even when not selected. + LLScriptEditorWSServer::ptr_t ws_server = LLScriptEditorWSServer::getServer(); + if (ws_server) + { + ws_server->onObjectPropertyChanged(id, name, desc, inv_serial); + ws_server->onObjectPermissionsReceived(id, owner_id, owner_mask, next_owner_mask); + } } dialog_refresh_all(); @@ -6193,9 +6200,24 @@ void LLSelectMgr::processObjectPropertiesFamily(LLMessageSystem* msg, void** use node->mCategory = category; node->mName.assign(name); node->mDescription.assign(desc); + + LLViewerObject* obj = node->getObject(); + if (obj && LLViewerObject::isObjectInPendingUpdate(owner_id, obj)) + { + // current response doesn't return modify permissions flags, + // so we should request it separately if needed + obj->requestObjectUpdate(); + } + } dialog_refresh_all(); + + if (auto ws_server = LLScriptEditorWSServer::getServer()) + { + ws_server->onObjectPropertyChanged(id, name, desc); + ws_server->onObjectPermissionsReceived(id, owner_id, owner_mask, next_owner_mask); + } } @@ -6616,7 +6638,7 @@ void LLSelectMgr::renderSilhouettes(bool for_hud) gGL.popMatrix(); gGL.popMatrix(); - //glLineWidth(1.f); + //gGL.setLineWidth(1.f); #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); #endif |
