X11: Fix map expose area
The stop_row and stop_col were off-by-one in some cases, leaving black lines on the map when a window on top was closed. Simplify the calculation by always going one row/col further, ensuring previously covered area gets redrawn for sure. This should not affect speed or resource usage noticeably these days.
This commit is contained in:
@@ -1414,6 +1414,7 @@ Unix: can define NOSUSPEND in config.h or src/Makefile's CFLAGS to prevent
|
||||
X11: implement 'selectsaved', restore via menu of saved games
|
||||
X11: echo getline prompt and response (wishes, applying names) to message
|
||||
window and dumplog message history
|
||||
X11: fix map expose area, no longer leaving black bars on the map
|
||||
|
||||
|
||||
NetHack Community Patches (or Variation) Included
|
||||
|
||||
@@ -1199,12 +1199,10 @@ map_exposed(Widget w, XtPointer client_data, /* unused */
|
||||
t_width = map_info->text_map.square_width;
|
||||
}
|
||||
start_row = y / t_height;
|
||||
stop_row = ((y + height) / t_height)
|
||||
+ ((((y + height) % t_height) == 0) ? 0 : 1) - 1;
|
||||
stop_row = ((y + height) / t_height) + 1;
|
||||
|
||||
start_col = x / t_width;
|
||||
stop_col = ((x + width) / t_width)
|
||||
+ ((((x + width) % t_width) == 0) ? 0 : 1) - 1;
|
||||
stop_col = ((x + width) / t_width) + 1;
|
||||
|
||||
#ifdef VERBOSE
|
||||
printf("map_exposed: x = %d, y = %d, width = %d, height = %d\n", x, y,
|
||||
|
||||
Reference in New Issue
Block a user