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 import re import logging import sys +import signal from bb.ui.crumbs.imageconfigurationpage import ImageConfigurationPage from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage from bb.ui.crumbs.packageselectionpage import PackageSelectionPage @@ -441,6 +442,8 @@ class Builder(gtk.Window): self.initiate_new_build_async() + signal.signal(signal.SIGINT, self.event_handle_SIGINT) + def create_visual_elements(self): self.set_title("Hob") self.set_icon_name("applications-development") @@ -1075,6 +1078,12 @@ class Builder(gtk.Window): else: gtk.main_quit() + def event_handle_SIGINT(self, signal, frame): + for w in gtk.window_list_toplevels(): + if w.get_modal(): + w.response(gtk.RESPONSE_DELETE_EVENT) + sys.exit(0) + def build_packages(self): _, all_recipes = self.recipe_model.get_selected_recipes() if not all_recipes: