[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    [Kde-bindings] qtruby crash
From:       "Caleb Tennis" <caleb () aei-tech ! com>
Date:       2007-03-16 11:51:51
Message-ID: 53809.192.168.2.155.1174045911.squirrel () www ! aei-tech ! com
[Download RAW message or body]

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.

_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic