mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Fix drawing of ACS characters (they need to go character-at-a-time),
accidentally broken in last commit.
This commit is contained in:
		
							
								
								
									
										14
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								tty.c
									
									
									
									
									
								
							@@ -977,17 +977,23 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (gcp->flags & GRID_FLAG_SELECTED)
 | 
							if (gcp->flags & GRID_FLAG_SELECTED)
 | 
				
			||||||
			screen_select_cell(s, &last, &gc);
 | 
								screen_select_cell(s, &last, gcp);
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			memcpy(&last, &gc, sizeof last);
 | 
								memcpy(&last, gcp, sizeof last);
 | 
				
			||||||
		if (ux + gcp->data.width > screen_size_x(s))
 | 
							if (ux + gcp->data.width > screen_size_x(s)) {
 | 
				
			||||||
 | 
								tty_attributes(tty, &last, wp);
 | 
				
			||||||
			for (j = 0; j < gcp->data.width; j++) {
 | 
								for (j = 0; j < gcp->data.width; j++) {
 | 
				
			||||||
				if (ux + j > screen_size_x(s))
 | 
									if (ux + j > screen_size_x(s))
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
				tty_putc(tty, ' ');
 | 
									tty_putc(tty, ' ');
 | 
				
			||||||
				ux++;
 | 
									ux++;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		else {
 | 
							} else if (gcp->attr & GRID_ATTR_CHARSET) {
 | 
				
			||||||
 | 
								tty_attributes(tty, &last, wp);
 | 
				
			||||||
 | 
								for (j = 0; j < gcp->data.size; j++)
 | 
				
			||||||
 | 
									tty_putc(tty, gcp->data.data[j]);
 | 
				
			||||||
 | 
								ux += gc.data.width;
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
			memcpy(buf + len, gcp->data.data, gcp->data.size);
 | 
								memcpy(buf + len, gcp->data.data, gcp->data.size);
 | 
				
			||||||
			len += gcp->data.size;
 | 
								len += gcp->data.size;
 | 
				
			||||||
			width += gcp->data.width;
 | 
								width += gcp->data.width;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user