diff --git a/debug-viewer/GstDebugViewer/Data.py b/debug-viewer/GstDebugViewer/Data.py index 1499bf8a42..796289737c 100644 --- a/debug-viewer/GstDebugViewer/Data.py +++ b/debug-viewer/GstDebugViewer/Data.py @@ -344,7 +344,7 @@ class LineCache (Producer): yield True offset = tell() - line = readline().decode('utf-8') + line = readline().decode('utf-8', errors='replace') if not line: break match = rexp_match(line) @@ -384,7 +384,7 @@ class LogLine (list): @classmethod def parse_full(cls, line_string): - match = cls._line_regex.match(line_string.decode('utf8')) + match = cls._line_regex.match(line_string.decode('utf8', errors='replace')) if match is None: # raise ValueError ("not a valid log line (%r)" % (line_string,)) groups = [0, 0, 0, 0, "", "", 0, "", "", 0] diff --git a/debug-viewer/GstDebugViewer/GUI/columns.py b/debug-viewer/GstDebugViewer/GUI/columns.py index 54679455d1..4346a6395a 100644 --- a/debug-viewer/GstDebugViewer/GUI/columns.py +++ b/debug-viewer/GstDebugViewer/GUI/columns.py @@ -346,7 +346,7 @@ class MessageColumn (TextColumn): def message_data_func(column, cell, model, tree_iter, user_data): - msg = model.get_value(tree_iter, id_).decode("utf8") + msg = model.get_value(tree_iter, id_).decode("utf8", errors="replace") if not highlighters: cell.props.text = msg diff --git a/debug-viewer/GstDebugViewer/GUI/window.py b/debug-viewer/GstDebugViewer/GUI/window.py index 6f67de667a..7701ba6418 100644 --- a/debug-viewer/GstDebugViewer/GUI/window.py +++ b/debug-viewer/GstDebugViewer/GUI/window.py @@ -690,7 +690,7 @@ class Window (object): line_text = model.access_offset(line_offset).strip() line_text = Data.strip_escape(line_text) - self.clipboard.set_text(line_text.decode('utf8'), -1) + self.clipboard.set_text(line_text.decode('utf8', errors='replace'), -1) @action def handle_edit_copy_message_action_activate(self, action):