diff --git a/fmt/Bean2CoreObj_ray.cpp b/fmt/Bean2CoreObj_ray.cpp index 6eea3b1..f92628c 100644 --- a/fmt/Bean2CoreObj_ray.cpp +++ b/fmt/Bean2CoreObj_ray.cpp @@ -51,8 +51,10 @@ namespace NekoRay::fmt { if (allow_insecure || dataStore->skip_cert) tls["allowInsecure"] = true; if (!sni.trimmed().isEmpty()) tls["serverName"] = sni; if (!certificate.trimmed().isEmpty()) { + tls["disableSystemRoot"] = true; tls["certificates"] = QJsonArray{ QJsonObject{ + {"usage", "verify"}, {"certificate", QList2QJsonArray(SplitLines(certificate.trimmed()))}, }, }; diff --git a/ui/mainwindow.cpp b/ui/mainwindow.cpp index 78fb151..869e417 100644 --- a/ui/mainwindow.cpp +++ b/ui/mainwindow.cpp @@ -683,7 +683,7 @@ void MainWindow::refresh_status(const QString &traffic_update) { } setWindowTitle(make_title(false)); - if (icon_status_new != icon_status) setWindowIcon(TrayIcon::GetIcon(TrayIcon::NONE)); + if (icon_status_new != icon_status) QApplication::setWindowIcon(TrayIcon::GetIcon(TrayIcon::NONE)); if (tray != nullptr) { tray->setToolTip(make_title(true)); @@ -1055,16 +1055,19 @@ void MainWindow::display_qr_link(bool nkrFormat) { auto link_display = is_nk ? link_nk : link; l2->setPlainText(link_display); // - qrcodegen::QrCode qr = qrcodegen::QrCode::encodeText(link_display.toUtf8().data(), - qrcodegen::QrCode::Ecc::MEDIUM); - qint32 sz = qr.getSize(); - im = QImage(sz, sz, QImage::Format_RGB32); - QRgb black = qRgb(0, 0, 0); - QRgb white = qRgb(255, 255, 255); - for (int y = 0; y < sz; y++) - for (int x = 0; x < sz; x++) - im.setPixel(x, y, qr.getModule(x, y) ? black : white); - show_qr(size()); + try { + qrcodegen::QrCode qr = qrcodegen::QrCode::encodeText(link_display.toUtf8().data(), qrcodegen::QrCode::Ecc::MEDIUM); + qint32 sz = qr.getSize(); + im = QImage(sz, sz, QImage::Format_RGB32); + QRgb black = qRgb(0, 0, 0); + QRgb white = qRgb(255, 255, 255); + for (int y = 0; y < sz; y++) + for (int x = 0; x < sz; x++) + im.setPixel(x, y, qr.getModule(x, y) ? black : white); + show_qr(size()); + } catch (const std::exception &ex) { + QMessageBox::warning(nullptr, "error", ex.what()); + } } W(const QString &link_, const QString &link_nk_) {