Plz check if self.text.size != 0 before deleting a char. Dunno how getsubstr() reacts when arg2 < arg1