ports/89819: [maintainer] x11-toolkits/py-kde: patch for dcopexport 'void' bug
Danny Pansters
danny at ricin.com
Thu Dec 1 21:40:11 UTC 2005
>Number: 89819
>Category: ports
>Synopsis: [maintainer] x11-toolkits/py-kde: patch for dcopexport 'void' bug
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Thu Dec 01 21:40:10 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Danny Pansters
>Release: FreeBSD 6.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD desktop.homenet 6.0-STABLE FreeBSD 6.0-STABLE #6: Sat Nov 5 19:10:14 UTC 2005 danny at desktop.homenet:/usr/obj/usr/src/sys/DESKTOP i386
>Description:
Fix a small bug in extensions/dcopexport.py that would have (k)dcop complain
when a void method gets executed, even though execution works fine.
This fix is provided by the PyKDE author.
>How-To-Repeat:
Run the example_dcopexport.py example, then dcop, e.g:
%dcop petshop-46787 "dead parrot" setParrotType "Big Bird"
call failed
%dcop petshop-46787 "dead parrot" getParrotType
Big Bird
>Fix:
--- py-kde.diff begins here ---
diff -ruN x11-toolkits/py-kde.old/Makefile x11-toolkits/py-kde/Makefile
--- x11-toolkits/py-kde.old/Makefile Thu Dec 1 21:58:55 2005
+++ x11-toolkits/py-kde/Makefile Thu Dec 1 21:58:15 2005
@@ -7,7 +7,7 @@
PORTNAME= kde
PORTVERSION= 4.0.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-toolkits python kde
MASTER_SITES= http://www.river-bank.demon.co.uk/download/PyKDE2/ \
http://freebsd.ricin.com/ports/distfiles/
diff -ruN x11-toolkits/py-kde.old/files/patch-extensions-dcopexport.py x11-toolkits/py-kde/files/patch-extensions-dcopexport.py
--- x11-toolkits/py-kde.old/files/patch-extensions-dcopexport.py Thu Jan 1 00:00:00 1970
+++ x11-toolkits/py-kde/files/patch-extensions-dcopexport.py Thu Dec 1 22:11:18 2005
@@ -0,0 +1,28 @@
+--- extensions/dcopexport.py.orig Thu Dec 1 22:05:41 2005
++++ extensions/dcopexport.py Thu Dec 1 22:06:24 2005
+@@ -85,15 +85,16 @@
+ result = self.method.pymethod (*arglist)
+
+ # marshall the result as 'replyData'
+- s = QDataStream (replyData, IO_WriteOnly)
+- if self.method.rtype in numericTypes:
+- dcop_add (s, result, self.method.rtype)
+- elif self.method.rtype in stringTypes and isinstance (result, str):
+- dcop_add (s, eval ("%s('''%s''')" % (self.method.rtype, result)))
+- elif self.method.rtype.startswith ("QMap") or self.method.rtype.startswith ("QValueList"):
+- dcop_add (params, args [i], self.argtypes [i])
+- else:
+- dcop_add (s, result)
++ if self.method.rtype != "void":
++ s = QDataStream (replyData, IO_WriteOnly)
++ if self.method.rtype in numericTypes:
++ dcop_add (s, result, self.method.rtype)
++ elif self.method.rtype in stringTypes and isinstance (result, str):
++ dcop_add (s, eval ("%s('''%s''')" % (self.method.rtype, result)))
++ elif self.method.rtype.startswith ("QMap") or self.method.rtype.startswith ("QValueList"):
++ dcop_add (params, args [i], self.argtypes [i])
++ else:
++ dcop_add (s, result)
+
+ # use append because we want to return the replyType reference,
+ # not a new QCString
--- py-kde.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list