diff options
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 35cbded97d..8fc1732a8e 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py | |||
@@ -156,6 +156,13 @@ class HobHandler(gobject.GObject): | |||
156 | targets.append(self.toolchain) | 156 | targets.append(self.toolchain) |
157 | self.runCommand(["buildTargets", targets, self.default_task]) | 157 | self.runCommand(["buildTargets", targets, self.default_task]) |
158 | 158 | ||
159 | def display_error(self): | ||
160 | self.clear_busy() | ||
161 | self.emit("command-failed", self.error_msg) | ||
162 | self.error_msg = "" | ||
163 | if self.building: | ||
164 | self.building = False | ||
165 | |||
159 | def handle_event(self, event): | 166 | def handle_event(self, event): |
160 | if not event: | 167 | if not event: |
161 | return | 168 | return |
@@ -178,8 +185,8 @@ class HobHandler(gobject.GObject): | |||
178 | elif isinstance(event, logging.LogRecord): | 185 | elif isinstance(event, logging.LogRecord): |
179 | if event.levelno >= logging.ERROR: | 186 | if event.levelno >= logging.ERROR: |
180 | formatter = bb.msg.BBLogFormatter() | 187 | formatter = bb.msg.BBLogFormatter() |
181 | formatter.format(event) | 188 | msg = formatter.format(event) |
182 | self.error_msg += event.message + '\n' | 189 | self.error_msg += msg + '\n' |
183 | 190 | ||
184 | elif isinstance(event, bb.event.TargetsTreeGenerated): | 191 | elif isinstance(event, bb.event.TargetsTreeGenerated): |
185 | self.current_phase = "data generation" | 192 | self.current_phase = "data generation" |
@@ -211,11 +218,7 @@ class HobHandler(gobject.GObject): | |||
211 | self.run_next_command() | 218 | self.run_next_command() |
212 | elif isinstance(event, bb.command.CommandFailed): | 219 | elif isinstance(event, bb.command.CommandFailed): |
213 | self.commands_async = [] | 220 | self.commands_async = [] |
214 | self.clear_busy() | 221 | self.display_error() |
215 | self.emit("command-failed", self.error_msg) | ||
216 | self.error_msg = "" | ||
217 | if self.building: | ||
218 | self.building = False | ||
219 | elif isinstance(event, (bb.event.ParseStarted, | 222 | elif isinstance(event, (bb.event.ParseStarted, |
220 | bb.event.CacheLoadStarted, | 223 | bb.event.CacheLoadStarted, |
221 | bb.event.TreeDataPreparationStarted, | 224 | bb.event.TreeDataPreparationStarted, |
@@ -245,6 +248,9 @@ class HobHandler(gobject.GObject): | |||
245 | message["title"] = "Parsing recipes: " | 248 | message["title"] = "Parsing recipes: " |
246 | self.emit("parsing-completed", message) | 249 | self.emit("parsing-completed", message) |
247 | 250 | ||
251 | if self.error_msg and not self.commands_async: | ||
252 | self.display_error() | ||
253 | |||
248 | return | 254 | return |
249 | 255 | ||
250 | def init_cooker(self): | 256 | def init_cooker(self): |