[gnome-games/sudoku-tube] new-cb should be able to stop network game



commit aaa816975c66a680e666a00cebe54701ebafa119
Author: Zhang Sen <zh jesse gmail com>
Date:   Sun Aug 9 20:17:29 2009 +0800

    new-cb should be able to stop network game

 gnome-sudoku/src/lib/main.py |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index 8d330f8..a8c3fb4 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -510,9 +510,11 @@ class UI (gconf_wrapper.GConfWrapper):
         """Called when we receive a tube"""
 
         def error_cb(exception):
-            print 'get puzzle error:', exception
+            logger.error('get puzzle error: %s' % exception)
+            self.new_cb()
 
         assert self._is_initiator is None
+        self._close_current_game()
         self._is_initiator = False
         self._bus = bus
         self._tube = tube
@@ -530,7 +532,6 @@ class UI (gconf_wrapper.GConfWrapper):
         logger.info("got puzzle: %s; type: %s" % (puzzle, type(puzzle)))
         puzzle = str(puzzle)
         assert len(puzzle) == 81
-        self._close_current_game()
         self._open_game(game_selector.NewOrSavedGameSelector.NEW_GAME, puzzle)
         self._init_side_view_display()
         self._negotiate_sideview(self._bus)
@@ -590,6 +591,9 @@ class UI (gconf_wrapper.GConfWrapper):
         """Close current running game
 
         Return True if game is closed, or else return False"""
+        if self._tube: # network game:
+            self._stop_network_game()
+
         if self._should_save():
             try:
                 if dialog_extras.getBoolean(



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]