summaryrefslogtreecommitdiff
path: root/qt/qt-2.3.7.patch
authorzecke <zecke>2004-07-23 12:37:05 (UTC)
committer zecke <zecke>2004-07-23 12:37:05 (UTC)
commit641881607b1720e2cf013b54b0e5c2c03fcf55b9 (patch) (side-by-side diff)
tree4c956c41bf999314fdc97fed1bd20b78d6d8b6d0 /qt/qt-2.3.7.patch
parentba1d7a806d3cdc6b8b1a415c84dc7031e0f8e4b5 (diff)
downloadopie-641881607b1720e2cf013b54b0e5c2c03fcf55b9.zip
opie-641881607b1720e2cf013b54b0e5c2c03fcf55b9.tar.gz
opie-641881607b1720e2cf013b54b0e5c2c03fcf55b9.tar.bz2
Add the encoding Qt patch
Diffstat (limited to 'qt/qt-2.3.7.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.7.patch/qte237-encoding.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-encoding.patch b/qt/qt-2.3.7.patch/qte237-encoding.patch
new file mode 100644
index 0000000..c2f5c08
--- a/dev/null
+++ b/qt/qt-2.3.7.patch/qte237-encoding.patch
@@ -0,0 +1,49 @@
+German umlaute quite likely french, italian, spanish did
+not work due QFile::[decode,encode]Name did call QString
+local8Bit,fromLocal8Bit which plainly tried to use utf8
+encoding even if not useful. So a filename got changed
+and QFileInfo recognized the file not beeing present anymore...
+which lead to files not be shown.
+Also with Year-Names problem exists as the base system sent
+it encoded upstream.
+
+If you want to have UTF-8 encoding use LC_CTYPE as always and
+QTextCodec::codecForLocale will use the right UTF-8 encoding.
+
+As fallback the old behaviour was preserved
+
+
+
+
+
+
+
+--- qt-2.3.7-old/src/tools/qstring.cpp 2004-07-23 14:33:02.000000000 +0200
++++ qt-2.3.7/src/tools/qstring.cpp 2004-07-23 14:32:31.000000000 +0200
+@@ -14469,7 +14469,11 @@
+ return qt_winQString2MB( *this );
+ #endif
+ #ifdef _WS_QWS_
+- return utf8(); // ##### if there is ANY 8 bit format supported?
++ QTextCodec* codec = QTextCodec::codecForLocale();
++ return codec
++ ? codec->fromUnicode(*this)
++ : utf8();
++ //return latin1(); // ##### if there is ANY 8 bit format supported?
+ #endif
+ #endif
+ }
+@@ -14515,7 +14519,12 @@
+ return qt_winMB2QString( local8Bit );
+ #endif
+ #ifdef _WS_QWS_
+- return fromUtf8(local8Bit,len);
++ QTextCodec* codec = QTextCodec::codecForLocale();
++ if( len < 0) len = qstrlen(local8Bit);
++ return codec
++ ? codec->toUnicode(local8Bit, len)
++ : QString::fromUtf8(local8Bit,len);
++// return fromLatin1(local8Bit,len);
+ #endif
+ #endif // QT_NO_TEXTCODEC
+ }