fixed loading of base64-encoded data being generated via Qt3-version of QDataStream-class

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@617 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2007-11-27 11:42:41 +00:00
parent c8d3b94440
commit c9aa1ab4eb
4 changed files with 19 additions and 5 deletions

View File

@@ -1,3 +1,11 @@
2007-11-27 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* include/plugin.h:
* include/base64.h:
* src/lib/base64.cpp:
fixed loading of base64-encoded data being generated via Qt3-version
of QDataStream-class
2007-11-27 Javier Serrano Polo <jasp00/at/terra/dot/es>
* include/main_window.h:

View File

@@ -29,8 +29,7 @@
#include <QtCore/QByteArray>
#include <QtCore/QString>
class QVariant;
#include <QtCore/QVariant>
namespace base64
@@ -49,7 +48,8 @@ namespace base64
memcpy( *_data, data.constData(), *_size );
}
QString encode( const QVariant & _data );
QVariant decode( const QString & _b64 );
QVariant decode( const QString & _b64,
QVariant::Type _force_type = QVariant::Invalid );
} ;

View File

@@ -91,7 +91,7 @@ public:
desc( NULL )
{
const QList<QVariant> l =
base64::decode( _dump_data ).
base64::decode( _dump_data, QVariant::List ).
toList();
if( l.empty() )
{

View File

@@ -52,7 +52,7 @@ QString encode( const QVariant & _data )
QVariant decode( const QString & _b64 )
QVariant decode( const QString & _b64, QVariant::Type _force_type )
{
char * dst = NULL;
int dsize = 0;
@@ -63,6 +63,12 @@ QVariant decode( const QString & _b64 )
QDataStream in( &buf );
QVariant ret;
in >> ret;
if( _force_type != QVariant::Invalid && ret.type() != _force_type )
{
buf.reset();
in.setVersion( QDataStream::Qt_3_3 );
in >> ret;
}
return( ret );
}