<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,4 +24,5 @@ $wizard.add Shop
 $wizard.add Warehouse
 $wizard.add About
 $wizard.add Credits
-$wizard.go_to PlayerLoader
\ No newline at end of file
+$wizard.go_to PlayerLoader
+$wizard.maintain_active_display!
\ No newline at end of file</diff>
      <filename>bakery</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 &lt;plist version=&quot;1.0&quot;&gt;
 &lt;dict&gt;
 	&lt;key&gt;currentDocument&lt;/key&gt;
-	&lt;string&gt;bakery&lt;/string&gt;
+	&lt;string&gt;src/bakery_wizard.rb&lt;/string&gt;
 	&lt;key&gt;documents&lt;/key&gt;
 	&lt;array&gt;
 		&lt;dict&gt;
@@ -13,8 +13,6 @@
 			&lt;string&gt;bakery&lt;/string&gt;
 			&lt;key&gt;regexFolderFilter&lt;/key&gt;
 			&lt;string&gt;!.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$&lt;/string&gt;
-			&lt;key&gt;selected&lt;/key&gt;
-			&lt;true/&gt;
 			&lt;key&gt;sourceDirectory&lt;/key&gt;
 			&lt;string&gt;&lt;/string&gt;
 		&lt;/dict&gt;
@@ -28,9 +26,9 @@
 			&lt;key&gt;caret&lt;/key&gt;
 			&lt;dict&gt;
 				&lt;key&gt;column&lt;/key&gt;
-				&lt;integer&gt;23&lt;/integer&gt;
+				&lt;integer&gt;0&lt;/integer&gt;
 				&lt;key&gt;line&lt;/key&gt;
-				&lt;integer&gt;7&lt;/integer&gt;
+				&lt;integer&gt;16&lt;/integer&gt;
 			&lt;/dict&gt;
 			&lt;key&gt;firstVisibleColumn&lt;/key&gt;
 			&lt;integer&gt;0&lt;/integer&gt;
@@ -116,14 +114,14 @@
 			&lt;key&gt;caret&lt;/key&gt;
 			&lt;dict&gt;
 				&lt;key&gt;column&lt;/key&gt;
-				&lt;integer&gt;12&lt;/integer&gt;
+				&lt;integer&gt;31&lt;/integer&gt;
 				&lt;key&gt;line&lt;/key&gt;
 				&lt;integer&gt;116&lt;/integer&gt;
 			&lt;/dict&gt;
 			&lt;key&gt;firstVisibleColumn&lt;/key&gt;
 			&lt;integer&gt;0&lt;/integer&gt;
 			&lt;key&gt;firstVisibleLine&lt;/key&gt;
-			&lt;integer&gt;74&lt;/integer&gt;
+			&lt;integer&gt;76&lt;/integer&gt;
 		&lt;/dict&gt;
 		&lt;key&gt;src/common/text_field.rb&lt;/key&gt;
 		&lt;dict&gt;
@@ -199,6 +197,36 @@
 			&lt;key&gt;firstVisibleLine&lt;/key&gt;
 			&lt;integer&gt;0&lt;/integer&gt;
 		&lt;/dict&gt;
+		&lt;key&gt;src/customer.rb&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;caret&lt;/key&gt;
+			&lt;dict&gt;
+				&lt;key&gt;column&lt;/key&gt;
+				&lt;integer&gt;7&lt;/integer&gt;
+				&lt;key&gt;line&lt;/key&gt;
+				&lt;integer&gt;122&lt;/integer&gt;
+			&lt;/dict&gt;
+			&lt;key&gt;columnSelection&lt;/key&gt;
+			&lt;false/&gt;
+			&lt;key&gt;firstVisibleColumn&lt;/key&gt;
+			&lt;integer&gt;0&lt;/integer&gt;
+			&lt;key&gt;firstVisibleLine&lt;/key&gt;
+			&lt;integer&gt;0&lt;/integer&gt;
+			&lt;key&gt;selectFrom&lt;/key&gt;
+			&lt;dict&gt;
+				&lt;key&gt;column&lt;/key&gt;
+				&lt;integer&gt;5&lt;/integer&gt;
+				&lt;key&gt;line&lt;/key&gt;
+				&lt;integer&gt;122&lt;/integer&gt;
+			&lt;/dict&gt;
+			&lt;key&gt;selectTo&lt;/key&gt;
+			&lt;dict&gt;
+				&lt;key&gt;column&lt;/key&gt;
+				&lt;integer&gt;9&lt;/integer&gt;
+				&lt;key&gt;line&lt;/key&gt;
+				&lt;integer&gt;122&lt;/integer&gt;
+			&lt;/dict&gt;
+		&lt;/dict&gt;
 		&lt;key&gt;src/decorator.rb&lt;/key&gt;
 		&lt;dict&gt;
 			&lt;key&gt;caret&lt;/key&gt;
@@ -313,6 +341,20 @@
 			&lt;key&gt;firstVisibleLine&lt;/key&gt;
 			&lt;integer&gt;0&lt;/integer&gt;
 		&lt;/dict&gt;
+		&lt;key&gt;src/welcome_menu.rb&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;caret&lt;/key&gt;
+			&lt;dict&gt;
+				&lt;key&gt;column&lt;/key&gt;
+				&lt;integer&gt;0&lt;/integer&gt;
+				&lt;key&gt;line&lt;/key&gt;
+				&lt;integer&gt;0&lt;/integer&gt;
+			&lt;/dict&gt;
+			&lt;key&gt;firstVisibleColumn&lt;/key&gt;
+			&lt;integer&gt;0&lt;/integer&gt;
+			&lt;key&gt;firstVisibleLine&lt;/key&gt;
+			&lt;integer&gt;0&lt;/integer&gt;
+		&lt;/dict&gt;
 		&lt;key&gt;src/zorder.rb&lt;/key&gt;
 		&lt;dict&gt;
 			&lt;key&gt;caret&lt;/key&gt;
@@ -364,7 +406,7 @@
 				&lt;key&gt;column&lt;/key&gt;
 				&lt;integer&gt;0&lt;/integer&gt;
 				&lt;key&gt;line&lt;/key&gt;
-				&lt;integer&gt;7&lt;/integer&gt;
+				&lt;integer&gt;0&lt;/integer&gt;
 			&lt;/dict&gt;
 			&lt;key&gt;firstVisibleColumn&lt;/key&gt;
 			&lt;integer&gt;0&lt;/integer&gt;
@@ -375,7 +417,9 @@
 	&lt;key&gt;openDocuments&lt;/key&gt;
 	&lt;array&gt;
 		&lt;string&gt;bakery&lt;/string&gt;
+		&lt;string&gt;src/customer.rb&lt;/string&gt;
 		&lt;string&gt;src/bakery_wizard.rb&lt;/string&gt;
+		&lt;string&gt;src/welcome_menu.rb&lt;/string&gt;
 		&lt;string&gt;tmp/bakery.log&lt;/string&gt;
 		&lt;string&gt;src/init.rb&lt;/string&gt;
 	&lt;/array&gt;</diff>
      <filename>bakery.tmproj</filename>
    </modified>
    <modified>
      <diff>@@ -92,7 +92,7 @@ class BakeryWizard
   
   def go_to requested_screen, *args
     window_change_req = WindowChangeRequest.new(requested_screen, args)
-    @window_change_request &amp;&amp; $logger.debug(&quot;Ignoring window change request#{window_change_request}. Another request#{@window_change_request} is in progress.&quot;) &amp;&amp; return
+    @window_change_request &amp;&amp; $logger.debug(&quot;Ignoring window change request#{window_change_req}. Another request#{@window_change_request} is in progress.&quot;) &amp;&amp; return
     $logger.debug(&quot;Will try to add a new window change request#{window_change_req} NOW.&quot;)
     @window_change_in_pregress.synchronize do
       $logger.debug(&quot;Adding Window change request for #{window_change_req}&quot;)
@@ -101,19 +101,30 @@ class BakeryWizard
     Process.kill(&quot;USR1&quot;, Process.pid)
   end
   
+  def maintain_active_display!
+    loop do
+      @active_display_thread = Thread.new { @current_screen.show }
+      @active_display_thread.join
+    end
+  end
+  
   private 
   def process_window_change_req
     @window_change_in_pregress.synchronize do 
-      $logger.debug(&quot;[#{@window_change_request.inspect}] -&gt; Attempting to change screen to #{@window_change_request}&quot;)
-      @current_screen &amp;&amp; @current_screen.close
-      arguments = [@context, @window] + @window_change_request.arguments
-      @current_screen = @screens.find { |screen| screen == @window_change_request.requested_screen }.build(*arguments)
-      $logger.debug(&quot;[#{@window_change_request.inspect}] -&gt; Killing active_display_thread(if there)&quot;)
-      @active_display_thread &amp;&amp; @active_display_thread.kill
-      @active_display_thread = Thread.new { @current_screen.show }
-      @window_change_request = nil
-      $logger.debug(&quot;[#{@window_change_request}] -&gt; Changed screen to #{@window_change_request} successfully&quot;)
+      resurrect_active_display
     end
-    @active_display_thread.join
+    $logger.debug(&quot;Returning the stack(was waiting for thread #{@active_display_thread.inspect}).&quot;)
+  end
+  
+  def resurrect_active_display
+    request_id = &quot;[#{@window_change_request.inspect}] -&gt; &quot;
+    $logger.debug(&quot;#{request_id}Display resurrection initiated&quot;)
+    @current_screen &amp;&amp; @current_screen.close
+    $logger.debug(&quot;#{request_id}Existing display refresh loop stoped&quot;)
+    arguments = [@context, @window] + @window_change_request.arguments
+    @current_screen = @screens.find { |screen| screen == @window_change_request.requested_screen }.build(*arguments)
+    @active_display_thread &amp;&amp; @active_display_thread.kill
+    $logger.debug(&quot;#{request_id} Killed active display.&quot;)
+    @window_change_request = nil
   end
 end
\ No newline at end of file</diff>
      <filename>src/bakery_wizard.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cbd1a7bf5a739ac0d2b0f8d4c73460086f3fb205</id>
    </parent>
  </parents>
  <author>
    <name>Janmejay Singh</name>
    <email>singh.janmejay@gmail.com</email>
  </author>
  <url>http://github.com/janmejay/bakery/commit/a4ea3b979c1c978e05c00b2077e10d70ad19a5ea</url>
  <id>a4ea3b979c1c978e05c00b2077e10d70ad19a5ea</id>
  <committed-date>2008-12-25T07:13:04-08:00</committed-date>
  <authored-date>2008-12-25T07:13:04-08:00</authored-date>
  <message>made the display thread truly indipendent of event processing thread(worker thread)</message>
  <tree>eb78bd233cc4fcf044cdd5c11fe4f7d702fec86a</tree>
  <committer>
    <name>Janmejay Singh</name>
    <email>singh.janmejay@gmail.com</email>
  </committer>
</commit>
