]> git.sesse.net Git - vlc/commitdiff
.Fix du probl�me de detection de la profondeur en 16 bits sous XFree 4
authorStéphane Borel <stef@videolan.org>
Tue, 17 Oct 2000 23:42:13 +0000 (23:42 +0000)
committerStéphane Borel <stef@videolan.org>
Tue, 17 Oct 2000 23:42:13 +0000 (23:42 +0000)
J'esp�re que �a marche encore avec XFree 3.3

plugins/x11/vout_x11.c

index 7b95b33f1f54ebccfaf35f9b0eca4d056d23f65b..2115c34fa1fb79ae6c8f6417897ad9f66f60e248 100644 (file)
@@ -412,13 +412,18 @@ static int X11OpenDisplay( vout_thread_t *p_vout, char *psz_display, Window root
          * formats. */
         p_xpixmap_format = XListPixmapFormats( p_vout->p_sys->p_display, &i_count );
 
-       /* FIXME: under XFree4.0, we can get some strange values. Check this */
+       
+        /* Under XFree4.0, the list contains pixmap formats available through 
+         * all video depths ; so we have to check against current depth. */
         p_vout->i_bytes_per_pixel = 0;
-        for( ; i_count--; p_xpixmap_format++ )
+        for( ; i_count-- ; p_xpixmap_format++ )
         {
-            if( p_xpixmap_format->bits_per_pixel / 8 > p_vout->i_bytes_per_pixel )
+            if( p_xpixmap_format->depth == p_vout->i_screen_depth )
             {
-                p_vout->i_bytes_per_pixel = p_xpixmap_format->bits_per_pixel / 8;
+                if( p_xpixmap_format->bits_per_pixel / 8 > p_vout->i_bytes_per_pixel )
+                {
+                    p_vout->i_bytes_per_pixel = p_xpixmap_format->bits_per_pixel / 8;
+                }
             }
         }
         break;