diff -up bzflag-2.0.12/src/platform/BzfDisplay.cxx.findresolutions bzflag-2.0.12/src/platform/BzfDisplay.cxx --- bzflag-2.0.12/src/platform/BzfDisplay.cxx.findresolutions 2008-04-06 07:30:37.000000000 +0200 +++ bzflag-2.0.12/src/platform/BzfDisplay.cxx 2008-07-10 10:05:41.000000000 +0200 @@ -137,9 +137,20 @@ bool BzfDisplay::doSetDefaultResolutio int BzfDisplay::findResolution(const char* name) const { - for (int i = 0; i < numResolutions; i++) - if (strcmp(name, resolutions[i]->name) == 0) + for (int i = 0; i < numResolutions; i++) { + // only compare up to first space character + const char *cp1, *cp2; + int i1, i2; + + cp1 = strstr (name, " "); + cp2 = strstr (resolutions[i]->name, " "); + + i1 = cp1 ? (cp1 - name) : strlen (name); + i2 = cp2 ? (cp2 - resolutions[i]->name) : strlen (resolutions[i]->name); + + if ((i1 == i2) && (strncmp(name, resolutions[i]->name, i1 + 1) == 0)) return i; + } return -1; }