From: Richard Dale Date: 2005-11-01T10:52:09+09:00 Subject: Re: qtruby problems now on linux Hans Fugal wrote: > Another update: this has also been reported as a bug on the debian > libqt0-ruby1.8 package: > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=335876 which I did not > realize was the same bug at first, until I had done my puts test. > > I'm going to send a link to this discussion to that debian bug and > carry on there. I've never had an error where the second puts in this code is never executed, as described in the bug report: require 'Qt' class ConfigDatabase < Qt::Dialog def initialize(*k) puts("init in CD") super(*k) puts("after Qt::Dialog's init") end end $app = Qt::Application.new(ARGV) cd = ConfigDatabase.new In the QtRuby constructor code, it throws an exception after getting part of the way through constructing the instance, and tries again. This means that the first puts will actually get executed twice. Normally this doesn't matter as there isn't any code before the super call in the initialize() method. QtRuby used to callcc() to jump out of the constructor, instead of using an exception. It looks to me as though that change has somehow got messed up in the debian version. -- Richard