[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