Package: mhc-utils
Version: 0.25.1+20050120-2.1
Severity: important
Tags: patch etch

If [CLOSE] button is pushed on a gemcal window, a segmentation
fault occurs, as follows:

----
$ gemcal
/usr/lib/ruby/1.8/mhc-gtk.rb:699:in `exit': exit
         from /usr/lib/ruby/1.8/mhc-gtk.rb:699:in `initialize'
         from /usr/bin/gemcal:566:in `call'
         from /usr/bin/gemcal:566:in `destroy'
         from /usr/bin/gemcal:566:in `initialize'
         from /usr/bin/gemcal:694:in `call'
         from /usr/bin/gemcal:694:in `main'
         from /usr/bin/gemcal:694
/usr/lib/ruby/1.8/glib2.rb:45:in `exit': exit
         from /usr/lib/ruby/1.8/glib2.rb:45:in `exit_application'
         from /usr/lib/ruby/1.8/mhc-gtk.rb:699:in `destroy'
         from /usr/bin/gemcal:566:in `initialize'
         from /usr/bin/gemcal:694:in `call'
         from /usr/bin/gemcal:694:in `main'
         from /usr/bin/gemcal:694
/usr/lib/ruby/1.8/glib2.rb:45: [BUG] Segmentation fault
ruby 1.8.5 (2006-08-25) [i486-linux]

Aborted
----

This bug affects to mhc 0.25.1+20050120-2.1 (etch) and is fixed in
0.25.1+20050120-3 (sid) with the follwing patch:

----
--- mhc-0.25.1+20050120-2.1/ruby-ext/lib/mhc-gtk.rb.in
+++ mhc-0.25.1+20050120/ruby-ext/lib/mhc-gtk.rb.in
@@ -697,7 +697,7 @@
     super(Gtk::Window::TOPLEVEL)
     signal_connect('destroy'){
       print "GtkToplevel destroyed\n" if $DEBUG
-      exit  if active_other_windows == 0
+      Gtk.main_quit  if active_other_windows == 0
     }
   end
 
@@ -726,14 +726,14 @@
 
   def hide
     print "GtkToplevel hide\n" if $DEBUG
-    exit  if active_other_windows == 0
+    Gtk.main_quit  if active_other_windows == 0
     push_position
     super
   end
 
   def hide_all
     print "GtkToplevel hide_all\n" if $DEBUG
-    exit  if active_other_windows == 0
+    Gtk.main_quit  if active_other_windows == 0
     push_position
     super
   end
@@ -758,7 +758,7 @@
 
     y = Gtk::Button .new('OK')
     y .flags |= CAN_DEFAULT
-    y .signal_connect('clicked'){exit}
+    y .signal_connect('clicked'){Gtk.main_quit}
     hbx .pack_start(y, true, true, 0)
 
     n = Gtk::Button .new('Cancel')
----

I hope this bug will be fixed in testing before etch is released.

Thanks,
--
Tatsuya Kinoshita

Attachment: pgpNsQokZS7A4.pgp
Description: PGP signature

Reply via email to