+ Get program arguments as unicode string under Windows
This commit is contained in:
parent
b7ff37e53d
commit
321063bb9c
|
@ -204,6 +204,25 @@ int main( int argc, char ** argv )
|
|||
_putenv("PYTHONPATH=");
|
||||
#endif
|
||||
|
||||
#if defined (FC_OS_WIN32)
|
||||
int argc_ = argc;
|
||||
QVector<QByteArray> data;
|
||||
QVector<char *> argv_;
|
||||
|
||||
// get the command line arguments as unicode string
|
||||
{
|
||||
QCoreApplication app(argc, argv);
|
||||
QStringList args = app.arguments();
|
||||
args.pop_front(); // remove 1st argument
|
||||
argv_.push_back(argv[0]);
|
||||
for (QStringList::iterator it = args.begin(); it != args.end(); ++it) {
|
||||
data.push_back(it->toUtf8());
|
||||
argv_.push_back(data.back().data());
|
||||
}
|
||||
argv_.push_back(0); // 0-terminated string
|
||||
}
|
||||
#endif
|
||||
|
||||
// Name and Version of the Application
|
||||
App::Application::Config()["ExeName"] = "FreeCAD";
|
||||
App::Application::Config()["ExeVendor"] = "FreeCAD";
|
||||
|
@ -226,7 +245,11 @@ int main( int argc, char ** argv )
|
|||
App::Application::Config()["RunMode"] = "Gui";
|
||||
|
||||
// Inits the Application
|
||||
App::Application::init(argc,argv);
|
||||
#if defined (FC_OS_WIN32)
|
||||
App::Application::init(argc_, argv_.data());
|
||||
#else
|
||||
App::Application::init(argc, argv);
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
// create a dump file when the application crashes
|
||||
std::string dmpfile = App::Application::getUserAppDataDir();
|
||||
|
|
Loading…
Reference in New Issue
Block a user