From 1d886f5ac74a9b874107ccfdff275ff44c6d2bc7 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Tue, 27 Dec 2022 23:45:14 +0200 Subject: [PATCH 22/22] gtk: Fix dead 'bg' assignment in create_tech_tree() See osdn #45687 Signed-off-by: Marko Lindqvist --- client/gui-gtk-3.0/helpdlg.c | 29 +++++++++++++++++------------ client/gui-gtk-3.22/helpdlg.c | 27 ++++++++++++++++----------- client/gui-gtk-4.0/helpdlg.c | 27 ++++++++++++++++----------- 3 files changed, 49 insertions(+), 34 deletions(-) diff --git a/client/gui-gtk-3.0/helpdlg.c b/client/gui-gtk-3.0/helpdlg.c index 57caf62f51..dc05dea150 100644 --- a/client/gui-gtk-3.0/helpdlg.c +++ b/client/gui-gtk-3.0/helpdlg.c @@ -202,9 +202,10 @@ static void create_tech_tree(int tech, int levels, GtkTreeIter *parent) bool original; GtkTreeIter l; GValue value = { 0, }; + enum tech_state state; if (advance_required(tech, AR_ONE) == A_LAST - && advance_required(tech, AR_TWO) == A_LAST) { + && advance_required(tech, AR_TWO) == A_LAST) { bg = COLOR_REQTREE_UNKNOWN; gtk_tree_store_append(tstore, &l, parent); @@ -225,17 +226,21 @@ static void create_tech_tree(int tech, int levels, GtkTreeIter *parent) presearch = research_get(client_player()); - bg = COLOR_REQTREE_BACKGROUND; - switch (research_invention_state(presearch, tech)) { - case TECH_UNKNOWN: - bg = COLOR_REQTREE_UNKNOWN; - break; - case TECH_KNOWN: - bg = COLOR_REQTREE_KNOWN; - break; - case TECH_PREREQS_KNOWN: - bg = COLOR_REQTREE_PREREQS_KNOWN; - break; + state = research_invention_state(presearch, tech); + if (tech_state_is_valid(state)) { + switch (state) { + case TECH_UNKNOWN: + bg = COLOR_REQTREE_UNKNOWN; + break; + case TECH_KNOWN: + bg = COLOR_REQTREE_KNOWN; + break; + case TECH_PREREQS_KNOWN: + bg = COLOR_REQTREE_PREREQS_KNOWN; + break; + } + } else { + bg = COLOR_REQTREE_BACKGROUND; } turns_to_tech = research_goal_unknown_techs(presearch, tech); diff --git a/client/gui-gtk-3.22/helpdlg.c b/client/gui-gtk-3.22/helpdlg.c index 67713136ef..ef0338bbf1 100644 --- a/client/gui-gtk-3.22/helpdlg.c +++ b/client/gui-gtk-3.22/helpdlg.c @@ -202,6 +202,7 @@ static void create_tech_tree(int tech, int levels, GtkTreeIter *parent) bool original; GtkTreeIter l; GValue value = { 0, }; + enum tech_state state; if (advance_required(tech, AR_ONE) == A_LAST && advance_required(tech, AR_TWO) == A_LAST) { @@ -225,17 +226,21 @@ static void create_tech_tree(int tech, int levels, GtkTreeIter *parent) presearch = research_get(client_player()); - bg = COLOR_REQTREE_BACKGROUND; - switch (research_invention_state(presearch, tech)) { - case TECH_UNKNOWN: - bg = COLOR_REQTREE_UNKNOWN; - break; - case TECH_KNOWN: - bg = COLOR_REQTREE_KNOWN; - break; - case TECH_PREREQS_KNOWN: - bg = COLOR_REQTREE_PREREQS_KNOWN; - break; + state = research_invention_state(presearch, tech); + if (tech_state_is_valid(state)) { + switch (state) { + case TECH_UNKNOWN: + bg = COLOR_REQTREE_UNKNOWN; + break; + case TECH_KNOWN: + bg = COLOR_REQTREE_KNOWN; + break; + case TECH_PREREQS_KNOWN: + bg = COLOR_REQTREE_PREREQS_KNOWN; + break; + } + } else { + bg = COLOR_REQTREE_BACKGROUND; } turns_to_tech = research_goal_unknown_techs(presearch, tech); diff --git a/client/gui-gtk-4.0/helpdlg.c b/client/gui-gtk-4.0/helpdlg.c index 372aeb981c..2fb1e10788 100644 --- a/client/gui-gtk-4.0/helpdlg.c +++ b/client/gui-gtk-4.0/helpdlg.c @@ -201,6 +201,7 @@ static void create_tech_tree(int tech, int levels, GtkTreeIter *parent) bool original; GtkTreeIter l; GValue value = { 0, }; + enum tech_state state; if (advance_required(tech, AR_ONE) == A_LAST && advance_required(tech, AR_TWO) == A_LAST) { @@ -224,17 +225,21 @@ static void create_tech_tree(int tech, int levels, GtkTreeIter *parent) presearch = research_get(client_player()); - bg = COLOR_REQTREE_BACKGROUND; - switch (research_invention_state(presearch, tech)) { - case TECH_UNKNOWN: - bg = COLOR_REQTREE_UNKNOWN; - break; - case TECH_KNOWN: - bg = COLOR_REQTREE_KNOWN; - break; - case TECH_PREREQS_KNOWN: - bg = COLOR_REQTREE_PREREQS_KNOWN; - break; + state = research_invention_state(presearch, tech); + if (tech_state_is_valid(state)) { + switch (state) { + case TECH_UNKNOWN: + bg = COLOR_REQTREE_UNKNOWN; + break; + case TECH_KNOWN: + bg = COLOR_REQTREE_KNOWN; + break; + case TECH_PREREQS_KNOWN: + bg = COLOR_REQTREE_PREREQS_KNOWN; + break; + } + } else { + bg = COLOR_REQTREE_BACKGROUND; } turns_to_tech = research_goal_unknown_techs(presearch, tech); -- 2.35.1