From: Erwan Tulou Date: Sat, 14 Aug 2010 09:28:35 +0000 (+0200) Subject: skins2: fix video autoresize default when contradictory X-Git-Tag: 1.2.0-pre1~5434 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=07bf40d589a3f4fa9a608c50d7599b8b9b7059bf;hp=28856b8cff0b5c561a5608ebe9dbad953a5cf0f0;p=vlc skins2: fix video autoresize default when contradictory when parameters for a video control are contradictory (this occurs when the skin developper only relies on default values), it is better not to resize, since there is no easy means to check if the layout is really set up to handle resizing properly. This fixes some ugly behavior for a few skins from the skin repository on the website. --- diff --git a/modules/gui/skins2/parser/builder.cpp b/modules/gui/skins2/parser/builder.cpp index 72efbe6840..df0f5507fd 100644 --- a/modules/gui/skins2/parser/builder.cpp +++ b/modules/gui/skins2/parser/builder.cpp @@ -1028,12 +1028,19 @@ void Builder::addVideo( const BuilderData::Video &rData ) pVisible ); m_pTheme->m_controls[rData.m_id] = CtrlGenericPtr( pVideo ); - // if autoresize is true, force the control to resize BuilderData::Video Data = rData; - if( rData.m_autoResize ) + if( Data.m_autoResize ) { - Data.m_leftTop = "lefttop"; - Data.m_rightBottom = "rightbottom"; + // force autoresize to false if the control is not able to + // freely resize within its container + if( Data.m_xKeepRatio || Data.m_yKeepRatio || + !( Data.m_leftTop == "lefttop" && + Data.m_rightBottom == "rightbottom" ) ) + { + msg_Err( getIntf(), + "video: resize policy and autoresize are not compatible" ); + Data.m_autoResize = false; + } } // Compute the position of the control