summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2011-09-29 14:23:46 +0000
committerMaxime Coste <frrrwww@gmail.com>2011-09-29 14:23:46 +0000
commite351acd997c0b2bf3a8026f16f6e70baa4388080 (patch)
treea2b457d9638798194dd0692e4fa4367160a8e498 /src
parent834e2d2fe3d9a67497dd34e6551e80df90c00458 (diff)
Window: fix blink_void
Diffstat (limited to 'src')
-rw-r--r--src/display_buffer.cc1
-rw-r--r--src/window.cc4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/display_buffer.cc b/src/display_buffer.cc
index 0865211a..8a8eb09e 100644
--- a/src/display_buffer.cc
+++ b/src/display_buffer.cc
@@ -12,6 +12,7 @@ DisplayBuffer::DisplayBuffer()
DisplayBuffer::iterator DisplayBuffer::split(iterator atom, size_t pos_in_atom)
{
assert(atom < end());
+ assert(pos_in_atom > 0);
assert(pos_in_atom < atom->content.length());
DisplayAtom new_atom(atom->begin, atom->begin + pos_in_atom,
atom->content.substr(0, pos_in_atom),
diff --git a/src/window.cc b/src/window.cc
index 122767ee..2ba97048 100644
--- a/src/window.cc
+++ b/src/window.cc
@@ -114,7 +114,9 @@ static void blink_void(DisplayBuffer& display_buffer)
size_t pos = atom_it->content.find("void");
if (pos != std::string::npos)
{
- atom_it = display_buffer.split(atom_it, pos) + 1;
+ if (pos != 0)
+ atom_it = display_buffer.split(atom_it, pos) + 1;
+
atom_it = display_buffer.split(atom_it, 4);
atom_it->attribute |= Attributes::Blink;
++atom_it;