diff --git a/cropeditor/cropeditor.cpp b/cropeditor/cropeditor.cpp index 4d89cd2..0edfb2f 100644 --- a/cropeditor/cropeditor.cpp +++ b/cropeditor/cropeditor.cpp @@ -26,7 +26,6 @@ CropEditor::~CropEditor() { delete scene; delete view; - delete pixmap; delete pixmapItem; } diff --git a/mainwindow.cpp b/mainwindow.cpp index a7dfe63..4a09142 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -50,8 +50,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi connect(tray, &QSystemTrayIcon::activated, this, [this](QSystemTrayIcon::ActivationReason reason) { if (reason == QSystemTrayIcon::DoubleClick) toggleVisible(); }); - connect(fullscreen, &QAction::triggered, this, &MainWindow::on_actionFullscreen_triggered); - connect(area, &QAction::triggered, this, &MainWindow::on_actionArea_triggered); + connect(fullscreen, &QAction::triggered, this, [] { screenshotter::area(); }); + connect(area, &QAction::triggered, this, [] { screenshotter::area(); }); tray->setContextMenu(menu); ui->uploaderList->setSelectionBehavior(QAbstractItemView::SelectRows); @@ -81,8 +81,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi ui->hotkeys->setSelectionMode(QListWidget::SingleSelection); - addHotkeyItem("Fullscreen image", "fullscreen", new std::function([&] { on_actionFullscreen_triggered(); })); - addHotkeyItem("Area image", "area", new std::function([&] { on_actionArea_triggered(); })); + addHotkeyItem("Fullscreen image", "fullscreen", new std::function([] { screenshotter::fullscreen(); })); + addHotkeyItem("Area image", "area", new std::function([] { screenshotter::area(); })); } MainWindow::~MainWindow() diff --git a/screenshotter.cpp b/screenshotter.cpp index b21bb69..04a2388 100644 --- a/screenshotter.cpp +++ b/screenshotter.cpp @@ -9,7 +9,10 @@ void screenshotter::area() { CropEditor *editor = new CropEditor(screenshotutil::fullscreen()); - QObject::connect(editor, &CropEditor::cropped, [&](QPixmap *pixmap) { UploaderSingleton::inst().upload(pixmap); }); + QObject::connect(editor, &CropEditor::cropped, [&](QPixmap *pixmap) { + UploaderSingleton::inst().upload(pixmap); + delete editor; + }); } void screenshotter::fullscreen() diff --git a/uploaders/uploadersingleton.cpp b/uploaders/uploadersingleton.cpp index 7350950..3f22db5 100644 --- a/uploaders/uploadersingleton.cpp +++ b/uploaders/uploadersingleton.cpp @@ -61,6 +61,7 @@ void UploaderSingleton::upload(QPixmap *pixmap) } } uploaders.value(uploader)->doUpload(pixmap); + delete pixmap; } QList UploaderSingleton::uploaderList()