Fix a bug with status in PM window on status change.
This commit is contained in:
		
							parent
							
								
									1ee858e606
								
							
						
					
					
						commit
						ced8d45a5f
					
				
					 1 changed files with 24 additions and 26 deletions
				
			
		
							
								
								
									
										50
									
								
								src/gajim.py
									
										
									
									
									
								
							
							
						
						
									
										50
									
								
								src/gajim.py
									
										
									
									
									
								
							|  | @ -1052,26 +1052,6 @@ class Interface: | |||
| 		show = array[1] | ||||
| 		status = array[2] | ||||
| 
 | ||||
| 		ctrl = self.msg_win_mgr.get_control(fjid, account) | ||||
| 
 | ||||
| 		# print status in chat window and update status/GPG image | ||||
| 		if ctrl: | ||||
| 			contact = ctrl.contact | ||||
| 			contact.show = show | ||||
| 			contact.status = status | ||||
| 			ctrl.update_ui() | ||||
| 			uf_show = helpers.get_uf_show(show) | ||||
| 			if status: | ||||
| 				ctrl.print_conversation(_('%s is now %s (%s)') % (nick, uf_show, | ||||
| 					status), 'status') | ||||
| 			else: | ||||
| 				ctrl.print_conversation(_('%s is now %s') % (nick, uf_show), | ||||
| 					'status') | ||||
| 			if ctrl.parent_win: | ||||
| 				ctrl.parent_win.redraw_tab(ctrl) | ||||
| 			if self.remote_ctrl: | ||||
| 				self.remote_ctrl.raise_signal('GCPresence', (account, array)) | ||||
| 
 | ||||
| 		# Get the window and control for the updated status, this may be a | ||||
| 		# PrivateChatControl | ||||
| 		control = self.msg_win_mgr.get_control(room_jid, account) | ||||
|  | @ -1080,15 +1060,33 @@ class Interface: | |||
| 		room_jid in self.minimized_controls[account]: | ||||
| 			control = self.minimized_controls[account][room_jid] | ||||
| 
 | ||||
| 		if not control: | ||||
| 		if control and control.type_id != message_control.TYPE_GC: | ||||
| 			return | ||||
| 		if control.type_id != message_control.TYPE_GC: | ||||
| 			return | ||||
| 		control.chg_contact_status(nick, show, status, array[4], array[5], | ||||
| 			array[6], array[7], array[8], array[9], array[10]) | ||||
| 		if not control.parent_win: | ||||
| 		if control: | ||||
| 			control.chg_contact_status(nick, show, status, array[4], array[5], | ||||
| 				array[6], array[7], array[8], array[9], array[10]) | ||||
| 		if control and not control.parent_win: | ||||
| 			gajim.interface.roster.draw_contact(room_jid, account) | ||||
| 
 | ||||
| 		ctrl = self.msg_win_mgr.get_control(fjid, account) | ||||
| 
 | ||||
| 		# print status in chat window and update status/GPG image | ||||
| 		if ctrl: | ||||
| 			contact = ctrl.contact | ||||
| 			contact.show = show | ||||
| 			contact.status = status | ||||
| 			uf_show = helpers.get_uf_show(show) | ||||
| 			if status: | ||||
| 				ctrl.print_conversation(_('%s is now %s (%s)') % (nick, uf_show, | ||||
| 					status), 'status') | ||||
| 			else: | ||||
| 				ctrl.print_conversation(_('%s is now %s') % (nick, uf_show), | ||||
| 					'status') | ||||
| 			ctrl.parent_win.redraw_tab(ctrl) | ||||
| 			ctrl.update_ui() | ||||
| 			if self.remote_ctrl: | ||||
| 				self.remote_ctrl.raise_signal('GCPresence', (account, array)) | ||||
| 
 | ||||
| 	def handle_event_gc_msg(self, account, array): | ||||
| 		# ('GC_MSG', account, (jid, msg, time, has_timestamp, htmlmsg)) | ||||
| 		jids = array[0].split('/', 1) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue