|
2 | 2 |
|
3 | 3 | #include "compressed_archive.h"
|
4 | 4 | #include "extract_delegate.h"
|
| 5 | +#include "yacreader_global.h" |
5 | 6 |
|
6 | 7 | #include <QLibrary>
|
7 | 8 | #include <QFileInfo>
|
@@ -78,7 +79,7 @@ const unsigned char tar[6] = "ustar";
|
78 | 79 | const unsigned char arj[2] = { static_cast<unsigned char>(0x60), static_cast<unsigned char>(0xEA) };
|
79 | 80 |
|
80 | 81 | CompressedArchive::CompressedArchive(const QString &filePath, QObject *parent)
|
81 |
| - : QObject(parent), sevenzLib(0), valid(false), tools(false) |
| 82 | + : QObject(parent), sevenzLib(nullptr), tools(false), valid(false) |
82 | 83 | {
|
83 | 84 | szInterface = new SevenZipInterface;
|
84 | 85 | // load functions
|
@@ -174,18 +175,10 @@ CompressedArchive::~CompressedArchive()
|
174 | 175 | bool CompressedArchive::loadFunctions()
|
175 | 176 | {
|
176 | 177 | // LOAD library
|
177 |
| - if (sevenzLib == 0) { |
178 |
| -#if defined Q_OS_UNIX && !defined Q_OS_MACOS |
179 |
| - QFileInfo sevenzlibrary(QString(LIBDIR) + "/yacreader/7z.so"); |
180 |
| - if (sevenzlibrary.exists()) { |
181 |
| - sevenzLib = new QLibrary(sevenzlibrary.absoluteFilePath()); |
182 |
| - } else { |
183 |
| - sevenzLib = new QLibrary(QString(LIBDIR) + "/7zip/7z.so"); |
184 |
| - } |
185 |
| -#else |
186 |
| - sevenzLib = new QLibrary(QCoreApplication::applicationDirPath() + "/utils/7z"); |
187 |
| -#endif |
| 178 | + if (sevenzLib == nullptr) { |
| 179 | + sevenzLib = YACReader::load7zLibrary(); |
188 | 180 | }
|
| 181 | + |
189 | 182 | if (!sevenzLib->load()) {
|
190 | 183 | qDebug() << "Error Loading 7z.dll : " + sevenzLib->errorString() << Qt::endl;
|
191 | 184 | QCoreApplication::exit(700); // TODO yacreader_global can't be used here, it is GUI dependant, YACReader::SevenZNotFound
|
|
0 commit comments