Mercurial > hg > nginx
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, |