diff --git a/CHANGELOG b/CHANGELOG index 4e7817d9a..c0740089a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,10 @@ # Nmap Changelog ($Id$); -*-text-*- +o [Zenmap] Fixed a crash that could be caused by opening the About + dialog, using the window manager to close it, and opening it again. + This was reported by Yashartha Chaturvedi and Jordan Schroeder. + [David Fifield] + o [Ncat] Made test-addrset.sh exit with nonzero status if any tests fail. This in turn causes "make check" to fail if any tests fail. [Andreas Stieger] diff --git a/zenmap/zenmapGUI/MainWindow.py b/zenmap/zenmapGUI/MainWindow.py index a1df8ec66..0e5dbd648 100644 --- a/zenmap/zenmapGUI/MainWindow.py +++ b/zenmap/zenmapGUI/MainWindow.py @@ -665,10 +665,16 @@ This scan has not been run yet. Start the scan with the "Scan" button first.')) self._save_all(self.scan_interface, dir_chooser.get_filename()) dir_chooser.destroy() + def _about_cb_response(self, dialog, response_id): + if response_id == gtk.RESPONSE_DELETE_EVENT: + self._about_dialog = None + else: + self._about_dialog.hide() + def _show_about_cb(self, widget): if self._about_dialog is None: self._about_dialog = About() - self._about_dialog.connect("response", lambda dialog, response: dialog.hide()) + self._about_dialog.connect("response", self._about_cb_response) self._about_dialog.present() def _save_all(self, scan_interface, directory):