* xfns.c (x_create_tip_frame): Set the extended window manager hint for
tooltip windows.
* xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and
Xatom_net_window_type.
* xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and
Xatom_net_window_type.
* xterm.c (my_log_handler): New function.
(x_term_init): Set my_log_handler as log handler during gtk_init
so we can filter out buggy messages. (bug #5120).
* xterm.c (xg_scroll_callback): Parameter list changed,
use parameter GtkScrollType to determine scroll/line/page.
Only allow dragging if a button < 4 is grabbed (bug #5177).
(xg_end_scroll_callback): New function.
(x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to
xg_create_scroll_bar.
* gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling.
(scroll_end_callback): Remove.
(xg_create_scroll_bar): Add parameter end_callback, bind it to
button-release-event. Replace value-changed event with change-value,
bug #5177,
(xg_event_is_for_scrollbar): Only return true if button is less than 4,
bug #5177.
* gtkutil.h (XG_LAST_SB_DATA): Remove.
(xg_create_scroll_bar): Add GCallback end_callback.
xsettings.c (struct xsettings): Add member seen.
(parse_xft_settings): Update member seen with what we have read.
Return 0 if Xft-settings have been parsed, 0 otherwise.
(apply_xft_settings): Only update Xft settings with what member seen
indicates as new.
(struct glyph): Use EMACS_INT for charpos.
(struct it): Use EMACS_INT for stop_charpos, end_charpos, region_beg_charpos,
region_end_charpos, redisplay_end_trigger_charpos, and also for
iterator_stack_entry.end_charpos and iterator_stack_entry.stop_charpos.
(scroll_end_callback): New function (bug #5177)
(xg_create_scroll_bar): Call scroll_end_callback on button release
event (bug #5177).
(xg_event_is_for_scrollbar): != replaced with ==.
* lread.c (isfloat_string): New argument ignore_trailing to accept all
trailing characters, not just whitespace.
(read1): Pass new arg 0 to keep old behavior.
* data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
trailing chars, as it is already done for integers. Doc fixes.
* lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.
* xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
is NULL.
* xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
* frame.c (frame_make_pointer_invisible)
(frame_make_pointer_visible): Just return if there isn't any selected
frame.
* xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
because that is what Gtk+ font dialog understands.
* font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
of Fcopy_sequence.
(font_open_by_name): Put name given into QCname for font-object returned.
* frame.c (x_set_font): Save original font name as frame parameter
font-parameter.
* xsettings.c (set_default_xft_settings): New function.
(init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
is found.
timeouts and event sources. This simplifies Gtk+-code a lot, and is needed
for handling GConf death/restart.
* xterm.c: #include xgselect.h.
(x_initialize): Call xgselect_initialize.
* xsettings.c (something_changedCB): C++ comments => C comments.
(init_gconf): Do not deal with any GLib file descriptors, xg_select
does that now.
* gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
(xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
(scroll_bar_button_cb): Remove.
(create_menus): C++ comments => C comments. Don't bind grab-notify
event.
(xg_create_scroll_bar): Don't bind button-press-event and
button-release-event.
* process.c: Include xgselect.h if defined (USE_GTK) ||
defined (HAVE_GCONF).
(wait_reading_process_output): Call xg_select for the same condition.
* xgselect.c (xg_select): New function to better integrate with
GLib/Gtk event handling. Needed if GConf daemon dies/restarts.
* xgselect.h: New file, declare xg_select, xgselect_initialize.
* Makefile.in (XOBJ): Add xgselect.o.