You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: replace QFontComboBox with QComboBox, move Preferences to Edit menu
- Replace QFontComboBox with static QComboBox (10 monospace fonts) in
preferences_dialog.ui to eliminate recursive-repaint SIGSEGV in xvfb.
QFontComboBox renders all system font previews via a custom delegate,
causing paint re-entrancy under headless compositors.
- Remove QFontComboBox import from preferences_dialog.py; use QComboBox
setCurrentText/currentText instead of setCurrentFont/currentFont().
- Move actionPreferences from menuFile to menuEdit in main_window.ui;
Edit menu was previously empty (design spec requires Preferences there).
- _on_action_preferences: call _apply_preferences() once after exec()
returns rather than via live preferences_changed signal. Connecting
_apply_preferences during exec() causes app.setPalette() + setRootIndex()
to trigger recursive repaints inside the modal event loop → SIGSEGV.
Cancel leaves QSettings unchanged, so post-exec _apply_preferences() is
a safe no-op.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments