diff options
Diffstat (limited to 'linden/indra/newview/llviewerwindow.cpp')
-rw-r--r-- | linden/indra/newview/llviewerwindow.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/linden/indra/newview/llviewerwindow.cpp b/linden/indra/newview/llviewerwindow.cpp index 0f5bffd..116df89 100644 --- a/linden/indra/newview/llviewerwindow.cpp +++ b/linden/indra/newview/llviewerwindow.cpp | |||
@@ -2400,13 +2400,13 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) | |||
2400 | case KEY_RIGHT: | 2400 | case KEY_RIGHT: |
2401 | case KEY_UP: | 2401 | case KEY_UP: |
2402 | // let CTRL UP through for chat line history | 2402 | // let CTRL UP through for chat line history |
2403 | if( MASK_CONTROL & mask ) | 2403 | if( MASK_CONTROL == mask ) |
2404 | { | 2404 | { |
2405 | break; | 2405 | break; |
2406 | } | 2406 | } |
2407 | case KEY_DOWN: | 2407 | case KEY_DOWN: |
2408 | // let CTRL DOWN through for chat line history | 2408 | // let CTRL DOWN through for chat line history |
2409 | if( MASK_CONTROL & mask ) | 2409 | if( MASK_CONTROL == mask ) |
2410 | { | 2410 | { |
2411 | break; | 2411 | break; |
2412 | } | 2412 | } |
@@ -3173,7 +3173,7 @@ void LLViewerWindow::renderSelections( BOOL for_gl_pick, BOOL pick_parcel_walls, | |||
3173 | BOOL moveable_object_selected = FALSE; | 3173 | BOOL moveable_object_selected = FALSE; |
3174 | BOOL all_selected_objects_move = TRUE; | 3174 | BOOL all_selected_objects_move = TRUE; |
3175 | BOOL all_selected_objects_modify = TRUE; | 3175 | BOOL all_selected_objects_modify = TRUE; |
3176 | BOOL selecting_linked_set = gSavedSettings.getBOOL("SelectLinkedSet"); | 3176 | BOOL selecting_linked_set = !gSavedSettings.getBOOL("EditLinkedParts"); |
3177 | for( object = gSelectMgr->getSelection()->getFirstObject(); object; object = gSelectMgr->getSelection()->getNextObject() ) | 3177 | for( object = gSelectMgr->getSelection()->getFirstObject(); object; object = gSelectMgr->getSelection()->getNextObject() ) |
3178 | { | 3178 | { |
3179 | BOOL this_object_movable = FALSE; | 3179 | BOOL this_object_movable = FALSE; |
@@ -3532,6 +3532,18 @@ void LLViewerWindow::performPick() | |||
3532 | objectp = gObjectList.getSelectedObject(name); | 3532 | objectp = gObjectList.getSelectedObject(name); |
3533 | if (objectp) | 3533 | if (objectp) |
3534 | { | 3534 | { |
3535 | LLViewerObject* parent = (LLViewerObject*)(objectp->getParent()); | ||
3536 | if (NULL == parent) { | ||
3537 | // if you are the parent | ||
3538 | parent = objectp; | ||
3539 | } | ||
3540 | std::vector<LLPointer<LLViewerObject>,std::allocator<LLPointer<LLViewerObject> > > children = parent->getChildren(); | ||
3541 | for( std::vector<LLPointer<LLViewerObject>,std::allocator<LLPointer<LLViewerObject> > >::iterator i= children.begin(); i!= children.end(); ++i ) | ||
3542 | { | ||
3543 | //go through | ||
3544 | LLViewerObject* foo = *i; | ||
3545 | foo->getRotation(); | ||
3546 | } | ||
3535 | if (objectp->mbCanSelect) | 3547 | if (objectp->mbCanSelect) |
3536 | { | 3548 | { |
3537 | te_offset = (te_offset == 16) ? NO_FACE : te_offset; | 3549 | te_offset = (te_offset == 16) ? NO_FACE : te_offset; |