[PATCH] dcop broken since 31-Jul-02

Ian Reinhart Geiser geiseri at yahoo.com
Tue Aug 6 12:25:40 BST 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Umm I think this is the wong patch.
The problem is in marshall.cpp.  The i in the marshall function was no longer 
passed by reference.  I fixed this.

Melchior did you try from last nights CVS?

I thought I fixed this.

Martjin please do not apply this patch, as it should break things pretty bad 
now that I fixed marshall.cpp... Or am i misreading something?

- -ian reinhart geiser

On Tuesday 06 August 2002 04:55 am, Melchior FRANZ wrote:
> The commit from 31-Jul-02 to the dcop/client directory broke dcop. Try
> this:
>
>   $ kcontrol&
>   $ dcop kcontrol kcontrol-mainwindow#1 move 100 100
>   arguments do not match
>
> "Arguments do not match"? BS!
>
>   $ dcop kcontrol kcontrol-mainwindow#1|grep move
>   void move(int newX,int newY)
>
>
> The reason is, that the number of arguments is now not counted any more. A
> patch like the following is required to fix the bug. (I hope I haven't
> missed another instance.)
>
> m.
>
>
>
>
> Index: dcop.cpp
> ===================================================================
> RCS file: /cvs/kdelibs/dcop/client/dcop.cpp,v
> retrieving revision 1.28
> diff -u -3 -p -r1.28 dcop.cpp
> --- dcop.cpp    2002/08/01 13:00:19     1.28
> +++ dcop.cpp    2002/08/06 08:38:47
> @@ -272,7 +272,7 @@ void callFunction( const char* app, cons
>      QDataStream arg(data, IO_WriteOnly);
>
>      uint i = 0;
> -    for( QStringList::Iterator it = types.begin(); it != types.end(); ++it
> ) +    for( QStringList::Iterator it = types.begin(); it != types.end();
> ++it, i++ ) marshall( arg, args, i, *it );
>
>      if ( i != args.count() )
> Index: dcopfind.cpp
> ===================================================================
> RCS file: /cvs/kdelibs/dcop/client/dcopfind.cpp,v
> retrieving revision 1.5
> diff -u -3 -p -r1.5 dcopfind.cpp
> --- dcopfind.cpp        2002/07/31 20:19:25     1.5
> +++ dcopfind.cpp        2002/08/06 08:38:47
> @@ -127,7 +127,7 @@ bool findObject( const char* app, const
>      QDataStream arg(data, IO_WriteOnly);
>
>      int i = 0;
> -    for ( QStringList::Iterator it = types.begin(); it != types.end();
> ++it ) { +    for ( QStringList::Iterator it = types.begin(); it !=
> types.end(); ++it, i++ ) { marshall(arg, args, i, *it);
>      }
>      if ( (uint) i != args.count() ) {

- -- 
========================================
'I believe in getting into hot water; it keeps you clean."
		-- G. K. Chesterton
========================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9T7I1Py62TRm8dvgRApWuAKCC4xtpnjQl84JaI1Ktk2F86AT75wCgnGpk
0Ce9T4bqNRMwXaEdaWljPno=
=Qq+z
-----END PGP SIGNATURE-----





More information about the kde-core-devel mailing list