comparison src/http/modules/ngx_http_image_filter_module.c @ 4978:55ccb9f75668

Image filter: configuration inheritance fixes. The image_filter_jpeg_quality, image_filter_sharpen and "image_filter rotate" were inherited incorrectly if a directive with variables was defined, and then redefined to a literal value, i.e. in configurations like image_filter_jpeg_quality $arg_q; location / { image_filter_jpeg_quality 50; } Patch by Ian Babrou, with minor changes.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 20 Dec 2012 19:04:28 +0000
parents 084137d883ec
children 5889bc5f7a65
comparison
equal deleted inserted replaced
4977:b216d212920b 4978:55ccb9f75668
1198 conf->wcv = prev->wcv; 1198 conf->wcv = prev->wcv;
1199 conf->hcv = prev->hcv; 1199 conf->hcv = prev->hcv;
1200 } 1200 }
1201 } 1201 }
1202 1202
1203 /* 75 is libjpeg default quality */ 1203 if (conf->jpeg_quality == NGX_CONF_UNSET_UINT) {
1204 ngx_conf_merge_uint_value(conf->jpeg_quality, prev->jpeg_quality, 75); 1204
1205 1205 /* 75 is libjpeg default quality */
1206 if (conf->jqcv == NULL) { 1206 ngx_conf_merge_uint_value(conf->jpeg_quality, prev->jpeg_quality, 75);
1207 conf->jqcv = prev->jqcv; 1207
1208 } 1208 if (conf->jqcv == NULL) {
1209 1209 conf->jqcv = prev->jqcv;
1210 ngx_conf_merge_uint_value(conf->sharpen, prev->sharpen, 0); 1210 }
1211 1211 }
1212 if (conf->shcv == NULL) { 1212
1213 conf->shcv = prev->shcv; 1213 if (conf->sharpen == NGX_CONF_UNSET_UINT) {
1214 } 1214 ngx_conf_merge_uint_value(conf->sharpen, prev->sharpen, 0);
1215 1215
1216 ngx_conf_merge_uint_value(conf->angle, prev->angle, 0); 1216 if (conf->shcv == NULL) {
1217 if (conf->acv == NULL) { 1217 conf->shcv = prev->shcv;
1218 conf->acv = prev->acv; 1218 }
1219 }
1220
1221 if (conf->angle == NGX_CONF_UNSET_UINT) {
1222 ngx_conf_merge_uint_value(conf->angle, prev->angle, 0);
1223
1224 if (conf->acv == NULL) {
1225 conf->acv = prev->acv;
1226 }
1219 } 1227 }
1220 1228
1221 ngx_conf_merge_value(conf->transparency, prev->transparency, 1); 1229 ngx_conf_merge_value(conf->transparency, prev->transparency, 1);
1222 1230
1223 ngx_conf_merge_size_value(conf->buffer_size, prev->buffer_size, 1231 ngx_conf_merge_size_value(conf->buffer_size, prev->buffer_size,