diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/bar.c | 7 | ||||
-rw-r--r-- | src/group.c | 4 |
3 files changed, 13 insertions, 3 deletions
@@ -1,5 +1,10 @@ 2003-06-02 Shawn Betts <sabetts@sfu.ca> + * src/group.c (groups_merge): don't merge a group with itself. + + * src/bar.c (draw_mark): abort if mark_end is the beginning of the + line or the start and end of the mark is the same. + * src/actions.c (group_completions): use a group's number if it has no name. @@ -397,9 +397,6 @@ get_mark_box (char *msg, int mark_start, int mark_end, int start_line_beginning; int end_line_beginning; - if (mark_end == 0) - return; - /* If the mark_end is on a new line or the end of the string, then back it up one character. */ if (msg[mark_end-1] == '\n' || mark_end == strlen (msg)) @@ -480,6 +477,10 @@ draw_mark (rp_screen *s, char *msg, int mark_start, int mark_end) { int x, y, width, height; + /* when this happens, there is no mark. */ + if (mark_end == 0 || mark_start == mark_end) + return; + get_mark_box (msg, mark_start, mark_end, &x, &y, &width, &height); draw_inverse_box (s, x, y, width, height); diff --git a/src/group.c b/src/group.c index 80ab89e..38b0fd3 100644 --- a/src/group.c +++ b/src/group.c @@ -443,6 +443,10 @@ groups_merge (rp_group *from, rp_group *to) rp_window_elem *cur; struct list_head *iter, *tmp; + /* Merging a group with itself makes no sense. */ + if (from == to) + return; + /* Move the unmapped windows. */ list_for_each_safe_entry (cur, iter, tmp, &from->unmapped_windows, node) { |