rev 14001 - in trunk/packages/kdelibs/debian: . patches

Fathi Boudra fabo at alioth.debian.org
Fri Mar 6 07:17:50 UTC 2009


Author: fabo
Date: 2009-03-06 07:17:50 +0000 (Fri, 06 Mar 2009)
New Revision: 14001

Added:
   trunk/packages/kdelibs/debian/patches/01_kcmdlineargs_decoding_svn934640.diff
Modified:
   trunk/packages/kdelibs/debian/changelog
   trunk/packages/kdelibs/debian/patches/series
Log:
Add 01_kcmdlineargs_decoding_svn934640.diff patch from upstream
to fix kcmdlineargs input decoding with Qt 4.5. (Closes: #518062)


Modified: trunk/packages/kdelibs/debian/changelog
===================================================================
--- trunk/packages/kdelibs/debian/changelog	2009-03-06 00:39:57 UTC (rev 14000)
+++ trunk/packages/kdelibs/debian/changelog	2009-03-06 07:17:50 UTC (rev 14001)
@@ -1,3 +1,12 @@
+kde4libs (4:4.2.1-2) UNRELEASED; urgency=low
+
+  +++ Changes by Fathi Boudra:
+
+  * Add 01_kcmdlineargs_decoding_svn934640.diff patch from upstream
+    to fix kcmdlineargs input decoding with Qt 4.5. (Closes: #518062)
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Fri, 06 Mar 2009 08:13:34 +0100
+
 kde4libs (4:4.2.1-1) experimental; urgency=low
 
   * New upstream release.

Added: trunk/packages/kdelibs/debian/patches/01_kcmdlineargs_decoding_svn934640.diff
===================================================================
--- trunk/packages/kdelibs/debian/patches/01_kcmdlineargs_decoding_svn934640.diff	                        (rev 0)
+++ trunk/packages/kdelibs/debian/patches/01_kcmdlineargs_decoding_svn934640.diff	2009-03-06 07:17:50 UTC (rev 14001)
@@ -0,0 +1,652 @@
+--- a/kdecore/kernel/kcmdlineargs.cpp
++++ b/kdecore/kernel/kcmdlineargs.cpp
+@@ -83,13 +83,13 @@
+ // Helper classes
+ //
+ 
+-class KCmdLineParsedOptions : public QHash<QString,QString>
++class KCmdLineParsedOptions : public QHash<QByteArray,QByteArray>
+ {
+ public:
+    KCmdLineParsedOptions() { }
+ };
+ 
+-class KCmdLineParsedArgs : public QList<QString>
++class KCmdLineParsedArgs : public QList<QByteArray>
+ {
+ public:
+    KCmdLineParsedArgs() { }
+@@ -112,7 +112,7 @@ public:
+ 
+ class KCmdLineOptionsPrivate {
+     public:
+-    QStringList names;
++    QList<QByteArray> names;
+     QList<KLocalizedString> descriptions;
+     QStringList defaults;
+ };
+@@ -143,7 +143,7 @@ KCmdLineOptions &KCmdLineOptions::add (c
+                                        const KLocalizedString &description,
+                                        const QByteArray &defaultValue)
+ {
+-    d->names.append(QString::fromUtf8(name));
++    d->names.append(name);
+     d->descriptions.append(description);
+     d->defaults.append(QString::fromUtf8(defaultValue));
+     return *this;
+@@ -171,7 +171,7 @@ class KCmdLineArgsStatic {
+     char **argv; // The original argv
+     bool parsed : 1; // Whether we have parsed the arguments since calling init
+     bool ignoreUnknown : 1; // Ignore unknown options and arguments
+-    QString mCwd; // Current working directory. Important for KUnqiueApp!
++    QByteArray mCwd; // Current working directory. Important for KUnqiueApp!
+     KCmdLineArgs::StdCmdLineArgs mStdargs;
+ 
+     KCmdLineOptions qt_options;
+@@ -220,15 +220,15 @@ class KCmdLineArgsStatic {
+      *
+      *  +4 - no more options follow         // !fork
+      */
+-    static int findOption(const KCmdLineOptions &options, QString &opt,
+-                          QString &opt_name, QString &def, bool &enabled);
++    static int findOption(const KCmdLineOptions &options, QByteArray &opt,
++                          QByteArray &opt_name, QString &def, bool &enabled);
+ 
+     /**
+      * @internal
+      *
+      * Checks what to do with a single option
+      */
+-    static void findOption(const QString &optv, const QString &_opt,
++    static void findOption(const QByteArray &optv, const QByteArray &_opt,
+                            int &i, bool _enabled, bool &moreOptions);
+ 
+     /**
+@@ -246,7 +246,7 @@ class KCmdLineArgsStatic {
+      *
+      * @param id The name of the options to be removed.
+      */
+-    static void removeArgs(const QString &id);
++    static void removeArgs(const QByteArray &id);
+ };
+ 
+ K_GLOBAL_STATIC(KCmdLineArgsStatic, s)
+@@ -336,7 +336,7 @@ class KCmdLineArgsPrivate
+ {
+     friend class KCmdLineArgsStatic;
+ public:
+-    KCmdLineArgsPrivate(const KCmdLineOptions &_options, const KLocalizedString &_name, const QString &_id)
++    KCmdLineArgsPrivate(const KCmdLineOptions &_options, const KLocalizedString &_name, const QByteArray &_id)
+         : options(_options)
+         , name(_name)
+         , id(_id)
+@@ -351,7 +351,7 @@ public:
+     }
+     const KCmdLineOptions options;
+     const KLocalizedString name;
+-    const QString id;
++    const QByteArray id;
+     KCmdLineParsedOptions *parsedOptionList;
+     KCmdLineParsedArgs *parsedArgList;
+     bool isQt;
+@@ -361,21 +361,21 @@ public:
+      *
+      *  Set a boolean option
+      */
+-    void setOption(const QString &option, bool enabled);
++    void setOption(const QByteArray &option, bool enabled);
+ 
+     /**
+      * @internal
+      *
+      *  Set a string option
+      */
+-    void setOption(const QString &option, const QString &value);
++    void setOption(const QByteArray &option, const QByteArray &value);
+ 
+     /**
+      * @internal
+      *
+      * Add an argument
+      */
+-    void addArgument(const QString &argument);
++    void addArgument(const QByteArray &argument);
+ 
+     /**
+      * @internal
+@@ -469,13 +469,13 @@ KCmdLineArgs::init(int _argc, char **_ar
+ 
+    s->about = _about;
+    s->parsed = false;
+-   s->mCwd = QDir::currentPath();
++   s->mCwd = QDir::currentPath().toLocal8Bit(); //currentPath() uses fromLocal8Bit internally apparently
+    addStdCmdLineOptions(stdargs);
+ }
+ 
+ QString KCmdLineArgs::cwd()
+ {
+-   return s->mCwd;
++   return QString::fromLocal8Bit(s->mCwd);
+ }
+ 
+ QString KCmdLineArgs::appName()
+@@ -499,14 +499,11 @@ void KCmdLineArgs::addStdCmdLineOptions(
+ 
+ void
+ KCmdLineArgs::addCmdLineOptions( const KCmdLineOptions &options, const KLocalizedString &name,
+-         const QByteArray &_id, const QByteArray &_afterId)
++         const QByteArray &id, const QByteArray &afterId)
+ {
+    if (!s->argsList)
+       s->argsList = new KCmdLineArgsList;
+ 
+-   QString id = QString::fromUtf8(_id);
+-   QString afterId = QString::fromUtf8(_afterId);
+-
+    int pos = s->argsList->count();
+    // To make sure that the named options come before unnamed.
+    if (pos > 0 && !id.isEmpty() && s->argsList->last()->d->name.isEmpty())
+@@ -527,7 +524,7 @@ KCmdLineArgs::addCmdLineOptions( const K
+ 
+    Q_ASSERT( s->parsed == false ); // You must add _ALL_ cmd line options
+                                    // before accessing the arguments!
+-   s->argsList->insert(pos, new KCmdLineArgs(options, name, id.toUtf8()));
++   s->argsList->insert(pos, new KCmdLineArgs(options, name, id));
+ }
+ 
+ void
+@@ -540,8 +537,7 @@ KCmdLineArgs::saveAppArgs( QDataStream &
+    s->removeArgs("qt");
+    s->removeArgs("kde");
+ 
+-   QByteArray qCwd = QFile::encodeName(s->mCwd);
+-   ds << qCwd;
++   ds << s->mCwd;
+ 
+    uint count = s->argsList ? s->argsList->count() : 0;
+    ds << count;
+@@ -579,16 +575,15 @@ KCmdLineArgs::loadAppArgs( QDataStream &
+    QByteArray qCwd;
+    ds >> qCwd;
+ 
+-   s->mCwd = QFile::decodeName(qCwd); //FIXME: Is this proper decoding?
++   s->mCwd = qCwd;
+ 
+    uint count;
+    ds >> count;
+ 
+    while(count--)
+    {
+-     QByteArray idRaw;
+-     ds >> idRaw;
+-     QString id = idRaw;  //FIXME: What about decoding?
++     QByteArray id;
++     ds >> id;
+      Q_ASSERT( s->argsList );
+      for(args = s->argsList->begin(); args != s->argsList->end(); ++args)
+      {
+@@ -602,9 +597,8 @@ KCmdLineArgs::loadAppArgs( QDataStream &
+    s->parsed = true;
+ }
+ 
+-KCmdLineArgs *KCmdLineArgs::parsedArgs(const QByteArray &_id)
++KCmdLineArgs *KCmdLineArgs::parsedArgs(const QByteArray &id)
+ {
+-   QString id = QString::fromUtf8(_id);
+    if (!s->argsList)
+       return 0;
+    KCmdLineArgsList::Iterator args = s->argsList->begin();
+@@ -622,7 +616,7 @@ KCmdLineArgs *KCmdLineArgs::parsedArgs(c
+    return 0;
+ }
+ 
+-void KCmdLineArgsStatic::removeArgs(const QString &id)
++void KCmdLineArgsStatic::removeArgs(const QByteArray &id)
+ {
+    if (!s->argsList)
+       return;
+@@ -646,8 +640,8 @@ void KCmdLineArgsStatic::removeArgs(cons
+ }
+ 
+ int
+-KCmdLineArgsStatic::findOption(const KCmdLineOptions &options, QString &opt,
+-                               QString &opt_name, QString &def, bool &enabled)
++KCmdLineArgsStatic::findOption(const KCmdLineOptions &options, QByteArray &opt,
++                               QByteArray &opt_name, QString &def, bool &enabled)
+ {
+    int result;
+    bool inverse;
+@@ -686,7 +680,7 @@ KCmdLineArgsStatic::findOption(const KCm
+                i++;
+                if (i >= options.d->names.size())
+                   return result+0;
+-               QString nextOption = options.d->names[i];
++               QByteArray nextOption = options.d->names[i];
+                int p = nextOption.indexOf(' ');
+                if (p > 0)
+                   nextOption = nextOption.left(p);
+@@ -717,14 +711,14 @@ KCmdLineArgsStatic::findOption(const KCm
+ }
+ 
+ void
+-KCmdLineArgsStatic::findOption(const QString &optv, const QString &_opt,
++KCmdLineArgsStatic::findOption(const QByteArray &optv, const QByteArray &_opt,
+                                int &i, bool _enabled, bool &moreOptions)
+ {
+    KCmdLineArgsList::Iterator args = s->argsList->begin();
+-   QString opt = _opt;
+-   QString opt_name;
++   QByteArray opt = _opt;
++   QByteArray opt_name;
+    QString def;
+-   QString argument;
++   QByteArray argument;
+    int j = opt.indexOf('=');
+    if (j != -1)
+    {
+@@ -753,7 +747,7 @@ KCmdLineArgsStatic::findOption(const QSt
+       int p = 1;
+       while (true)
+       {
+-         QString singleCharOption = " ";
++         QByteArray singleCharOption = " ";
+          singleCharOption[0] = optv[p];
+          args = s->argsList->begin();
+          while (args != s->argsList->end())
+@@ -800,7 +794,7 @@ KCmdLineArgsStatic::findOption(const QSt
+ 			return;
+ #endif
+       KCmdLineArgs::enable_i18n();
+-      KCmdLineArgs::usageError( i18n("Unknown option '%1'.", _opt));
++      KCmdLineArgs::usageError( i18n("Unknown option '%1'.", QString::fromLocal8Bit(_opt)));
+    }
+ 
+    if ((result & 4) != 0)
+@@ -820,7 +814,7 @@ KCmdLineArgsStatic::findOption(const QSt
+ 				return;
+ #endif
+          KCmdLineArgs::enable_i18n();
+-         KCmdLineArgs::usageError( i18n("Unknown option '%1'.", _opt));
++         KCmdLineArgs::usageError( i18n("Unknown option '%1'.", QString::fromLocal8Bit(_opt)));
+       }
+       if (argument.isEmpty())
+       {
+@@ -828,9 +822,9 @@ KCmdLineArgsStatic::findOption(const QSt
+          if (i >= s->argc)
+          {
+             KCmdLineArgs::enable_i18n();
+-            KCmdLineArgs::usageError( i18nc("@info:shell %1 is cmdoption name","'%1' missing.",  opt_name));
++            KCmdLineArgs::usageError( i18nc("@info:shell %1 is cmdoption name","'%1' missing.",  QString::fromLocal8Bit(opt_name)));
+          }
+-         argument = s->decodeInput(s->argv[i]);
++         argument = s->argv[i];
+       }
+       (*args)->d->setOption(opt, argument);
+    }
+@@ -849,16 +843,10 @@ KCmdLineArgsStatic::parseAllArgs()
+    KCmdLineArgs *appOptions = s->argsList->last();
+    if (appOptions->d->id.isEmpty())
+    {
+-     const KCmdLineOptions &option = appOptions->d->options;
+-     for (int i = 0; i < option.d->names.size(); i++)
++     foreach(const QByteArray& name, appOptions->d->options.d->names)
+      {
+-       if (option.d->names[i].startsWith('+'))
+-           allowArgs = true;
+-       if ( option.d->names[i].startsWith("!+") )
+-       {
+-           allowArgs = true;
+-           everythingAfterArgIsArgs = true;
+-       }
++       everythingAfterArgIsArgs = everythingAfterArgIsArgs || name.startsWith("!+");
++       allowArgs = allowArgs || name.startsWith('+') || everythingAfterArgIsArgs;
+      }
+    }
+    for(int i = 1; i < s->argc; i++)
+@@ -869,8 +857,8 @@ KCmdLineArgsStatic::parseAllArgs()
+       if ((s->argv[i][0] == '-') && s->argv[i][1] && inOptions)
+       {
+          bool enabled = true;
+-         QString orig = decodeInput(s->argv[i]);
+-         QString option = orig.mid(1);
++         QByteArray orig = s->argv[i];
++         QByteArray option = orig.mid(1);
+          if (option.startsWith('-'))
+          {
+             option = option.mid(1);
+@@ -887,7 +875,7 @@ KCmdLineArgsStatic::parseAllArgs()
+          }
+          else if (option.startsWith("help-"))
+          {
+-            KCmdLineArgs::usage(option.mid(5).toUtf8());
++            KCmdLineArgs::usage(option.mid(5));
+          }
+          else if ((option == "version") || (option == "v"))
+          {
+@@ -924,9 +912,8 @@ KCmdLineArgsStatic::parseAllArgs()
+          {
+            if (s->about->bugAddress().isEmpty() || s->about->bugAddress() == "submit at bugs.kde.org" )
+              s->printQ( i18n( "Please use http://bugs.kde.org to report bugs.\n" ) );
+-           else {
++           else
+              s->printQ( i18n( "Please report bugs to %1.\n" , s->about->bugAddress()) );
+-           }
+          }
+          else
+          {
+@@ -955,7 +942,7 @@ KCmdLineArgsStatic::parseAllArgs()
+          }
+          else
+          {
+-            appOptions->d->addArgument(s->decodeInput(s->argv[i]));
++            appOptions->d->addArgument(s->argv[i]);
+             if (everythingAfterArgIsArgs)
+                 inOptions = false;
+          }
+@@ -1009,7 +996,7 @@ KCmdLineArgs::qtArgv()
+    if (!(s->mStdargs & KCmdLineArgs::CmdLineArgQt))
+    {
+      s_qt_argv = new char*[2];
+-     s_qt_argv[0] = qstrdup(s->encodeOutput(appName()));
++     s_qt_argv[0] = qstrdup(s->argc?s->argv[0]:"");
+      s_qt_argv[1] = 0;
+ 
+      return s_qt_argv;
+@@ -1026,12 +1013,13 @@ KCmdLineArgs::qtArgv()
+       exit(255);
+    }
+ 
+-   s_qt_argv = new char*[ args->count() + 2 ];
+-   s_qt_argv[0] = qstrdup(s->encodeOutput(appName()));
++   int count=args->count();
++   s_qt_argv = new char*[ count + 2 ];
++   s_qt_argv[0] = qstrdup(s->argc?s->argv[0]:"");
+    int i = 0;
+-   for(; i < args->count(); i++)
++   for(; i < count; i++)
+    {
+-      s_qt_argv[i+1] = qstrdup(s->encodeOutput(args->arg(i)));
++      s_qt_argv[i+1] = qstrdup(args->d->parsedArgList->at(i));
+    }
+    s_qt_argv[i+1] = 0;
+ 
+@@ -1110,7 +1098,7 @@ KCmdLineArgs::usage(const QByteArray &id
+      const KCmdLineOptions &option = appOptions->d->options;
+      for (int i = 0; i < option.d->names.size(); i++)
+      {
+-       QString opt_name = option.d->names[i];
++       QByteArray opt_name = option.d->names[i];
+        if (opt_name.startsWith('+'))
+           usage = usage + (opt_name.mid(1)) + ' ';
+        else if ( opt_name.startsWith("!+") )
+@@ -1129,7 +1117,7 @@ KCmdLineArgs::usage(const QByteArray &id
+    {
+       if (!(*args)->d->name.isEmpty() && !(*args)->d->id.isEmpty())
+       {
+-         QString option = QString("--help-%1").arg((*args)->d->id);
++         QString option = QString("--help-%1").arg(QString::fromLatin1((*args)->d->id));
+          QString desc = i18n("Show %1 specific options", (*args)->d->name.toString());
+ 
+          s->printQ(optionFormatString.arg(option, -25).arg(desc));
+@@ -1169,7 +1157,7 @@ KCmdLineArgs::usage(const QByteArray &id
+      while (args != s->argsList->end())
+      {
+        const KCmdLineOptions &option = (*args)->d->options;
+-       QString opt;
++       QByteArray opt;
+ 
+        for (int i = 0; i < option.d->names.size(); i++)
+        {
+@@ -1214,7 +1202,7 @@ KCmdLineArgs::usage(const QByteArray &id
+             description = dl.first();
+             dl.erase( dl.begin() );
+          }
+-         QString name = option.d->names[i];
++         QByteArray name = option.d->names[i];
+          if (name.startsWith('!'))
+              name = name.mid(1);
+ 
+@@ -1229,7 +1217,7 @@ KCmdLineArgs::usage(const QByteArray &id
+             name = name.mid(1);
+             if (name.startsWith('[') && name.endsWith(']'))
+                 name = name.mid(1, name.length()-2);
+-            s->printQ(optionFormatString.arg(name, -25).arg(description));
++            s->printQ(optionFormatString.arg(QString::fromLocal8Bit(name), -25).arg(description));
+          }
+          else
+          {
+@@ -1259,7 +1247,7 @@ KCmdLineArgs::usage(const QByteArray &id
+                   s->printQ(optionFormatStringDef.arg(QString( opt ), -25)
+                             .arg(description, option.d->defaults[i]));
+                }
+-               opt = "";
++               opt.clear();
+             }
+          }
+          for(QStringList::Iterator it = dl.begin();
+@@ -1309,24 +1297,21 @@ KCmdLineArgs::~KCmdLineArgs()
+ void
+ KCmdLineArgs::setCwd( const QByteArray &cwd )
+ {
+-    s->mCwd = QString::fromUtf8(cwd);
++    s->mCwd = cwd;
+ }
+ 
+ void
+ KCmdLineArgs::clear()
+ {
+-   delete d->parsedArgList;
+-   d->parsedArgList = 0;
+-   delete d->parsedOptionList;
+-   d->parsedOptionList = 0;
++   delete d->parsedArgList;     d->parsedArgList = 0;
++   delete d->parsedOptionList;  d->parsedOptionList = 0;
+ }
+ 
+ void
+ KCmdLineArgs::reset()
+ {
+    if ( s->argsList ) {
+-      delete s->argsList;
+-      s->argsList = 0;
++      delete s->argsList; s->argsList = 0;
+    }
+    s->parsed = false;
+ }
+@@ -1356,23 +1341,21 @@ KCmdLineArgsPrivate::load( QDataStream &
+ 
+    if (parsedOptionList->count() == 0)
+    {
+-      delete parsedOptionList;
+-      parsedOptionList = 0;
++      delete parsedOptionList;  parsedOptionList = 0;
+    }
+    if (parsedArgList->count() == 0)
+    {
+-      delete parsedArgList;
+-      parsedArgList = 0;
++      delete parsedArgList;     parsedArgList = 0;
+    }
+ }
+ 
+ void
+-KCmdLineArgsPrivate::setOption(const QString &opt, bool enabled)
++KCmdLineArgsPrivate::setOption(const QByteArray &opt, bool enabled)
+ {
+    if (isQt)
+    {
+       // Qt does it own parsing.
+-      QString argString = "-";
++      QByteArray argString = "-";
+       if( !enabled )
+           argString += "no";
+       argString += opt;
+@@ -1383,18 +1366,18 @@ KCmdLineArgsPrivate::setOption(const QSt
+    }
+ 
+    if (enabled)
+-      parsedOptionList->insert( opt, QString::fromUtf8("t") );
++      parsedOptionList->insert( opt, "t" );
+    else
+-      parsedOptionList->insert( opt, QString::fromUtf8("f") );
++      parsedOptionList->insert( opt, "f" );
+ }
+ 
+ void
+-KCmdLineArgsPrivate::setOption(const QString &opt, const QString &value)
++KCmdLineArgsPrivate::setOption(const QByteArray &opt, const QByteArray &value)
+ {
+    if (isQt)
+    {
+       // Qt does it's own parsing.
+-      QString argString = "-";
++      QByteArray argString = "-";
+       argString += opt;
+       addArgument(argString);
+       addArgument(value);
+@@ -1403,7 +1386,7 @@ KCmdLineArgsPrivate::setOption(const QSt
+       // Hack coming up!
+       if (argString == "-display")
+       {
+-         setenv(DISPLAY, s->encodeOutput(value).data(), true);
++         setenv(DISPLAY, value.data(), true);
+       }
+ #endif
+    }
+@@ -1417,8 +1400,8 @@ KCmdLineArgsPrivate::setOption(const QSt
+ QString
+ KCmdLineArgs::getOption(const QByteArray &_opt) const
+ {
+-   QString opt = QString::fromUtf8(_opt);
+-   QString value;
++   QByteArray opt = _opt;
++   QByteArray value;
+    if (d->parsedOptionList)
+    {
+       value = d->parsedOptionList->value(opt);
+@@ -1427,7 +1410,7 @@ KCmdLineArgs::getOption(const QByteArray
+       return value;
+ 
+    // Look up the default.
+-   QString opt_name;
++   QByteArray opt_name;
+    QString def;
+    bool dummy = true;
+    int result = s->findOption( d->options, opt, opt_name, def, dummy) & ~4;
+@@ -1436,7 +1419,7 @@ KCmdLineArgs::getOption(const QByteArray
+    {
+       fprintf(stderr, "\n\nFAILURE (KCmdLineArgs):\n");
+       fprintf(stderr, "Application requests for getOption(\"%s\") but the \"%s\" option\n",
+-                      s->encodeOutput(opt).data(), s->encodeOutput(opt).data());
++                      opt.data(), opt.data());
+       fprintf(stderr, "has never been specified via addCmdLineOptions( ... )\n\n");
+ 
+       Q_ASSERT( 0 );
+@@ -1446,20 +1429,18 @@ KCmdLineArgs::getOption(const QByteArray
+ }
+ 
+ QStringList
+-KCmdLineArgs::getOptionList(const QByteArray &_opt) const
++KCmdLineArgs::getOptionList(const QByteArray &opt) const
+ {
+-   QString opt = QString::fromUtf8(_opt);
+-
+    QStringList result;
+    if (!d->parsedOptionList)
+       return result;
+ 
+    while(true)
+    {
+-      QString value = d->parsedOptionList->take(opt);
++      QByteArray value = d->parsedOptionList->take(opt);
+       if (value.isEmpty())
+          break;
+-      result.prepend(value);
++      result.prepend(QString::fromLocal8Bit(value));
+    }
+ 
+    // Reinsert items in dictionary
+@@ -1469,7 +1450,7 @@ KCmdLineArgs::getOptionList(const QByteA
+    // So taking them out and then putting them back is the only way.
+    Q_FOREACH(const QString &str, result)
+    {
+-      d->parsedOptionList->insertMulti(opt, str);
++      d->parsedOptionList->insertMulti(opt, str.toLocal8Bit());
+    }
+    return result;
+ }
+@@ -1478,8 +1459,8 @@ bool
+ KCmdLineArgs::isSet(const QByteArray &_opt) const
+ {
+    // Look up the default.
+-   QString opt = QString::fromUtf8(_opt);
+-   QString opt_name;
++   QByteArray opt = _opt;
++   QByteArray opt_name;
+    QString def;
+    int result = 0;
+    KCmdLineArgsList::Iterator args = s->argsList->begin();
+@@ -1495,14 +1476,14 @@ KCmdLineArgs::isSet(const QByteArray &_o
+    {
+       fprintf(stderr, "\n\nFAILURE (KCmdLineArgs):\n");
+       fprintf(stderr, "Application requests for isSet(\"%s\") but the \"%s\" option\n",
+-                      s->encodeOutput(opt).data(), s->encodeOutput(opt).data());
++                      opt.data(), opt.data());
+       fprintf(stderr, "has never been specified via addCmdLineOptions( ... )\n\n");
+ 
+       Q_ASSERT( 0 );
+       exit(255);
+    }
+ 
+-   QString value;
++   QByteArray value;
+    if (d->parsedOptionList)
+    {
+       value = d->parsedOptionList->value(opt);
+@@ -1513,7 +1494,7 @@ KCmdLineArgs::isSet(const QByteArray &_o
+       if (result == 3)
+          return true;
+       else
+-         return (value[0] == 't');
++         return (value.at(0) == 't');
+    }
+ 
+    if (result == 3)
+@@ -1527,9 +1508,7 @@ KCmdLineArgs::isSet(const QByteArray &_o
+ int
+ KCmdLineArgs::count() const
+ {
+-   if (!d->parsedArgList)
+-      return 0;
+-   return d->parsedArgList->count();
++   return d->parsedArgList?d->parsedArgList->count():0;
+ }
+ 
+ QString
+@@ -1545,7 +1524,7 @@ KCmdLineArgs::arg(int n) const
+       exit(255);
+    }
+ 
+-   return d->parsedArgList->at(n);
++   return QString::fromLocal8Bit(d->parsedArgList->at(n));
+ }
+ 
+ KUrl
+@@ -1575,7 +1554,7 @@ KUrl KCmdLineArgs::makeURL(const QByteAr
+ }
+ 
+ void
+-KCmdLineArgsPrivate::addArgument(const QString &argument)
++KCmdLineArgsPrivate::addArgument(const QByteArray &argument)
+ {
+    if (!parsedArgList)
+       parsedArgList = new KCmdLineParsedArgs;
+@@ -1594,7 +1573,5 @@ KCmdLineArgs::addTempFileOption()
+ bool KCmdLineArgs::isTempFileSet()
+ {
+     KCmdLineArgs* args = KCmdLineArgs::parsedArgs( "kde-tempfile" );
+-    if ( args )
+-        return args->isSet( "tempfile" );
+-    return false;
++    return args && args->isSet( "tempfile" );
+ }

Modified: trunk/packages/kdelibs/debian/patches/series
===================================================================
--- trunk/packages/kdelibs/debian/patches/series	2009-03-06 00:39:57 UTC (rev 14000)
+++ trunk/packages/kdelibs/debian/patches/series	2009-03-06 07:17:50 UTC (rev 14001)
@@ -1,3 +1,4 @@
+01_kcmdlineargs_decoding_svn934640.diff
 08_add_debian_build_type.diff
 09_disable_debug_messages_if_not_explicitly_enabled.diff
 11_default_kde4_xdg_menu_prefix.diff




More information about the pkg-kde-commits mailing list