Ticket #116: RC_FIELD_ID.diff

File RC_FIELD_ID.diff, 1.8 kB (added by cneumann, 2 years ago)

Patch to illustrate change

  • Source/System/FieldContainer/Base/OSGReflexiveContainer.h

    old new  
    426426        OSG_ELEMNAME##FieldId   = Inherited::NextFieldId;                     \ 
    427427    static const OSG::BitVector                                               \ 
    428428        OSG_ELEMNAME##FieldMask =                                             \ 
    429                         (TypeTraits<BitVector>::One << OSG_ELEMNAME##FieldId
     429                   (TypeTraits<BitVector>::One << (OSG_ELEMNAME##FieldId - 1)
    430430 
    431431#define OSG_RC_FIELD_DECL(OSG_ELEMNAME, OSG_PREV_ELEMNAME)                    \ 
    432432    static const OSG::UInt32    OSG_ELEMNAME##FieldId   =                     \ 
    433433        OSG_PREV_ELEMNAME##FieldId + 1;                                       \ 
    434434    static const OSG::BitVector                                               \ 
    435435        OSG_ELEMNAME##FieldMask =                                             \ 
    436                         (TypeTraits<BitVector>::One << OSG_ELEMNAME##FieldId
     436                   (TypeTraits<BitVector>::One << (OSG_ELEMNAME##FieldId - 1)
    437437 
    438438#define OSG_RC_LAST_FIELD_DECL(OSG_PREV_ELEMNAME)                             \ 
    439439  static const OSG::UInt32    NextFieldId   = OSG_PREV_ELEMNAME##FieldId + 1; \ 
    440440  static const OSG::BitVector NextFieldMask =                                 \ 
    441                          (TypeTraits<BitVector>::One << NextFieldId
     441                   (TypeTraits<BitVector>::One << (NextFieldId - 1)
    442442 
    443443#define OSG_RC_NO_FIELD_DECL                                                  \ 
    444444  static const OSG::UInt32    NextFieldId   = Inherited::NextFieldId;         \