vlc/vlc-1.1 | branch: master | Erwan Tulou <[email protected]> | Sat Aug 14 
11:28:35 2010 +0200| [bdc5380dc12dc395191d669ef7830c3572eef8fb] | committer: 
Erwan Tulou 

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.
(cherry picked from commit 07bf40d589a3f4fa9a608c50d7599b8b9b7059bf)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=bdc5380dc12dc395191d669ef7830c3572eef8fb
---

 modules/gui/skins2/parser/builder.cpp |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/modules/gui/skins2/parser/builder.cpp 
b/modules/gui/skins2/parser/builder.cpp
index d9c7583..0535b68 100644
--- a/modules/gui/skins2/parser/builder.cpp
+++ b/modules/gui/skins2/parser/builder.cpp
@@ -1024,12 +1024,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

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to