summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/mythinstall/xorgsettings.h
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/mythinstall/xorgsettings.h')
-rwxr-xr-xabs/core-testing/mythinstall/xorgsettings.h13
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;