diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 0213ff8be..26ddd5e0e 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -7693,12 +7693,12 @@ void CLASS parse_fuji (int offset) fseek (ifp, save+len, SEEK_SET); } - if (read_crop.crop_mode) { // RT - height = read_crop.height; // RT - width = read_crop.width; // RT - top_margin = read_crop.top_margin; // RT - left_margin = read_crop.left_margin; // RT - } // RT + if ((std::uint_fast16_t)read_crop.crop_mode) { // RT + height = read_crop.height; // RT + width = read_crop.width; // RT + top_margin = read_crop.top_margin; // RT + left_margin = read_crop.left_margin; // RT + } // RT height <<= fuji_layout; width >>= fuji_layout; @@ -10159,10 +10159,10 @@ canon_a5: } else if (!strcmp(model, "X-Pro3") || !strcmp(model, "X-T3") || !strcmp(model, "X-T30") || !strcmp(model, "X-T4") || !strcmp(model, "X100V") || !strcmp(model, "X-S10")) { raw_width = 6384; // RT raw_height = 4182; // RT - if (!read_crop.crop_mode) { // RT - width = raw_width; // RT - height = raw_height; // RT - } // RT + if (!(std::uint_fast16_t)read_crop.crop_mode) { // RT + width = raw_width; // RT + height = raw_height; // RT + } // RT } else if (!strcmp(model, "DBP for GX680")) { // Special case for #4204 width = raw_width = 5504; height = raw_height = 3856; diff --git a/rtengine/dcraw.h b/rtengine/dcraw.h index fad979919..4c199c4b0 100644 --- a/rtengine/dcraw.h +++ b/rtengine/dcraw.h @@ -76,7 +76,7 @@ public: } protected: - enum CropMode : std::uint_fast16_t { // RT + enum class CropMode : std::uint_fast16_t { // RT NA = 0, // RT FullFrameOnGfx = 1, // RT SportsFinderMode = 2, // RT @@ -88,7 +88,7 @@ protected: height, // RT top_margin, // RT left_margin; // RT - CropMode crop_mode = NA; // RT + CropMode crop_mode = CropMode::NA; // RT } read_crop; // RT int exif_base, ciff_base, ciff_len; rtengine::IMFILE *ifp;