--- doomlegacy-1.40/doomlegacy_142_src/linux_x/i_video_xshm.c~ Fri Mar 14 03:11:35 2003 +++ doomlegacy-1.40/doomlegacy_142_src/linux_x/i_video_xshm.c Fri Mar 14 03:11:35 2003 @@ -182,7 +182,9 @@ // resolution threshold for hires mode #define HIRES_HORIZ (640) #define HIRES_VERT (400) - + +#define MAX_NUM_VIDMODES (100) + static boolean haveVoodoo = false; extern consvar_t cv_fullscreen; // for fullscreen support under X and GLX @@ -197,8 +199,8 @@ static int lowest_vidmode; static XF86VidModeModeInfo **vidmodes; -static char vidModeName[33][32]; // allow 33 different modes -static int vidmap[33]; +static char vidModeName[MAX_NUM_VIDMODES][32]; // allow MAX_NUM_VIDMODES different modes +static int vidmap[MAX_NUM_VIDMODES]; // added for 1.27 19990220 by Kin rendermode_t rendermode=render_soft; @@ -283,7 +285,8 @@ if(vidmode_ext) { // get fullscreen modes XF86VidModeGetAllModeLines(X_display, X_screen, &num_fullvidmodes, &vidmodes); - num_vidmodes = num_fullvidmodes; + num_vidmodes = (num_fullvidmodes > MAX_NUM_VIDMODES) + ? MAX_NUM_VIDMODES : num_fullvidmodes; // initialize mapping for(i=0; i MAX_NUM_VIDMODES) + ? MAX_NUM_VIDMODES : num_fullvidmodes; // initialize mapping for(i=0; i