Update re: issue #1 -- where opening a different project does not refresh the Symbol toolbar.
I have not yet found 100% consistent steps using a fresh config, so I started debugging it directly. So far I've discovered when the symptom occurs the calling sequence is this: creating the form sets up the correct tag files/etc, but soon after _tbRestoreState__tbcbrowser_form gets called and deletes everything in the treeview and replaces it with whatever used to be there. So the treeview gets initialized correctly, but then gets reset back to a previous-and-no-longer-correct state.
Steps I'm following:
0. Make sure Symbol toolbar is Floating, and dismissed.
1. Launch SE, autorestores previous project.
2. Right click on a symbol in a file window, choose "Show {symbol} in Symbol Browser".
3. Dismiss the Symbol toolbar.
4. Open a different project.
5. Right click on a symbol in a file window, choose "Show {symbol} in Symbol Browser".
Result = Symbol toolbar comes up with the previous project's vtg shown, the symbol from step 2 is still shown.
Expected = Symbol toolbar comes up with the vtg from project from step 3 shown, and symbol from step 4 is shown.
I inserted some trace output in
cbrowser.e:
- say("refresh"); in refresh_tagfiles
- say("save state"); in _tbSaveState__tbcbrowser_form
- say("restore state"); in _tbRestoreState__tbcbrowser_form
Sure enough:
- The "save state" gets logged when dismissing the Symbol toolbar in step 3.
- The "refresh" gets logged when showing the symbol in step 5, and immediately afterward the "restore state" gets logged.
While I'm not sure yet why it's happening, and why it doesn't repro consistently in a fresh config, it is some kind of problem with the order of the initialization of the treeview and restoring the toolbar's state. Maybe this will help the SlickTeam realize what's happening. In the meantime, I'll continue to work on nailing down a consistent repro.