diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-06-29 15:27:56 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-06-29 15:28:24 +0200 |
commit | f9607e3929ebb1e4af88c6a8ab742a2a40dc4459 (patch) | |
tree | 3e1cf26a1d0953d6a6755411ab5c85e0d7a316b5 | |
parent | 1dedc1c6b7d1b73c4e9fbe242bbbac2dec5340d7 (diff) | |
parent | 840002bd948a60fb0ccb3f63c5e8516d2d2f5a32 (diff) |
Merge remote-tracking branch 'origin/stable'
Change-Id: I08ac6d2ca8e5a949908746ee8e8e7708fbeae99b
-rw-r--r-- | 3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro | 4 | ||||
-rw-r--r-- | app/main.cpp | 24 | ||||
-rw-r--r-- | app/perfstdin.cpp | 3 |
3 files changed, 13 insertions, 18 deletions
diff --git a/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro b/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro index e6dd4de..d4c3cb7 100644 --- a/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro +++ b/3rdparty/elfutils/libcpu/i386_gendis/i386_gendis.pro @@ -15,10 +15,10 @@ mnemonics64.commands = make -f $$PWD/../extras.mk srcdir=$$PWD/../ x86_64.mnemon mylex.target = i386_lex.c mylex.depends = i386_parse.c -mylex.commands = lex -Pi386_ -o i386_lex.c $$PWD/../i386_lex.l +mylex.commands = flex -Pi386_ -o i386_lex.c $$PWD/../i386_lex.l myyacc.target = i386_parse.c -myyacc.commands = yacc -pi386_ -d -o i386_parse.c $$PWD/../i386_parse.y +myyacc.commands = bison -pi386_ -d -o i386_parse.c $$PWD/../i386_parse.y OTHER_FILES += \ $$PWD/../extras.mk \ diff --git a/app/main.cpp b/app/main.cpp index 0c21e0e..e50f242 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -61,8 +61,6 @@ private: int main(int argc, char *argv[]) { - int exitCode = -1; - QCoreApplication app(argc, argv); app.setApplicationName(QLatin1String("perfparser")); app.setApplicationVersion(QLatin1String("1.0")); @@ -191,7 +189,8 @@ int main(int argc, char *argv[]) if (unwind.architecture() == PerfRegisterInfo::ARCH_INVALID) { qWarning() << "No information about CPU architecture found. Cannot unwind."; - app.exit(MissingData); + qApp->exit(MissingData); + return; } QObject::connect(infile.data(), &QIODevice::readyRead, &data, &PerfData::read); @@ -199,17 +198,16 @@ int main(int argc, char *argv[]) data.read(); }); - QObject::connect(&header, &PerfHeader::error, [&]() { - app.exit(HeaderError); + QObject::connect(&header, &PerfHeader::error, []() { + qApp->exit(HeaderError); }); - QObject::connect(&data, &PerfData::finished, [&]() { - exitCode = NoError; - app.exit(NoError); + QObject::connect(&data, &PerfData::finished, []() { + qApp->exit(NoError); }); - QObject::connect(&data, &PerfData::error, [&]() { - app.exit(DataError); + QObject::connect(&data, &PerfData::error, []() { + qApp->exit(DataError); }); if (parser.isSet(host)) { @@ -221,10 +219,10 @@ int main(int argc, char *argv[]) } else { if (!infile->open(QIODevice::ReadOnly)) return CannotOpen; - header.read(); + QMetaObject::invokeMethod(&header, "read", Qt::QueuedConnection); } - return exitCode == -1 ? app.exec() : NoError; + return app.exec(); } @@ -232,7 +230,7 @@ void PerfTcpSocket::processError(QAbstractSocket::SocketError error) { if (reading) { qWarning() << "socket error" << error << errorString(); - QCoreApplication::instance()->exit(TcpSocketError); + qApp->exit(TcpSocketError); } // Otherwise ignore the error. We don't need the socket anymore } diff --git a/app/perfstdin.cpp b/app/perfstdin.cpp index 5a70976..a5d237c 100644 --- a/app/perfstdin.cpp +++ b/app/perfstdin.cpp @@ -26,9 +26,6 @@ bool PerfStdin::open(QIODevice::OpenMode mode) { if (!(mode & QIODevice::ReadOnly) || (mode & QIODevice::WriteOnly)) return false; - char cReadMode[3] = {'r', (mode & QIODevice::Text) == 0 ? 'b' : '\0', '\0'}; - if (!freopen(0, cReadMode, stdin)) - return false; return QIODevice::open(mode); } |