From patchwork Sun Aug 18 17:27:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 34165 Received: (qmail 77698 invoked by alias); 18 Aug 2019 17:27:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 77388 invoked by uid 89); 18 Aug 2019 17:27:44 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=differ, sk:tui_che X-HELO: gateway20.websitewelcome.com Received: from gateway20.websitewelcome.com (HELO gateway20.websitewelcome.com) (192.185.4.169) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 18 Aug 2019 17:27:41 +0000 Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway20.websitewelcome.com (Postfix) with ESMTP id 29F24400C5253 for ; Sun, 18 Aug 2019 11:23:10 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id zOxvhHyiz2qH7zOxvhGag3; Sun, 18 Aug 2019 12:27:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ev/TVFcCbLpOh/jZU1xBGMpRi/uoTyhbNsYmnAY+4BM=; b=nOKn4ydvbpeO7u7kLl0RHfO9vh DiNzfKGjfke9plIJN9e/3cb7r6eQ8eJSBov2M0xdDEs+PLlG2FKF0s9QpDSnNv1bJ7td7aV8qRZhx 5rWmK2O5ucr4YhuMnCctpg+va; Received: from 97-122-178-82.hlrn.qwest.net ([97.122.178.82]:44512 helo=bapiya.Home) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1hzOxv-002aYY-P5; Sun, 18 Aug 2019 12:27:39 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 07/14] Change tui_check_register_values to be a method Date: Sun, 18 Aug 2019 11:27:28 -0600 Message-Id: <20190818172735.17477-8-tom@tromey.com> In-Reply-To: <20190818172735.17477-1-tom@tromey.com> References: <20190818172735.17477-1-tom@tromey.com> This changes tui_check_register_values to be a method on tui_data_window. An additional check in tui_register_changed is needed, because TUI_DATA_WIN could be NULL at this point. gdb/ChangeLog 2019-08-18 Tom Tromey * tui/tui-regs.h (struct tui_data_window) : Declare. (tui_check_register_values): Don't declare. * tui/tui-regs.c (tui_data_window::check_register_values): Rename from tui_check_register_values. * tui/tui-hooks.c (tui_register_changed): Update. --- gdb/ChangeLog | 9 +++++++++ gdb/tui/tui-hooks.c | 7 +++++-- gdb/tui/tui-regs.c | 29 ++++++++++++----------------- gdb/tui/tui-regs.h | 3 ++- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c index 5cc90dd3b6c..2555da7f1ae 100644 --- a/gdb/tui/tui-hooks.c +++ b/gdb/tui/tui-hooks.c @@ -71,6 +71,9 @@ tui_register_changed (struct frame_info *frame, int regno) { struct frame_info *fi; + if (!tui_is_window_visible (DATA_WIN)) + return; + /* The frame of the register that was changed may differ from the selected frame, but we only want to show the register values of the selected frame. And even if the frames differ a register change made in one can still show @@ -80,7 +83,7 @@ tui_register_changed (struct frame_info *frame, int regno) if (tui_refreshing_registers == 0) { tui_refreshing_registers = 1; - tui_check_register_values (fi); + TUI_DATA_WIN->check_register_values (fi); tui_refreshing_registers = 0; } } @@ -152,7 +155,7 @@ tui_refresh_frame_and_register_information (int registers_too_p) && (frame_info_changed_p || registers_too_p)) { tui_refreshing_registers = 1; - tui_check_register_values (fi); + TUI_DATA_WIN->check_register_values (fi); tui_refreshing_registers = 0; } } diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c index 147f57a13a2..cd343edc314 100644 --- a/gdb/tui/tui-regs.c +++ b/gdb/tui/tui-regs.c @@ -555,29 +555,24 @@ tui_data_window::refresh_window () given a particular frame. If the values have changed, they are updated with the new value and highlighted. */ void -tui_check_register_values (struct frame_info *frame) +tui_data_window::check_register_values (struct frame_info *frame) { - if (TUI_DATA_WIN != NULL - && TUI_DATA_WIN->is_visible ()) + if (regs_content.empty () && display_regs) + tui_show_registers (current_group); + else { - if (TUI_DATA_WIN->regs_content.empty () - && TUI_DATA_WIN->display_regs) - tui_show_registers (TUI_DATA_WIN->current_group); - else + for (auto &&data_item_win_ptr : regs_content) { - for (auto &&data_item_win_ptr : TUI_DATA_WIN->regs_content) - { - int was_hilighted; + int was_hilighted; - was_hilighted = data_item_win_ptr->highlight; + was_hilighted = data_item_win_ptr->highlight; - tui_get_register (frame, data_item_win_ptr.get (), - data_item_win_ptr->item_no, - &data_item_win_ptr->highlight); + tui_get_register (frame, data_item_win_ptr.get (), + data_item_win_ptr->item_no, + &data_item_win_ptr->highlight); - if (data_item_win_ptr->highlight || was_hilighted) - tui_display_register (data_item_win_ptr.get ()); - } + if (data_item_win_ptr->highlight || was_hilighted) + tui_display_register (data_item_win_ptr.get ()); } } } diff --git a/gdb/tui/tui-regs.h b/gdb/tui/tui-regs.h index b70d8df3620..01c2ea6dad4 100644 --- a/gdb/tui/tui-regs.h +++ b/gdb/tui/tui-regs.h @@ -100,6 +100,8 @@ struct tui_data_window : public tui_win_info started from. If nothing is displayed (-1) is returned. */ int display_registers_from_line (int line_no); + void check_register_values (struct frame_info *frame); + protected: void do_scroll_vertical (int num_to_scroll) override; @@ -120,7 +122,6 @@ protected: void rerender () override; }; -extern void tui_check_register_values (struct frame_info *); extern void tui_show_registers (struct reggroup *group); #endif /* TUI_TUI_REGS_H */