Fix #3259, RT fails with ASan

When compiling RT with `-fsanitize=address` it fails early in
`Options::setDefaults()`. To fix it, initialize `baBehav` directly as
permitted with C++11. As a bonus, I converted `addsetids.h` from
defines to an enum.
This commit is contained in:
Flössie
2016-04-20 20:29:51 +02:00
parent f7af57d11e
commit 296919eb2b
2 changed files with 220 additions and 222 deletions

View File

@@ -498,116 +498,114 @@ void Options::setDefaults ()
#endif
// Reminder: 0 = SET mode, 1 = ADD mode
int babehav[] = {
0, // ADDSET_TC_EXPCOMP
0, // ADDSET_TC_BRIGHTNESS
0, // ADDSET_TC_BLACKLEVEL
0, // ADDSET_TC_CONTRAST
0, // ADDSET_SH_HIGHLIGHTS
0, // ADDSET_SH_SHADOWS
0, // ADDSET_SH_LOCALCONTRAST
0, // ADDSET_LC_BRIGHTNESS
0, // ADDSET_LC_CONTRAST
0, // ADDSET_SHARP_AMOUNT
0, // ADDSET_WB_TEMPERATURE
0, // ADDSET_WB_GREEN
0, // ADDSET_ROTATE_DEGREE
0, // ADDSET_DIST_AMOUNT
0, // ADDSET_PERSPECTIVE
0, // ADDSET_CA
0, // ADDSET_VIGN_AMOUNT
0, // ADDSET_VIGN_RADIUS
0, // ADDSET_VIGN_STRENGTH
0, // ADDSET_VIGN_CENTER
0, // ADDSET_LC_CHROMATICITY
0, // ADDSET_TC_SATURATION
0, // ADDSET_TC_HLCOMPAMOUNT
0, // ADDSET_TC_HLCOMPTHRESH
0, // ADDSET_TC_SHCOMP
0, // ADDSET_DIRPYREQ
0, // ADDSET_DIRPYRDN_LUMA
0, // ADDSET_DIRPYRDN_LUDET
0, // ADDSET_DIRPYRDN_CHROMA
0, // ADDSET_DIRPYRDN_CHROMARED
0, // ADDSET_DIRPYRDN_CHROMABLUE
0, // ADDSET_DIRPYRDN_GAMMA
0, // ADDSET_CHMIXER
0, // ADDSET_PREPROCESS_GREENEQUIL
0, // ADDSET_PREPROCESS_LINEDENOISE
0, // ADDSET_RAWCACORR
0, // ADDSET_RAWEXPOS_LINEAR
0, // ADDSET_RAWEXPOS_PRESER
0, // ADDSET_RAWEXPOS_BLACKS
0, // ADDSET_SHARPENEDGE_AMOUNT
0, // ADDSET_SHARPENMICRO_AMOUNT
0, // ADDSET_SHARPENEDGE_PASS
0, // ADDSET_SHARPENMICRO_UNIFORMITY
0, // ADDSET_VIBRANCE_PASTELS
0, // ADDSET_VIBRANCE_SATURATED
0, // ADDSET_FREE_OUPUT_GAMMA
0, // ADDSET_FREE_OUTPUT_SLOPE
0, // ADDSET_CAT_DEGREE
0, // ADDSET_CAT_ADAPSCEN
0, // ADDSET_CAT_ADAPLUM
0, // ADDSET_CAT_LIGHT
0, // ADDSET_CAT_RSTPRO
0, // ADDSET_CAT_BADPIX
0, // ADDSET_CAT_JLIGHT
0, // ADDSET_CAT_CHROMA
0, // ADDSET_CAT_CONTRAST
0, // ADDSET_CAT_CHROMA_S
0, // ADDSET_CAT_CHROMA_M
0, // ADDSET_CAT_HUE
0, // ADDSET_CAT_BADPIX
0, // ADDSET_WB_EQUAL
0, // ADDSET_GRADIENT_DEGREE
0, // ADDSET_GRADIENT_FEATHER
0, // ADDSET_GRADIENT_STRENGTH
0, // ADDSET_GRADIENT_CENTER
0, // ADDSET_PCVIGNETTE_STRENGTH
0, // ADDSET_PCVIGNETTE_FEATHER
0, // ADDSET_PCVIGNETTE_ROUNDNESS
0, // ADDSET_BLACKWHITE_HUES
0, // ADDSET_BLACKWHITE_GAMMA
0, // ADDSET_DIRPYREQ_THRESHOLD
0, // ADDSET_DIRPYREQ_SKINPROTECT
0, // ADDSET_COLORTONING_SPLIT
0, //ADDSET_DIRPYRDN_PASSES
0, // ADDSET_RAWFFCLIPCONTROL
0, // ADDSET_FILMSIMULATION_STRENGTH
0, //ADDSET_WA
0, //ADDSET_WA_THRESHOLD
0, //ADDSET_WA_THRESHOLD2
0, //ADDSET_WA_THRES
0, //ADDSET_WA_CHRO
0, //ADDSET_WA_CHROMA
0, //ADDSET_WA_CONTRAST
0, //ADDSET_WA_SKINPROTECT
0, //ADDSET_WA_RESCHRO
0, //ADDSET_WA_RESCON
0, //ADDSET_WA_RESCONH
0, //ADDSET_WA_THRR
0, //ADDSET_WA_THRRH
0, //ADDSET_WA_SKYPROTECT
0, //ADDSET_WA_EDGRAD
0, //ADDSET_WA_EDGVAL
0, //ADDSET_WA_STRENGTH
0, //ADDSET_WA_EDGEDETECT
0, //ADDSET_WA_EDGEDETECTTHR
0, //ADDSET_WA_EDGEDETECTTHR2
0, //ADDSET_WA_TMRS
0, //ADDSET_WA_GAMMA
0, //ADDSET_RETI_STR
0, //ADDSET_RETI_NEIGH
0, //ADDSET_RETI_LIMD
0, //ADDSET_RETI_GAIN
0, //ADDSET_RETI_OFFS
0, //ADDSET_RETI_VART
0, //ADDSET_RETI_GAM
0, //ADDSET_RETI_SLO
baBehav = {
0, // ADDSET_TC_EXPCOMP
0, // ADDSET_TC_BRIGHTNESS
0, // ADDSET_TC_BLACKLEVEL
0, // ADDSET_TC_CONTRAST
0, // ADDSET_SH_HIGHLIGHTS
0, // ADDSET_SH_SHADOWS
0, // ADDSET_SH_LOCALCONTRAST
0, // ADDSET_LC_BRIGHTNESS
0, // ADDSET_LC_CONTRAST
0, // ADDSET_SHARP_AMOUNT
0, // ADDSET_WB_TEMPERATURE
0, // ADDSET_WB_GREEN
0, // ADDSET_ROTATE_DEGREE
0, // ADDSET_DIST_AMOUNT
0, // ADDSET_PERSPECTIVE
0, // ADDSET_CA
0, // ADDSET_VIGN_AMOUNT
0, // ADDSET_VIGN_RADIUS
0, // ADDSET_VIGN_STRENGTH
0, // ADDSET_VIGN_CENTER
0, // ADDSET_LC_CHROMATICITY
0, // ADDSET_TC_SATURATION
0, // ADDSET_TC_HLCOMPAMOUNT
0, // ADDSET_TC_HLCOMPTHRESH
0, // ADDSET_TC_SHCOMP
0, // ADDSET_DIRPYREQ
0, // ADDSET_DIRPYRDN_LUMA
0, // ADDSET_DIRPYRDN_LUDET
0, // ADDSET_DIRPYRDN_CHROMA
0, // ADDSET_DIRPYRDN_CHROMARED
0, // ADDSET_DIRPYRDN_CHROMABLUE
0, // ADDSET_DIRPYRDN_GAMMA
0, // ADDSET_CHMIXER
0, // ADDSET_PREPROCESS_GREENEQUIL
0, // ADDSET_PREPROCESS_LINEDENOISE
0, // ADDSET_RAWCACORR
0, // ADDSET_RAWEXPOS_LINEAR
0, // ADDSET_RAWEXPOS_PRESER
0, // ADDSET_RAWEXPOS_BLACKS
0, // ADDSET_SHARPENEDGE_AMOUNT
0, // ADDSET_SHARPENMICRO_AMOUNT
0, // ADDSET_SHARPENEDGE_PASS
0, // ADDSET_SHARPENMICRO_UNIFORMITY
0, // ADDSET_VIBRANCE_PASTELS
0, // ADDSET_VIBRANCE_SATURATED
0, // ADDSET_FREE_OUPUT_GAMMA
0, // ADDSET_FREE_OUTPUT_SLOPE
0, // ADDSET_CAT_DEGREE
0, // ADDSET_CAT_ADAPSCEN
0, // ADDSET_CAT_ADAPLUM
0, // ADDSET_CAT_LIGHT
0, // ADDSET_CAT_RSTPRO
0, // ADDSET_CAT_BADPIX
0, // ADDSET_CAT_JLIGHT
0, // ADDSET_CAT_CHROMA
0, // ADDSET_CAT_CONTRAST
0, // ADDSET_CAT_CHROMA_S
0, // ADDSET_CAT_CHROMA_M
0, // ADDSET_CAT_HUE
0, // ADDSET_CAT_BADPIX
0, // ADDSET_WB_EQUAL
0, // ADDSET_GRADIENT_DEGREE
0, // ADDSET_GRADIENT_FEATHER
0, // ADDSET_GRADIENT_STRENGTH
0, // ADDSET_GRADIENT_CENTER
0, // ADDSET_PCVIGNETTE_STRENGTH
0, // ADDSET_PCVIGNETTE_FEATHER
0, // ADDSET_PCVIGNETTE_ROUNDNESS
0, // ADDSET_BLACKWHITE_HUES
0, // ADDSET_BLACKWHITE_GAMMA
0, // ADDSET_DIRPYREQ_THRESHOLD
0, // ADDSET_DIRPYREQ_SKINPROTECT
0, // ADDSET_COLORTONING_SPLIT
0, // ADDSET_DIRPYRDN_PASSES
0, // ADDSET_RAWFFCLIPCONTROL
0, // ADDSET_FILMSIMULATION_STRENGTH
0, // ADDSET_WA
0, // ADDSET_WA_THRESHOLD
0, // ADDSET_WA_THRESHOLD2
0, // ADDSET_WA_THRES
0, // ADDSET_WA_CHRO
0, // ADDSET_WA_CHROMA
0, // ADDSET_WA_CONTRAST
0, // ADDSET_WA_SKINPROTECT
0, // ADDSET_WA_RESCHRO
0, // ADDSET_WA_RESCON
0, // ADDSET_WA_RESCONH
0, // ADDSET_WA_THRR
0, // ADDSET_WA_THRRH
0, // ADDSET_WA_SKYPROTECT
0, // ADDSET_WA_EDGRAD
0, // ADDSET_WA_EDGVAL
0, // ADDSET_WA_STRENGTH
0, // ADDSET_WA_EDGEDETECT
0, // ADDSET_WA_EDGEDETECTTHR
0, // ADDSET_WA_EDGEDETECTTHR2
0, // ADDSET_WA_TMRS
0, // ADDSET_WA_GAMMA
0, // ADDSET_RETI_STR
0, // ADDSET_RETI_NEIGH
0, // ADDSET_RETI_LIMD
0, // ADDSET_RETI_GAIN
0, // ADDSET_RETI_OFFS
0, // ADDSET_RETI_VART
0, // ADDSET_RETI_GAM
0, // ADDSET_RETI_SLO
};
baBehav = std::vector<int> (babehav, babehav + ADDSET_PARAM_NUM);
rtSettings.darkFramesPath = "";
rtSettings.flatFieldsPath = "";