lib/shoes/swt/app.rb in shoes-swt-4.0.0.pre3 vs lib/shoes/swt/app.rb in shoes-swt-4.0.0.pre4
- old
+ new
@@ -33,10 +33,14 @@
initialize_scroll_bar
@redrawing_aspect = RedrawingAspect.new self, Shoes.display
end
def open
+ # If something called quit during the app block's initial evaluation
+ # we might already be disposed of, in which case get out of here!
+ return if ::Shoes::Swt.main_app.disposed? || @shell.disposed?
+
@shell.pack
force_shell_size
@shell.open
@dsl.top_slot.contents_alignment
@started = true
@@ -229,9 +233,10 @@
end
def unregister_app
proc do |_event|
::Shoes::Swt.unregister(self)
+ ::Shoes.unregister(self.dsl.app)
end
end
def attach_real_event_listeners
@real.addMouseMoveListener MouseMoveListener.new(self)