[Bug 190464] New: QByteArray isn't saved in KConfig
Karai Csaba
cskarai at freemail.hu
Thu Apr 23 19:46:32 BST 2009
https://bugs.kde.org/show_bug.cgi?id=190464
Summary: QByteArray isn't saved in KConfig
Product: kde
Version: 4.2.2
Platform: SuSE RPMs
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: general
AssignedTo: unassigned-bugs at kde.org
ReportedBy: cskarai at freemail.hu
Version: (using KDE 4.2.2)
OS: Linux
Installed from: SuSE RPMs
Hi,
I'm a developer of Krusader, and get into a bug related to saving QByteArray in
KConfig (the problem is, that KConfig doesn't save QByteArray if it already
exists in the config file).
This code helps to reproduce the bug:
Code:
=================
#include <kconfig.h>
#include <kconfiggroup.h>
#include <QtCore/qbytearray.h>
#include <stdio.h>
#include <qapplication.h>
int main( int argc, char **argv )
{
QApplication app(argc,argv,false);
KConfig myConfig( "myconfig.rc" );
KConfigGroup group( &myConfig, "MySection" );
// 220 chars
char * mychars =
"\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
"\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x09\xa8\x01\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00\x64\x00"
"\x00\x00\x07\x00\x00\x00\x64\x00\x00\x00\x05\x00\x00\x00\x64\x00"
"\x00\x00\x03\x00\x00\x00\x64\x00\x00\x01\xcd\x00\x00\x00\x09\x01"
"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64"
"\xff\xff\xff\xff\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x09"
"\x00\x00\x00\xcf\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x30"
"\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x01"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
"\x00\x00\x00\x6c\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x01"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00";
QByteArray defArr( mychars, 220 );
printf( "Loading QByteArray...\n" );
QByteArray myByteArr = group.readEntry( "MyByteArr", defArr );
printf( "Char read: %d\n", (char)myByteArr[ 9 ] );
myByteArr[ 9 ] = (char)(myByteArr[ 9 ] + 1);
printf( "After increment: %d\n", (char)myByteArr[ 9 ] );
group.writeEntry( "MyByteArr", myByteArr );
printf( "Writing QByteArray...\n" );
}
Output:
==============================
Char read: 0
After increment: 1
Writing QByteArray...
ckarai at linux-mr5o:~/krusader_kde4_test> krusader/krusader
Loading QByteArray...
Char read: 1
After increment: 2
Writing QByteArray...
ckarai at linux-mr5o:~/krusader_kde4_test> krusader/krusader
Loading QByteArray...
Char read: 1
After increment: 2
Writing QByteArray...
ckarai at linux-mr5o:~/krusader_kde4_test> krusader/krusader
Loading QByteArray...
Char read: 1
After increment: 2
Summary:
===============
At the first time QByteArray is saved properly, but after it isn't.
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Unassigned-bugs
mailing list