diff options
Diffstat (limited to 'abs/core-testing/mythinstall/xorgsettings.h')
-rwxr-xr-x | abs/core-testing/mythinstall/xorgsettings.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/abs/core-testing/mythinstall/xorgsettings.h b/abs/core-testing/mythinstall/xorgsettings.h index c17720f..b9513fd 100755 --- a/abs/core-testing/mythinstall/xorgsettings.h +++ b/abs/core-testing/mythinstall/xorgsettings.h @@ -127,6 +127,9 @@ static HostComboBox *HostXres() "s/ Server//g'"; //reformat. cout << mode_extract_command << endl; modelines = popen (mode_extract_command, "r"); + + char previous_mode[200]={0}; + if (modelines) { char line_in[200]; @@ -142,7 +145,15 @@ static HostComboBox *HostXres() if (separator) { separator[0]=0; - gc->addSelection(separator + 1,line_in); + separator++; + + // Skip this mode if the description is identical to the previous. + if (strcmp (previous_mode, separator) == 0) + continue; + + strncpy (previous_mode, separator, 200); + gc->addSelection(separator, line_in); + for (int def = 0; def < num_defaults; def++) if (strncmp (&line_in[1], defaults[def], strlen (defaults[def]))==0) defaults_added[def]=1; |