Commit ed461b06 authored by Boudewijn Rempt's avatar Boudewijn Rempt

Remove unused ShapeDeleter, unused since its inception in 2007

parent 75fcd443
......@@ -76,7 +76,6 @@ set(flake_SRCS
KoShapeLoadingContext.cpp
KoLoadingShapeUpdater.cpp
KoPathShapeLoader.cpp
ShapeDeleter_p.cpp
KoShapeStrokeModel.cpp
KoShapeStroke.cpp
KoShapeBackground.cpp
......
......@@ -42,7 +42,6 @@
#include "KoShapeLoadingContext.h"
#include "KoViewConverter.h"
#include "KoShapeStroke.h"
#include "ShapeDeleter_p.h"
#include "KoShapeShadow.h"
#include "KoClipPath.h"
#include "KoPathShape.h"
......@@ -1254,15 +1253,6 @@ void KoShape::waitUntilReady(const KoViewConverter &converter, bool asynchronous
Q_UNUSED(asynchronous);
}
void KoShape::deleteLater()
{
Q_D(KoShape);
foreach(KoShapeManager *manager, d->shapeManagers)
manager->remove(this);
d->shapeManagers.clear();
new ShapeDeleter(this);
}
bool KoShape::isEditable() const
{
Q_D(const KoShape);
......
......@@ -970,19 +970,6 @@ public:
*/
virtual void waitUntilReady(const KoViewConverter &converter, bool asynchronous = true) const;
/**
* Schedule the shape for thread-safe deletion.
* After calling this method will self-delete in the main threads event loop.
* If your code deletes a shape and your code can possibly be running in a separate thread,
* you should use this method to delete the shape.
* The reason for this is that If you delete a shape from another thread then it is
* possible the main
* thread will use it after its been removed, while painting for example.
*
* Note that in contrary to the equivalent method on QObject, you can not call this more than once.
*/
void deleteLater();
/// checks recursively if the shape or one of its parents is not visible or locked
bool isEditable() const;
......
/* This file is part of the KDE project
* Copyright (C) 2007 Thomas Zander <zander@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include "ShapeDeleter_p.h"
#include "KoShape.h"
#include <QCoreApplication>
#include <QThread>
ShapeDeleter::ShapeDeleter(KoShape *shape)
: m_shape(shape)
{
moveToThread(QCoreApplication::instance()->thread());
deleteLater();
}
ShapeDeleter::~ShapeDeleter()
{
Q_ASSERT(QThread::currentThread() == QCoreApplication::instance()->thread());
delete m_shape;
}
#include <ShapeDeleter_p.moc>
/* This file is part of the KDE project
* Copyright (C) 2007 Thomas Zander <zander@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef SHAPEDELETER_H
#define SHAPEDELETER_H
#include <QObject>
class KoShape;
/**
* Small helper class that will try to delete itself and the param shape with it.
* It will do the actual delete in the main-thread, no matter which thread it has been
* created in.
* \internal
*/
class ShapeDeleter : public QObject
{
Q_OBJECT
public:
/**
* Create a ShapeDeleter that will delete param shape
* @param shape the shape that will be deleted soon after this object is created.
*/
explicit ShapeDeleter(KoShape *shape);
~ShapeDeleter();
private:
KoShape *m_shape;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment