summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2011-09-05 13:30:11 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-05 20:25:43 +0100
commita9325ecad889556b0043244509ed767eea363e1e (patch)
tree852153559091a4307b5827e96d98161e07dbe7e1 /bitbake
parent88852a522d032b56f528b1f041ceb2ccb8b27694 (diff)
downloadast2050-yocto-poky-a9325ecad889556b0043244509ed767eea363e1e.zip
ast2050-yocto-poky-a9325ecad889556b0043244509ed767eea363e1e.tar.gz
hob: fix segfault on second build
Some internal lists were not being cleared, resulting in incorrect program flow on the second build, causing a structure to be accessed incorrectly which resulted in a segfault. Fixes [YOCTO #1332] (Bitbake rev: 71ac7fda51ed80e9ef6d1a3bca653683893e4770) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/ui/crumbs/runningbuild.py5
-rw-r--r--bitbake/lib/bb/ui/hob.py2
2 files changed, 6 insertions, 1 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index 247ed5d..e429715 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -68,6 +68,11 @@ class RunningBuild (gobject.GObject):
self.model = RunningBuildModel()
self.sequential = sequential
+ def reset (self):
+ self.pids_to_task.clear()
+ self.tasks_to_iter.clear()
+ self.model.clear()
+
def handle_event (self, event, pbar=None):
# Handle an event from the event queue, this may result in updating
# the model and thus the UI. Or it may be to tell us that the build
diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py
index 38f8a77..84df37d 100644
--- a/bitbake/lib/bb/ui/hob.py
+++ b/bitbake/lib/bb/ui/hob.py
@@ -484,7 +484,7 @@ class MainWindow (gtk.Window):
def toggle_createview(self):
self.set_menus_sensitive(True)
- self.build.model.clear()
+ self.build.reset()
self.nb.set_current_page(0)
def build_complete_cb(self, running_build):
OpenPOWER on IntegriCloud