Oops, actually use the timings in the modes db. :)
authorSam Lantinga <slouken@libsdl.org>
Mon, 02 Jan 2006 09:32:54 +0000
changeset 1217 ae9981987c2f
parent 1216 f8fc6fdd589d
child 1218 057d313e36a2
Oops, actually use the timings in the modes db. :) FIXME: Add some way of specifying the refresh rate we want to select!
src/video/fbcon/SDL_fbvideo.c
--- a/src/video/fbcon/SDL_fbvideo.c	Mon Jan 02 09:13:16 2006 +0000
+++ b/src/video/fbcon/SDL_fbvideo.c	Mon Jan 02 09:32:54 2006 +0000
@@ -770,10 +770,19 @@
 	if ( modesdb ) {
 		/* Parse the mode definition file */
 		while ( read_fbmodes_mode(modesdb, &cinfo) ) {
-			if ( vinfo->xres == cinfo.xres &&
-			     vinfo->yres == cinfo.yres ) {
+			if ( (vinfo->xres == cinfo.xres && vinfo->yres == cinfo.yres) &&
+			     (!matched || (vinfo->bits_per_pixel == cinfo.bits_per_pixel)) ) {
+				vinfo->pixclock = cinfo.pixclock;
+				vinfo->left_margin = cinfo.left_margin;
+				vinfo->right_margin = cinfo.right_margin;
+				vinfo->upper_margin = cinfo.upper_margin;
+				vinfo->lower_margin = cinfo.lower_margin;
+				vinfo->hsync_len = cinfo.hsync_len;
+				vinfo->vsync_len = cinfo.vsync_len;
+				if ( matched ) {
+					break;
+				}
 				matched = 1;
-				break;
 			}
 		}
 		fclose(modesdb);