summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorValentin Popa <valentin.popa@intel.com>2013-07-03 11:31:44 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-07-05 15:52:48 +0100
commitdc86293f0444384e8ae5131fdd10b6cb077164b0 (patch)
treeeda13190537941768c9f6446865af22c5e4dd8ba /bitbake
parent1defbaf8b7339accc2660858f890bd36e325bff9 (diff)
downloadpoky-dc86293f0444384e8ae5131fdd10b6cb077164b0.tar.gz
bitbake: HOB:Proper handle of SIGINT
Modal dialogs doesn't run on the main loop so they cannot catch any signal from the terminal. This patch makes sure the dialogs are destroyed when a SIGINT is sent to HOB. [YOCTO #3329] (Bitbake rev: 6eee0cc37438cc3f91531b7df524330fba27161b) Signed-off-by: Valentin Popa <valentin.popa@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/builder.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index 8571014afc..a7bd21c923 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -30,6 +30,7 @@ import shlex
30import re 30import re
31import logging 31import logging
32import sys 32import sys
33import signal
33from bb.ui.crumbs.imageconfigurationpage import ImageConfigurationPage 34from bb.ui.crumbs.imageconfigurationpage import ImageConfigurationPage
34from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage 35from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage
35from bb.ui.crumbs.packageselectionpage import PackageSelectionPage 36from bb.ui.crumbs.packageselectionpage import PackageSelectionPage
@@ -441,6 +442,8 @@ class Builder(gtk.Window):
441 442
442 self.initiate_new_build_async() 443 self.initiate_new_build_async()
443 444
445 signal.signal(signal.SIGINT, self.event_handle_SIGINT)
446
444 def create_visual_elements(self): 447 def create_visual_elements(self):
445 self.set_title("Hob") 448 self.set_title("Hob")
446 self.set_icon_name("applications-development") 449 self.set_icon_name("applications-development")
@@ -1075,6 +1078,12 @@ class Builder(gtk.Window):
1075 else: 1078 else:
1076 gtk.main_quit() 1079 gtk.main_quit()
1077 1080
1081 def event_handle_SIGINT(self, signal, frame):
1082 for w in gtk.window_list_toplevels():
1083 if w.get_modal():
1084 w.response(gtk.RESPONSE_DELETE_EVENT)
1085 sys.exit(0)
1086
1078 def build_packages(self): 1087 def build_packages(self):
1079 _, all_recipes = self.recipe_model.get_selected_recipes() 1088 _, all_recipes = self.recipe_model.get_selected_recipes()
1080 if not all_recipes: 1089 if not all_recipes: