Suggesting a size bigger than the max svg size, will simply result
in a smaller rendering than the user has been lead to believe they
would recieve.
Additionally fix wrong argument order to $this->getThumbSizes
which was causing the nominal size for an SVG to not be suggested
as an alternate size on the image page.
See some of the comments T106263 (However, that bug is not about
this issue).
Change-Id: Ia63ddd6e89725f8e7979687310c3b6819da0cbbc
}
protected function openShowImage() {
}
protected function openShowImage() {
- global $wgEnableUploads, $wgSend404Code;
+ global $wgEnableUploads, $wgSend404Code, $wgSVGMaxSize;
$this->loadFile();
$out = $this->getContext()->getOutput();
$this->loadFile();
$out = $this->getContext()->getOutput();
);
$linktext = $this->getContext()->msg( 'show-big-image' )->escaped();
);
$linktext = $this->getContext()->msg( 'show-big-image' )->escaped();
- $thumbSizes = $this->getThumbSizes( $width, $height, $width_orig, $height_orig );
+ $thumbSizes = $this->getThumbSizes( $width_orig, $height_orig );
# Generate thumbnails or thumbnail links as needed...
$otherSizes = array();
foreach ( $thumbSizes as $size ) {
# Generate thumbnails or thumbnail links as needed...
$otherSizes = array();
foreach ( $thumbSizes as $size ) {
// the current thumbnail's size ($width/$height)
// since that is added to the message separately, so
// it can be denoted as the current size being shown.
// the current thumbnail's size ($width/$height)
// since that is added to the message separately, so
// it can be denoted as the current size being shown.
- // Vectorized images are "infinitely" big, so all thumb
- // sizes are shown.
+ // Vectorized images are limited by $wgSVGMaxSize big,
+ // so all thumbs less than or equal that are shown.
if ( ( ( $size[0] <= $width_orig && $size[1] <= $height_orig )
if ( ( ( $size[0] <= $width_orig && $size[1] <= $height_orig )
- || $this->displayImg->isVectorized() )
+ || ( $this->displayImg->isVectorized()
+ && max( $size[0], $size[1] ) <= $wgSVGMaxSize )
+ )
&& $size[0] != $width && $size[1] != $height
) {
$sizeLink = $this->makeSizeLink( $params, $size[0], $size[1] );
&& $size[0] != $width && $size[1] != $height
) {
$sizeLink = $this->makeSizeLink( $params, $size[0], $size[1] );