Fix wrong use of guiScalingImageButton in formspecs buttons (#10094)

This commit is contained in:
Pierre-Yves Rollo 2020-06-24 11:35:06 +02:00 committed by GitHub
parent 646af2ef5f
commit ee6c499ff8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 6 deletions

@ -789,13 +789,12 @@ void GUIButton::setFromStyle(const StyleSpec& style)
setDrawBorder(style.getBool(StyleSpec::BORDER, true)); setDrawBorder(style.getBool(StyleSpec::BORDER, true));
setUseAlphaChannel(style.getBool(StyleSpec::ALPHA, true)); setUseAlphaChannel(style.getBool(StyleSpec::ALPHA, true));
const core::position2di buttonCenter(AbsoluteRect.getCenter());
core::position2d<s32> geom(buttonCenter);
if (style.isNotDefault(StyleSpec::BGIMG)) { if (style.isNotDefault(StyleSpec::BGIMG)) {
video::ITexture *texture = style.getTexture(StyleSpec::BGIMG, video::ITexture *texture = style.getTexture(StyleSpec::BGIMG,
getTextureSource()); getTextureSource());
setImage(guiScalingImageButton( setImage(guiScalingImageButton(
Environment->getVideoDriver(), texture, geom.X, geom.Y)); Environment->getVideoDriver(), texture,
AbsoluteRect.getWidth(), AbsoluteRect.getHeight()));
setScaleImage(true); setScaleImage(true);
} else { } else {
setImage(nullptr); setImage(nullptr);

@ -62,13 +62,12 @@ void GUIButtonImage::setFromStyle(const StyleSpec& style)
video::IVideoDriver *driver = Environment->getVideoDriver(); video::IVideoDriver *driver = Environment->getVideoDriver();
const core::position2di buttonCenter(AbsoluteRect.getCenter());
core::position2d<s32> geom(buttonCenter);
if (style.isNotDefault(StyleSpec::FGIMG)) { if (style.isNotDefault(StyleSpec::FGIMG)) {
video::ITexture *texture = style.getTexture(StyleSpec::FGIMG, video::ITexture *texture = style.getTexture(StyleSpec::FGIMG,
getTextureSource()); getTextureSource());
setForegroundImage(guiScalingImageButton(driver, texture, geom.X, geom.Y)); setForegroundImage(guiScalingImageButton(driver, texture,
AbsoluteRect.getWidth(), AbsoluteRect.getHeight()));
setScaleImage(true); setScaleImage(true);
} else { } else {
setForegroundImage(nullptr); setForegroundImage(nullptr);