[Kde-bindings] qtruby crash
Caleb Tennis
caleb at aei-tech.com
Fri Mar 16 11:51:51 UTC 2007
Found an interesting bug/crash in QtRuby (Qt4). Check out this code:
-------
require 'Qt4'
class TestClass < Qt::Widget
slots 'timeoutSlot()'
def initialize(parent)
super(parent)
t = Qt::Timer.new(self)
connect(t, SIGNAL('timeout()'), self, SLOT('timeoutSlot()'))
t.start(1000)
end
def timeoutSlot
puts "Got timeout"
end
end
class TestClass2 < TestClass
def initialize(parent)
super(parent)
end
def timeoutSlot
puts "Overriding the timeout"
end
end
app = Qt::Application.new(ARGV)
tc = TestClass2.new(nil)
tc.show
app.exec
------
Notice how TestClass2 overrides 'timeoutSlot', but never declares it as a slot.
Adding a slot declaration to TestClass2 fixes the crash and the program runs like
you would expect.
More information about the Kde-bindings
mailing list