diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kconfig_compiler/kconfig_compiler.cpp | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp index c648d7d0..054dbd4d 100644 --- a/src/kconfig_compiler/kconfig_compiler.cpp +++ b/src/kconfig_compiler/kconfig_compiler.cpp @@ -2344,7 +2344,7 @@ int main(int argc, char **argv)          cpp << "}" << endl << endl;          if (cfgFileNameArg) { -            auto instance = [&cfg, &cpp] (const QString &type, const QString &arg, bool wrap) { +            auto instance = [&cfg, &cpp] (const QString &type, const QString &arg, bool isString) {                  cpp << "void " << cfg.className << "::instance(" << type << " " << arg << ")" << endl;                  cpp << "{" << endl;                  cpp << "  if (s_global" << cfg.className << "()->q) {" << endl; @@ -2352,10 +2352,10 @@ int main(int argc, char **argv)                  cpp << "     return;" << endl;                  cpp << "  }" << endl;                  cpp << "  new " << cfg.className << "("; -                if (wrap) { +                if (isString) {                      cpp << "KSharedConfig::openConfig(" << arg << ")";                  } else { -                    cpp << arg; +                    cpp << "std::move(" << arg << ")";                  }                  cpp << ");" << endl;                  cpp << "  s_global" << cfg.className << "()->q->read();" << endl; @@ -2402,7 +2402,11 @@ int main(int argc, char **argv)          cpp << " QStringLiteral( \"" << cfgFileName << "\" ";      }      if (cfgFileNameArg) { -        cpp << " config "; +        if (! cfg.forceStringFilename) { +            cpp << " std::move( config ) "; +        } else { +            cpp << " config "; +        }      }      if (!cfgFileName.isEmpty()) {          cpp << ") "; | 
