Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activity.py15
-rw-r--r--cardtable.py3
-rw-r--r--game.py7
-rw-r--r--messenger.py14
4 files changed, 23 insertions, 16 deletions
diff --git a/activity.py b/activity.py
index f6f3186..9b15453 100644
--- a/activity.py
+++ b/activity.py
@@ -234,17 +234,14 @@ class MemorizeActivity(Activity):
_logger.debug('Joined an existing shared activity')
- self.found = 0
for buddy in self._shared_activity.get_joined_buddies():
- _logger.debug("buddy joined - _joined_cb: %s (get buddies of activity and add them to my list)", buddy.props.nick)
- self.game.add_buddy(buddy)
- if buddy == self.owner:
- self.found = 1
-
- if self.found == 0:
- _logger.debug("buddy joined - _joined_cb: Not foud myself in buddy list - will add myself at end of the list.")
- self.game.add_buddy(self.owner)
+ if buddy != self.owner:
+ _logger.debug("buddy joined - _joined_cb: %s "
+ "(get buddies of activity and add them to my list)",
+ buddy.props.nick)
+ self.game.add_buddy(buddy)
+ self.game.add_buddy(self.owner)
self.initiating = False
self._sharing_setup()
diff --git a/cardtable.py b/cardtable.py
index 608d8c5..e66437e 100644
--- a/cardtable.py
+++ b/cardtable.py
@@ -74,7 +74,8 @@ class CardTable(gtk.EventBox):
# do it once
self.set_size_request(size, size)
self._workspace_size = size
- self.load_game(None, self.data, self.cards_data)
+ if self.data:
+ self.load_game(None, self.data, self.cards_data)
def load_game(self, widget, data, grid):
self.data = data
diff --git a/game.py b/game.py
index cc70f6f..769f368 100644
--- a/game.py
+++ b/game.py
@@ -160,6 +160,10 @@ class MemorizeGame(GObject):
def buddy_message(self, buddy, text):
self.emit('msg_buddy', buddy, text)
+ def update_turn(self):
+ self.set_sensitive(self.current_player == self.myself)
+ self.emit('change-turn', self.current_player)
+
def change_turn(self):
if len(self.players) <= 1:
self.current_player = self.players[0]
@@ -170,8 +174,7 @@ class MemorizeGame(GObject):
else:
next = self.players[self.players.index(self.current_player)+1]
self.current_player = next
- self.set_sensitive(self.current_player == self.myself)
- self.emit('change-turn', self.current_player)
+ self.update_turn()
def play_sound(self, snd, sound_file):
if len(snd.split('.')) > 1:
diff --git a/messenger.py b/messenger.py
index 8ed9a20..65ce900 100644
--- a/messenger.py
+++ b/messenger.py
@@ -45,10 +45,11 @@ class Messenger(ExportedGObject):
def participant_change_cb(self, added, removed):
if not self.entered:
- self._flip_handler()
- self._change_game_handler()
- self._file_part_handler()
if self.is_initiator:
+ self._flip_handler()
+ self._change_game_handler()
+ self._file_part_handler()
+
self.player_id = self._tube.get_unique_name()
self.ordered_bus_names = [self.player_id]
self._hello_handler()
@@ -91,8 +92,13 @@ class Messenger(ExportedGObject):
self.ordered_bus_names = bus_names
self.player_id = bus_names.index(self._tube.get_unique_name())
#self.game.load_waiting_list(list)
- self.game.current_player = self.game.players[current_player]
self._change_game_receiver(data['mode'], grid, data, path)
+ self.game.current_player = self.game.players[current_player]
+ self.game.update_turn()
+
+ self._flip_handler()
+ self._change_game_handler()
+ self._file_part_handler()
# Change game method