gitk: regression when opening preferences with `want_ttk=0`
- From
- punk.lion0906@fastmail.com <punk.lion0906@fastmail.com>
- Date
- May 22, 2025, 02:55 UTC
- Message-ID
- <087f6a4d-d276-4f1e-94a4-7423b3387b79@app.fastmail.com>
This duplicates https://github.com/j6t/gitk/issues/18.
I found a regression in `gitk`'s commit 904b36b. When `gitk` is run with `want_ttk=0` (AKA "use themed widgets" set to off), I cannot open the settings dialog since that commit. It gives the following error in a modal dialog, and then opens a completely empty non-modal dialog where the settings dialog should be:
```
`invalid command name "::combobox"
invalid command name "::combobox"
while executing
"${NS}::combobox $page.wrapcomment -values {none char word} -state readonly -textvariable wrapcomment"
(procedure "prefspage_general" line 43)
invoked from within
"prefspage_general $notebook"
(procedure "doprefs" line 27)
invoked from within
"doprefs"
(procedure "::tk::mac::ShowPreferences" line 1)
invoked from within
"::tk::mac::ShowPreferences"`
```Indeed, 904b36b adds some `::combobox`es.
I tested this on MacOS with Tcl/Tk 8.6, both with Homebrew-installed `gitk` from the `git-gui` 2.49.0 package, and with the master branch of https://github.com/j6t/gitk (commit 9f27318), and with that repo's 904b36b. The parent of 904b36b works fine.
The workaround is to close gitk, and set `want_ttk` to 1 in ~/.config/git/gitk, ~/.gitk, or equivalent. Completely deleting the config file at ~/.config/git/gitk also fixed the problem for me.
Ilya.