Browse Source

Fix segfault on Linux due to early initialization of global var.

Utils::Misc::pythonVersion() gets called before the Logger is initialized.
adaptive-webui-19844
sledgehammer999 9 years ago
parent
commit
47d9c12f4b
  1. 13
      src/searchengine/engineselectdlg.cpp
  2. 1
      src/searchengine/engineselectdlg.h

13
src/searchengine/engineselectdlg.cpp

@ -48,9 +48,12 @@ @@ -48,9 +48,12 @@
#include <QMimeData>
enum EngineColumns {ENGINE_NAME, ENGINE_VERSION, ENGINE_URL, ENGINE_STATE, ENGINE_ID};
const QString UPDATE_URL = QString("https://raw.github.com/qbittorrent/qBittorrent/master/src/searchengine/") + (Utils::Misc::pythonVersion() >= 3 ? "nova3" : "nova") + "/engines/";
engineSelectDlg::engineSelectDlg(QWidget *parent, SupportedEngines *supported_engines) : QDialog(parent), supported_engines(supported_engines) {
engineSelectDlg::engineSelectDlg(QWidget *parent, SupportedEngines *supported_engines)
: QDialog(parent)
, supported_engines(supported_engines)
, m_updateUrl(QString("https://raw.github.com/qbittorrent/qBittorrent/master/src/searchengine/") + (Utils::Misc::pythonVersion() >= 3 ? "nova3" : "nova") + "/engines/")
{
setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
pluginsTree->setRootIsDecorated(false);
@ -107,7 +110,7 @@ void engineSelectDlg::dragEnterEvent(QDragEnterEvent *event) { @@ -107,7 +110,7 @@ void engineSelectDlg::dragEnterEvent(QDragEnterEvent *event) {
void engineSelectDlg::on_updateButton_clicked() {
// Download version file from update server on sourceforge
setCursor(QCursor(Qt::WaitCursor));
downloadFromUrl(QString(UPDATE_URL) + "versions.txt");
downloadFromUrl(m_updateUrl + "versions.txt");
}
void engineSelectDlg::toggleEngineState(QTreeWidgetItem *item, int) {
@ -394,8 +397,8 @@ bool engineSelectDlg::parseVersionsFile(QString versions_file) { @@ -394,8 +397,8 @@ bool engineSelectDlg::parseVersionsFile(QString versions_file) {
qDebug("Plugin: %s is outdated", qPrintable(plugin_name));
// Downloading update
setCursor(QCursor(Qt::WaitCursor));
downloadFromUrl(UPDATE_URL + plugin_name + ".py");
//downloadFromUrl(UPDATE_URL + plugin_name + ".png");
downloadFromUrl(m_updateUrl + plugin_name + ".py");
//downloadFromUrl(m_updateUrl + plugin_name + ".png");
updated = true;
}else {
qDebug("Plugin: %s is up to date", qPrintable(plugin_name));

1
src/searchengine/engineselectdlg.h

@ -45,6 +45,7 @@ class engineSelectDlg : public QDialog, public Ui::engineSelect{ @@ -45,6 +45,7 @@ class engineSelectDlg : public QDialog, public Ui::engineSelect{
void downloadFromUrl(const QString &url);
SupportedEngines *supported_engines;
const QString m_updateUrl;
public:
engineSelectDlg(QWidget *parent, SupportedEngines *supported_engines);

Loading…
Cancel
Save