diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llpanelvolume.cpp | 26 | 
1 files changed, 25 insertions, 1 deletions
diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp index b1d3ac2245..f58aab3080 100644 --- a/indra/newview/llpanelvolume.cpp +++ b/indra/newview/llpanelvolume.cpp @@ -764,7 +764,20 @@ void LLPanelVolume::sendIsReflectionProbe()      }      else      { -        LLNotificationsUtil::add("CantSelectReflectionProbe"); +        if (value) +        { +            LLNotificationsUtil::add("CantSelectReflectionProbe"); +        } +        else if (objectp->flagPhantom()) +        { +            LLViewerObject* root = objectp->getRootEdit(); +            bool in_linkeset = root != objectp || objectp->numChildren() > 0; +            if (in_linkeset) +            { +                // In linkset with a phantom flag +                objectp->setFlags(FLAGS_PHANTOM, FALSE); +            } +        }          volobjp->setIsReflectionProbe(value);      }  } @@ -1213,6 +1226,17 @@ void LLPanelVolume::onPasteLight()          }          else          { +            if (objectp->flagPhantom()) +            { +                LLViewerObject* root = objectp->getRootEdit(); +                bool in_linkeset = root != objectp || objectp->numChildren() > 0; +                if (in_linkeset) +                { +                    // In linkset with a phantom flag +                    objectp->setFlags(FLAGS_PHANTOM, FALSE); +                } +            } +              volobjp->setIsReflectionProbe(false);          }      }  | 
