summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kxkb/kxkbconfig.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/kxkb/kxkbconfig.cpp b/kxkb/kxkbconfig.cpp
index 4083a8a5c..d789fac70 100644
--- a/kxkb/kxkbconfig.cpp
+++ b/kxkb/kxkbconfig.cpp
@@ -336,7 +336,13 @@ bool KxkbConfig::setFromXkbOptions(XkbOptions options)
}
// Check if Xkb options have changed
- if (options.options != curOptions.options)
+ // It might be that just the order has changed, in which case the config
+ // options should not be wrongly marked as tainted
+ TQStringList serverOpts = TQStringList::split(",", options.options);
+ TQStringList kxkbOpts = TQStringList::split(",", curOptions.options);
+ serverOpts.sort();
+ kxkbOpts.sort();
+ if (serverOpts != kxkbOpts)
{
tainted |= TAINTED_XKB_OPTS;
kdWarning() << "Xkb options modified by external application!" << endl;