<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -7,4 +7,4 @@ case &quot;$MINICOMIC_BASE_DIR&quot; in
   MINICOMIC_BASE_DIR=&quot;$PWD/$MINICOMIC_BASE_DIR&quot;
   ;;
 esac
-exec jruby -I&quot;$MINICOMIC_BASE_DIR/lib&quot; -rminicomic/ui -e 'Minicomic::UI.main(*ARGV)'
+exec jruby -d -I&quot;$MINICOMIC_BASE_DIR/lib&quot; -rminicomic/ui -e 'Minicomic::UI.main(*ARGV)'</diff>
      <filename>bin/minicomic</filename>
    </modified>
    <modified>
      <diff>@@ -23,12 +23,16 @@ class Shell &lt; Util::Observable
   def initialize(session)
     super(EventSequencer.new)
     @session = session
-    later do
+    later { setup }
+  end
+
+  def later(&amp;block)
+    super do
       begin
-        setup
+        block.call
       rescue Exception =&gt; e
-        $stderr.puts &quot;#{e.class}: #{e}\n#{e.backtrace.join(&quot;\n&quot;)}&quot;
-        @session.close
+        @session.close if @session
+        raise e
       end
     end
   end
@@ -42,6 +46,8 @@ class Shell &lt; Util::Observable
     @menubar = javax.swing.JMenuBar.new
     @frame.set_jmenu_bar @menubar
 
+    @frame.set_visible true
+
     setup_menus
   end
   private :setup
@@ -49,13 +55,8 @@ class Shell &lt; Util::Observable
   def setup_menus
     @session.request_xml_resource(&quot;forms/menus.ui&quot;).async_result! do |res|
       later do
-        begin
-          process_menus_form(res.result)
-          @frame.set_visible true
-        rescue Exception =&gt; e
-          $stderr.puts &quot;#{e.class}: #{e}\n#{e.backtrace.join(&quot;\n&quot;)}&quot;
-          @session.close
-        end
+        process_menus_form(res.result)
+        @menubar.revalidate
       end
     end
   end</diff>
      <filename>lib/minicomic/ui/shell.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>dd1ec29da98e8741dadb38726594bc5f615018b4</id>
    </parent>
  </parents>
  <author>
    <name>MenTaLguY</name>
    <email>mental@rydia.net</email>
  </author>
  <url>http://github.com/mental/minicomic/commit/7c4e4c2530af46f7e98f9aea0c837c0c8b021ddd</url>
  <id>7c4e4c2530af46f7e98f9aea0c837c0c8b021ddd</id>
  <committed-date>2008-06-26T11:50:48-07:00</committed-date>
  <authored-date>2008-06-26T11:50:48-07:00</authored-date>
  <message>clean up asynchronous UI setup</message>
  <tree>eee911122313112d5007fdc8461c546a9f212aab</tree>
  <committer>
    <name>MenTaLguY</name>
    <email>mental@rydia.net</email>
  </committer>
</commit>
