Proposing as an SRU (help me if I'm doing it wrong):

===== When =====
Has an obviously safe patch.

===== Impact =====
I don't know which program available directly within Ubuntu is written in 
Ruby-GTK+, but those which do and which are using the Ruby Thread class are 
broken, and of course developing such a program is broken too.

The fix is available in ruby-gnome2 since version 0.19.2 and was
introduced through SVN revisions 3692[1] and 3694[2]. Both are within
the attachment "ruby-gnome2-gtk-thread-patch.debdiff" in comment #1.

[1] 
http://ruby-gnome2.svn.sourceforge.net/viewvc/ruby-gnome2?view=rev&revision=3692
[2] 
http://ruby-gnome2.svn.sourceforge.net/viewvc/ruby-gnome2?view=rev&revision=3694

===== Reproduce the bug =====
Here is another example for reproducing this bug:

require "gtk2"
include Gtk, GLib
# Create widgets
window = Window.new
vbox = VBox.new(false, 2)
button = Button.new("Run Thread")
progress = ProgressBar.new
# Pack widgets
window.add(vbox)
vbox.add(button)
vbox.add(progress)
# Set default window size
window.default_width = 120
window.default_height = 50
window.show_all
# Connect signals
button.signal_connect("clicked") do
        Thread.new do
                puts "Thread started!"
                progress.pulse
        end
end
window.signal_connect("destroy") { main_quit }
# Show all and run
main # start the GTK+ main loop

The test program shows a window with a button and a progress bar.
Clicking the button will execute a Ruby Thread object, and the GUI
visual elements/the GTK+ main loop will remain freezed.

The example in the bug description is supposed to print dots, and
instead it doesn't.

-- 
Multithreaded Gtk applications using Ruby bindings freeze
https://bugs.launchpad.net/bugs/514899
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to