diff options
author | Joshua Lock <josh@linux.intel.com> | 2011-07-07 15:43:26 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-08 17:32:41 +0100 |
commit | 9c0309449666a4e24ec7d1795822f0c99c037cce (patch) | |
tree | e0b29fcfba9c6546c02e5b15c1e357d667698350 /bitbake/lib/bb/ui | |
parent | b2124617ab91acafa1078d1f42207db9489ef717 (diff) | |
download | poky-9c0309449666a4e24ec7d1795822f0c99c037cce.tar.gz |
lib/bb/hob: fix changing base image
The path is not guaranteed to always point to the same value so do not rely
on it to change the image contents. Further, when changing the base image
we should maintain user selections.
Addresses [YOCTO #1225] and fixes [YOCTO #1226]
(Bitbake rev: 737d1bc819b192b4c2caa0482bddb6921b5aac93)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui')
-rw-r--r-- | bitbake/lib/bb/ui/hob.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py index fca41e44dc..7647d2139f 100644 --- a/bitbake/lib/bb/ui/hob.py +++ b/bitbake/lib/bb/ui/hob.py | |||
@@ -50,7 +50,6 @@ class MainWindow (gtk.Window): | |||
50 | self.model = taskmodel | 50 | self.model = taskmodel |
51 | self.model.connect("tasklist-populated", self.update_model) | 51 | self.model.connect("tasklist-populated", self.update_model) |
52 | self.model.connect("image-changed", self.image_changed_string_cb) | 52 | self.model.connect("image-changed", self.image_changed_string_cb) |
53 | self.curr_image_path = None | ||
54 | self.handler = handler | 53 | self.handler = handler |
55 | self.configurator = configurator | 54 | self.configurator = configurator |
56 | self.prefs = prefs | 55 | self.prefs = prefs |
@@ -133,12 +132,13 @@ class MainWindow (gtk.Window): | |||
133 | if it: | 132 | if it: |
134 | path = model.get_path(it) | 133 | path = model.get_path(it) |
135 | # Firstly, deselect the previous image | 134 | # Firstly, deselect the previous image |
136 | if self.curr_image_path: | 135 | userp, _ = self.model.get_selected_packages() |
137 | self.toggle_package(self.curr_image_path, model) | 136 | self.model.reset() |
138 | # Now select the new image and save its path in case we | 137 | # Now select the new image and save its path in case we |
139 | # change the image later | 138 | # change the image later |
140 | self.curr_image_path = path | ||
141 | self.toggle_package(path, model, image=True) | 139 | self.toggle_package(path, model, image=True) |
140 | if len(userp): | ||
141 | self.model.set_selected_packages(userp) | ||
142 | 142 | ||
143 | def reload_triggered_cb(self, handler, image, packages): | 143 | def reload_triggered_cb(self, handler, image, packages): |
144 | if image: | 144 | if image: |
@@ -463,8 +463,8 @@ class MainWindow (gtk.Window): | |||
463 | return False | 463 | return False |
464 | 464 | ||
465 | def toggle_package(self, path, model, image=False): | 465 | def toggle_package(self, path, model, image=False): |
466 | # Warn user before removing packages | ||
467 | inc = model[path][self.model.COL_INC] | 466 | inc = model[path][self.model.COL_INC] |
467 | # Warn user before removing included packages | ||
468 | if inc: | 468 | if inc: |
469 | pn = model[path][self.model.COL_NAME] | 469 | pn = model[path][self.model.COL_NAME] |
470 | revdeps = self.model.find_reverse_depends(pn) | 470 | revdeps = self.model.find_reverse_depends(pn) |