Version: (using KDE KDE 3.4.90) Well, this apply I suppose to any personal X-Header added. The bug is that if there is a semi-colon after the X-Header: one, they are considered as delimiters and then the following header part is cutted away when KNode is reloaded after the header is entered. Example: I have this X-Face header shjjhjashj$&6-23:87987ff212fdfd I put it into Knode, it works. Next time I load Knod the header content will result as: shjjhjashj$&6-23
Ok, I found where the bug really lies. It's not a problem of parsing semi-colons but a problem while saving user inserted X-Headers. The saving routine wraps the x-header every 80 columns, and so when KNode loads it again, it reads more headers, corrupting the original one. Or maybe the problem is in line 960 of knconfig.cpp with that \n, but it shouldn't... Please give it a look
I wasn't able to reproduce this bug. Does the change in the X-Face header happen to an already created message or to what you see in the config dialog (Posting News -> Technical -> XHeaders)?
Both config dialog and new message are broken. As I said the problem is in .kde/share/apps/knode/xheaders. When you add a custom X-Header, if the header data is longer than 80 chars, it's wrapped on 2 (or more) lines. And when KNode try to read it again, it reads correctly only the first line (the others do not have the "X-$HEADERNAME" at the beginning). Hope that's more clear now...
Thanks, I understand the problem now. But still I can't reproduce this, I also haven't found anything in the code that might wrap lines at 80 chars for that file. Have you maybe touched the file with any other program, e.g. a text editor?
This is really strange...maybe could be something QT related? I'm currently using 3.3.4 but I'm quite sure I have this problem from earlier KDE 3.4.0 days (I think it was QT 3.3.2 or 3.3.3). As I said in comment #1 I took a look to the code and I don't see anything that could cause the wrapping. And no, I'm not touching it with a text editor...well, editing it it's the only workaround to the problem (joining lines manually)...but the problem rise even when no xheaders file is present. I'm really wondering what's happening there. Last side note: this problem is there for me since the first version of KNode with X-Face support, but at the time I didn't mind.
Are you pasting the X-Face value into the config dialog including newlines? Although the dialog doesn't show newlines, it still stores them (which is a bug of course).
SVN commit 521137 by vkrause: Strip newlines out of extra headers in case someone pastes them into the lineedit. CCBUG: 112357 M +4 -1 knconfigwidgets.cpp --- branches/KDE/3.5/kdepim/knode/knconfigwidgets.cpp #521136:521137 @@ -2154,7 +2154,10 @@ QString KNConfig::XHeaderConfDialog::result() { - return QString("X-%1: %2").arg(n_ame->text()).arg(v_alue->text()); + QString value = v_alue->text(); + // just in case someone pastes a newline + value.replace( '\n', ' ' ); + return QString( "X-%1: %2" ).arg( n_ame->text() ).arg( value ); }
No response from reporter, so I assume the fix worked.