[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdesdk/umbrello/umbrello/clipboard
From: Tobias Koenig <tokoe () kde ! org>
Date: 2004-11-19 18:50:37
Message-ID: 20041119185037.F29A416E3E () office ! kde ! org
[Download RAW message or body]
CVS commit by tokoe:
Fixed the crash that happens when selecting an element in the diagram and
pressing Ctrl+X, Ctrl+V
QByteArray.setRawData() -> QByteArray.resize() because \
QDataStream::operator<< touches the data and that's not ok for data set \
with setRawData...
QMemArray -> QValueStack because QMemArray + std::string doesn't like each \
other it seems...
M +17 -12 idchangelog.h 1.6
M +2 -2 umldrag.cpp 1.27
--- kdesdk/umbrello/umbrello/clipboard/idchangelog.h #1.5:1.6
@@ -27,5 +27,5 @@
#include <qstring.h>
-#include <qmemarray.h>
+#include <qvaluevector.h>
#include "../umlnamespace.h"
@@ -96,21 +96,26 @@ private:
class Point {
public:
- Point(Uml::IDType x, Uml::IDType y) { m_x = x; m_y = y; }
+ Point()
+ {}
+ Point(const Uml::IDType &x, const Uml::IDType &y)
+ : m_x(x), m_y(y)
+ {}
virtual ~Point() {}
- void setX( Uml::IDType x ) { m_x = x; }
- Uml::IDType x() { return m_x; }
- void setY( Uml::IDType y ) { m_y = y; }
- Uml::IDType y() { return m_y; }
+ void setX(const Uml::IDType &x) { m_x = x; }
+ Uml::IDType x() const { return m_x; }
+ void setY(const Uml::IDType &y) { m_y = y; }
+ Uml::IDType y() const { return m_y; }
private:
Uml::IDType m_x, m_y;
};
- class PointArray : QMemArray<Point> {
+ class PointArray : QValueVector<Point> {
public:
- void setPoint( uint i, Uml::IDType x, Uml::IDType y ) {
- QMemArray<Point>::at(i) = Point(x, y);
+ void setPoint(uint i, const Uml::IDType &x, const \
Uml::IDType &y) { + Point point(x, y);
+ QValueVector<Point>::at(i) = point;
}
- Point& point( uint i ) const { return \
QMemArray<Point>::at(i); }
- uint size() const { return \
QMemArray<Point>::size(); }
- bool resize( uint size ) { return \
QMemArray<Point>::resize(size); } + const Point& point( uint \
i ) const { return QValueVector<Point>::at(i); } + uint \
size() const { return QValueVector<Point>::size(); } + \
bool resize( uint size ) { QValueVector<Point>::resize(size); return \
true; } };
PointArray m_LogArray;
--- kdesdk/umbrello/umbrello/clipboard/umldrag.cpp #1.26:1.27
@@ -103,4 +103,5 @@ void UMLDrag::setSubType(const QCString&
void UMLDrag::setEncodedData(const QByteArray& encodedData, int index) {
+ encodedData.copy();
data->enc[index] = encodedData.copy();
}
@@ -259,7 +260,6 @@ void UMLDrag::setUMLDataClip4(UMLObjectL
data->setType("image/PNG", 1);
long l_size = (pngImage.convertToImage()).numBytes();
- char* data = new char[l_size];
QByteArray clipdata;
- clipdata.setRawData(data, l_size);
+ clipdata.resize(l_size);
QDataStream clipstream(clipdata, IO_WriteOnly);
clipstream << pngImage;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic