mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-25 11:07:54 +08:00
fix wrong implementation of search_win_tree_bfs
This commit is contained in:
+10
-9
@@ -3039,11 +3039,6 @@ static PMAINWIN search_win_tree_dfs (struct _search_context *ctxt)
|
||||
while (hosted) {
|
||||
PMAINWIN found;
|
||||
|
||||
ctxt->hosting = hosted;
|
||||
if ((found = search_win_tree_dfs (ctxt))) {
|
||||
return found;
|
||||
}
|
||||
|
||||
if (hosted->id == ctxt->id &&
|
||||
(((ctxt->flags & WIN_SEARCH_FILTER_MAIN) &&
|
||||
hosted->WinType == TYPE_MAINWIN) ||
|
||||
@@ -3052,6 +3047,11 @@ static PMAINWIN search_win_tree_dfs (struct _search_context *ctxt)
|
||||
return hosted;
|
||||
}
|
||||
|
||||
ctxt->hosting = hosted;
|
||||
if ((found = search_win_tree_dfs (ctxt))) {
|
||||
return found;
|
||||
}
|
||||
|
||||
hosted = GetNextHosted (hosting, hosted);
|
||||
}
|
||||
|
||||
@@ -3074,12 +3074,13 @@ static PMAINWIN search_win_tree_bfs (struct _search_context *ctxt)
|
||||
return hosted;
|
||||
}
|
||||
|
||||
ctxt->hosting = hosted;
|
||||
if ((found = search_win_tree_bfs (ctxt))) {
|
||||
return found;
|
||||
if ((ctxt->hosting = GetNextHosted (hosting, hosted))) {
|
||||
if ((found = search_win_tree_bfs (ctxt))) {
|
||||
return found;
|
||||
}
|
||||
}
|
||||
|
||||
hosted = GetNextHosted (hosting, hosted);
|
||||
hosted = GetFirstHosted (hosted);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user