aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-09-21 09:54:25 -0600
committerTom Tromey <tom@tromey.com>2017-09-22 15:51:28 -0600
commitc2f97536b77f9d9531a1a2c37008b454eb67a82e (patch)
treeb2a8cae1169a13979b86960637d62cb40c33ddd9
parent61e3bf5f83f7e505b6bc51ef65426e5b31e6e360 (diff)
downloadgdb-c2f97536b77f9d9531a1a2c37008b454eb67a82e.zip
gdb-c2f97536b77f9d9531a1a2c37008b454eb67a82e.tar.gz
gdb-c2f97536b77f9d9531a1a2c37008b454eb67a82e.tar.bz2
Change type of scoped_input_handler::m_quit_handler
Simon pointed out that scoped_input_handler::m_quit_handler must have the correct scoped_restore_tmpl type, to avoid binding to a temporary. This patch fixes the problem. gdb/ChangeLog 2017-09-22 Tom Tromey <tom@tromey.com> * utils.c (class scoped_input_handler) <m_quit_handler>: Change type to scoped_restore_tmpl. <scoped_input_handler>: Initialize m_quit_handler directly. Reviewed-By: Pedro Alves <palves@redhat.com>
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/utils.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 54eadae..aa50dc9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2017-09-22 Tom Tromey <tom@tromey.com>
+
+ * utils.c (class scoped_input_handler) <m_quit_handler>: Change
+ type to scoped_restore_tmpl.
+ <scoped_input_handler>: Initialize m_quit_handler directly.
+
2017-09-22 Sergio Durigan Junior <sergiodj@redhat.com>
* cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
diff --git a/gdb/utils.c b/gdb/utils.c
index 9fea0f7..41ad35f 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -904,8 +904,7 @@ class scoped_input_handler
public:
scoped_input_handler ()
- : m_quit_handler (make_scoped_restore (&quit_handler,
- default_quit_handler)),
+ : m_quit_handler (&quit_handler, default_quit_handler),
m_ui (NULL)
{
target_terminal::ours ();
@@ -928,7 +927,7 @@ private:
target_terminal::scoped_restore_terminal_state m_term_state;
/* Save and restore the quit handler. */
- scoped_restore m_quit_handler;
+ scoped_restore_tmpl<quit_handler_ftype *> m_quit_handler;
/* The saved UI, if non-NULL. */
struct ui *m_ui;