* src/xsettings.c (xft_settings_event):
* src/xsettings.h: Return if the event was handled.
* src/xterm.c (handle_one_xevent): If it was, don't handle the
event any further.
#endif
#ifndef HAVE_PGTK
-/* Check if EVENT for the display in DPYINFO is XSettings related. */
+/* Check if EVENT for the display in DPYINFO is XSettings related.
+ Return true if it is, after performing associated side effects. */
-void
+bool
xft_settings_event (Display_Info *dpyinfo, const XEvent *event)
{
bool check_window_p = false, apply_settings_p = false;
if (apply_settings_p)
read_and_apply_settings (dpyinfo, true);
+
+ return check_window_p || apply_settings_p;
}
#endif
extern void xsettings_initialize (Display_Info *);
#ifndef HAVE_PGTK
-extern void xft_settings_event (Display_Info *, const XEvent *);
+extern bool xft_settings_event (Display_Info *, const XEvent *);
#endif
extern const char *xsettings_get_system_font (void);
#ifdef USE_LUCID
goto done;
#endif
- xft_settings_event (dpyinfo, event);
+ if (xft_settings_event (dpyinfo, event))
+ goto done;
f = any;
/* We don't want to ever leak tooltip frames to Lisp code. */