From 3873e4565fc635002d3b389346f2779cb71d90b7 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 10 Sep 2012 18:11:17 +0100 Subject: [PATCH] bitbake: hob: ensure error message text is properly escaped Our poor implementation of markup escaping was causing invalid markup, leading to the error dialog being blank. Use the glib markup escaping function provided by PyGTK+ to do this properly and avoid the blank error dialogs. Partial fix for [YOCTO #2983]. (Bitbake rev: 563ea5233a5ab1629c51e802d04280692f96c596) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/builder.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 833577f..a203a06 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py @@ -21,6 +21,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +import glib import gtk import copy import os @@ -378,15 +379,6 @@ class Builder(gtk.Window): END_NOOP : None, } - @classmethod - def interpret_markup(cls, msg): - msg = msg.replace('&', '&') - msg = msg.replace('<', '<') - msg = msg.replace('>', '>') - msg = msg.replace('"', '"') - msg = msg.replace("'", "´") - return msg - def __init__(self, hobHandler, recipe_model, package_model): super(Builder, self).__init__() @@ -783,7 +775,7 @@ class Builder(gtk.Window): def show_error_dialog(self, msg): lbl = "Error\n" - lbl = lbl + "%s\n\n" % Builder.interpret_markup(msg) + lbl = lbl + "%s\n\n" % glib.markup_escape_text(msg) dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR) button = dialog.add_button("Close", gtk.RESPONSE_OK) HobButton.style_button(button) @@ -971,7 +963,7 @@ class Builder(gtk.Window): self.build_failed() def handler_no_provider_cb(self, running_build, msg): - dialog = CrumbsMessageDialog(self, Builder.interpret_markup(msg), gtk.STOCK_DIALOG_INFO) + dialog = CrumbsMessageDialog(self, glib.markup_escape_text(msg), gtk.STOCK_DIALOG_INFO) button = dialog.add_button("Close", gtk.RESPONSE_OK) HobButton.style_button(button) dialog.run() -- 2.7.4