Skip to content

Commit

Permalink
v1.0.20.4: Fix mismatched master/releases tree crash & disabled auto-…
Browse files Browse the repository at this point in the history
…load default artist action
  • Loading branch information
fooDayuyu@gmail.com committed Nov 6, 2023
1 parent a9c85a5 commit cd210a7
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 9 deletions.
4 changes: 3 additions & 1 deletion find_artist_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,9 @@ void CArtistList::Default_Action() {
// * CONVEY ARTIST-LIST

CFindReleaseDialog* dlg = static_cast<CFindReleaseDialog*>(m_host);
dlg->convey_artist_list_selection(updRelSrc::ArtistList);
cupdRelSrc upd(updRelSrc::ArtistList);
upd.extended = true;
dlg->convey_artist_list_selection(upd);
}

// CListControlOwnerData overrides
Expand Down
10 changes: 5 additions & 5 deletions find_release_dialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@ void CFindReleaseDialog::on_get_artist_done(cupdRelSrc updsrc, Artist_ptr& artis

m_alist.on_get_artist_done(updsrc, artist);

if (m_dctree.Get_Artist().get() && atoi(m_dctree.Get_Artist()->id) == atoi(artist->id)) {
if (m_dctree.Get_Size() && m_dctree.Get_Artist().get() && atoi(m_dctree.Get_Artist()->id) == atoi(artist->id)) {
return;
}

Expand All @@ -614,12 +614,12 @@ void CFindReleaseDialog::on_get_artist_done(cupdRelSrc updsrc, Artist_ptr& artis
cupdsrc.extended |= ol::full_cache() && conf.auto_rel_load_on_select;
}
if (cupdsrc.oninit || cupdsrc == updRelSrc::ArtistList || (!cupdsrc.oninit && cupdsrc == updRelSrc::ArtistProfile && cupdsrc.extended)) {
m_dctree.on_get_artist_done(cupdsrc, artist);

if (conf.auto_rel_load_on_open) {
if (updsrc == updRelSrc::UndefFast && m_dctree.Get_Size() && m_tracer.has_master()) {
m_dctree.on_get_artist_done(cupdsrc, artist);

m_dctree.OnInitExpand(mounted_param(m_tracer.master_i, ~0, true, false).lparam());
if (conf.auto_rel_load_on_open || cupdsrc.extended) {
if ((cupdsrc == updRelSrc::ArtistList || updsrc == updRelSrc::UndefFast) && m_dctree.Get_Size() && m_tracer.has_master()) {
m_dctree.OnInitExpand(mounted_param(m_tracer.master_i, ~0, true, false).lparam());
}
}
}
Expand Down
11 changes: 9 additions & 2 deletions find_release_tree.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -513,18 +513,25 @@ void CFindReleaseTree::init_tracker_i(Artist_ptr artist, pfc::string8 filter_mas
}
for (size_t j = 0; j < artist->master_releases[master_ndx]->sub_releases.size(); j++) {
Release_ptr r_p = artist->master_releases[master_ndx]->sub_releases[j];
if (filtered)
if (filtered) {
matches_release = !stricmp_utf8(r_p->title, filter_release);
}

if (matches_release && atoi(artist->master_releases[master_ndx]->sub_releases[j]->id) == m_idtracer_p->release_id) {
bool bmaster_fault = m_idtracer_p->master_i != master_ndx;
if (bmaster_fault) {
pfc::string8 logmsg = "Error: Master/Release mismatch";
log_msg(logmsg);
}
m_idtracer_p->release_i = mounted_param(master_ndx, j, true, true);
m_idtracer_p->release_pos = pos + j;
if (!m_idtracer_p->master_tag) {
if (!m_idtracer_p->master_tag || bmaster_fault) {
m_idtracer_p->master_i = master_ndx;
m_idtracer_p->master_pos = pos;
m_idtracer_p->master_tag = true;
}
release_done = true;
break;
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions foo_discogs.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ class cupdRelSrc {
friend bool operator == (const cupdRelSrc& lhs, const updRelSrc& rhs);
// implicit conversion
operator updRelSrc() const { return src; }
// implicit conversion fun param
updRelSrc operator ()() const { return src; }

bool extended;
bool oninit;
Expand Down
2 changes: 1 addition & 1 deletion version.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define COMPONENT_VERSION_MAJOR 1
#define COMPONENT_VERSION_MINOR 0
#define COMPONENT_VERSION_PATCH 20
#define COMPONENT_VERSION_SUB_PATCH 3
#define COMPONENT_VERSION_SUB_PATCH 4

#define SIM_VA_MA_BETA
#define FIX_VER
Expand Down

0 comments on commit cd210a7

Please sign in to comment.