Skip to content

Commit

Permalink
Fix member call on null pointer in ClipboardManager
Browse files Browse the repository at this point in the history
  • Loading branch information
J5lx committed Aug 4, 2024
1 parent 7d1847e commit 6513618
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
9 changes: 6 additions & 3 deletions core_lib/src/managers/clipboardmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ GNU General Public License for more details.
#include "clipboardmanager.h"

#include <QClipboard>
#include <QGuiApplication>

#include <editor.h>

Expand All @@ -32,15 +33,17 @@ ClipboardManager::~ClipboardManager()

void ClipboardManager::setFromSystemClipboard(const QPointF& pos, const Layer* layer)
{
const QClipboard *clipboard = QGuiApplication::clipboard();

// We intentially do not call resetStates here because we can only store image changes to the clipboard
// otherwise we break pasting for vector.
// Only bitmap is supported currently...
// Only update clipboard data if it was stored by other applications
if (layer->type() != Layer::BITMAP || mClipboard->ownsClipboard()) {
if (layer->type() != Layer::BITMAP || clipboard->ownsClipboard()) {
return;
}

QImage image = mClipboard->image(QClipboard::Clipboard);
QImage image = clipboard->image(QClipboard::Clipboard);
if (!image.isNull()) {
mBitmapImage = BitmapImage(pos.toPoint()-QPoint(image.size().width()/2, image.size().height()/2), image);
}
Expand All @@ -60,7 +63,7 @@ void ClipboardManager::copyBitmapImage(BitmapImage* bitmapImage, QRectF selectio
mBitmapImage = bitmapImage->copy();
}

mClipboard->setImage(*mBitmapImage.image());
QGuiApplication::clipboard()->setImage(*mBitmapImage.image());
}

void ClipboardManager::copyVectorImage(const VectorImage* vectorImage)
Expand Down
2 changes: 0 additions & 2 deletions core_lib/src/managers/clipboardmanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ class ClipboardManager: public BaseManager
VectorImage mVectorImage;
std::map<int, KeyFrame*> mFrames;
Layer::LAYER_TYPE mFramesType = Layer::LAYER_TYPE::UNDEFINED;

QClipboard* mClipboard = nullptr;
};

#endif // CLIPBOARDMANAGER_H

0 comments on commit 6513618

Please sign in to comment.