[Kde-bindings] Method missing loop.
Han Holl
han.holl at pobox.com
Thu Jul 5 20:12:44 UTC 2007
Hi,
I got a (hobby) application that displays a collection of photographs on the
root window.
It has run for some time under Fedora Core 6, but after upgrading to Fedora 7
it stoppend working.
At first, it stopped after doing about 5 to 10 photo's (without _any_ message
whatsoever -- just stopped !) , but now, probably after the upgrade to kde
3.5.7 it stops at the first photo.
I got some warnings, sometimes an infinitely long kde traceback (the capture
wouldn't finish), and one time a ruby stack overflow.
Anyway, the following patch:
--- korundum.rb.orig 2007-07-05 21:00:45.000000000 +0200
+++ korundum.rb 2007-07-05 20:54:07.000000000 +0200
@@ -188,6 +188,10 @@
end
class DCOPRef < Qt::Base
+ def initialize(*args)
+ super
+ @functions = nil
+ end
def method_missing(*k)
# Enables DCOPRef calls to be made like this:
#
@@ -211,7 +215,7 @@
# Get the functions() for this dcop ref and
# cache method_name => full_type_signature in
a hash
- if !defined(@functions) || @functions.nil?
+ if @functions.nil?
@functions = {}
funcs = call("functions()")
if funcs.nil?
solved the problem somewhat: it would seem that somehow !defined(@functions)
triggered method_missing and so on recursively.
Why this would happen, I have no idea.(Maybe it's a symptom of something else
gone wrong.)
I'm now back at the situation that I had _just_ after the upgrade: it will
display some photo's and then stop. No message, no backtrace, no nothing.
I've tried tracing and various debugging settings like
Qt::Internal::setDebug Qt::QtDebugChannel::QTDB_VIRTUAL
Qt.debug_level = Qt::DebugLevel::High
Qt::Internal::setDebug Qt::QtDebugChannel::QTDB_GC
but nothing sheds any light on the sudden death
Any suggestion what I could try next?
(I still have a 'working' application if I do: while :; do kdepaper.rb; done
but it doesn't look nice)
Cheers
Han Holl
More information about the Kde-bindings
mailing list