2007-01-22 Behdad Esfahbod Released vte-0.15.2. * NEWS: Updated. * configure.in: Bumped version to 0.15.2. * src/Makefile.am: Bumped libtool version to 10:9:1. 2007-01-22 Chris Wilson Bug 399137 - continuation. * src/vteaccess.c: (vte_terminal_accessible_text_modified): Classic bug: clen = cp - old rather than the more correct clen = cp - current 2007-01-22 Chris Wilson * src/vteapp.c: (char_size_changed), (char_size_realized), (main): Don't try to perform gdk operations on unrealized windows. 2007-01-22 Chris Wilson * src/pty.c: (_vte_pty_run_on_pty): Print out the argument vector for VTE_DEBUG_MISC. 2007-01-22 Chris Wilson * src/pty.c: (_vte_pty_run_on_pty): Protect against g_strv_length(NULL) 2007-01-22 Chris Wilson Bug 399137 - continuation. * src/vteaccess.c: (vte_terminal_accessible_text_modified): After walking back along the UTF-8 string, remember to update the string lengths that are used to detect insertions and deletions! 2007-01-22 Chris Wilson If the caret is at the end of the buffer, then it set past the end of the offset array - do not use this as a lookup! * src/vteaccess.c: (vte_terminal_accessible_text_modified): If the caret points to past the last character, set the offset to the string's NUL terminator. 2007-01-22 Chris Wilson * configure.in: Earlier configure.in update introduced a trailing ']', pair it with its '[' 2007-01-22 Chris Wilson Bug 132316 – terminal widget's context menu posting isn't exposed as an AtkAction Original patch by * src/vteaccess.c: (vte_terminal_accessible_free_private_data), (vte_terminal_accessible_component_init), (vte_terminal_accessible_do_action), (vte_terminal_accessible_get_n_actions), (vte_terminal_accessible_action_get_description), (vte_terminal_accessible_action_get_name), (vte_terminal_accessible_action_get_keybinding), (vte_terminal_accessible_action_set_description), (vte_terminal_accessible_action_init), (vte_terminal_accessible_get_type): Remove grab_focus and defer to the parent's implementation. Add an AtkAction iface. 2007-01-22 Chris Wilson Bug 156161 – AccessibleText_getTextAtOffset returns wrong values in gnome-terminal The code for ATK_TEXT_BOUNDARY_WORD_START and ATK_TEXT_BOUNDARY_WORD_END is the same. Patch by * src/vteaccess.c: (vte_terminal_accessible_get_text_somewhere): Actually provide an implementation for ATK_TEXT_BOUNDARY_WORD_END. 2007-01-22 Chris Wilson Bug 399137 – UTF-8 problem in VteAccess * src/vteaccess.c: (emit_text_changed_insert), (emit_text_changed_delete): use g_utf8_pointer_to_offset() instead of open coding (vte_terminal_accessible_update_private_data_if_needed): add the number of UTF-8 characters to the debug output. (vte_terminal_accessible_text_modified): iterate backwards over the UTF-8 string using g_utf8_prev_char() and convert the caret into a byte offset before it as such. 2007-01-22 Chris Wilson Bug 123591 – vte_terminal_fork_command succeeds even when it does not * python/vte.defs: * python/vte.override: * src/reaper.c: (vte_reaper_child_watch_cb): * src/vte-private.h: * src/vte.c: (vte_terminal_catch_child_exited), (_vte_terminal_fork_basic), (vte_terminal_forkpty): * src/vte.h: * src/vteapp.c: s/pid_t/GPid/ portable variant, no API/ABI implications * src/pty.c: (vte_pty_child_setup), (_vte_pty_run_on_pty), (_vte_pty_fork_on_pty_name), (_vte_pty_fork_on_pty_fd), (_vte_pty_open_unix98), (_vte_pty_pipe_open), (n_read), (n_write), (_vte_pty_start_helper), (_vte_pty_open_with_helper), (_vte_pty_open), (main): Replace custom fork() and pipe based syncrohonisation scheme with g_spawn_async_with_pipes() as it actually handles all failure modes correctly, and gives us overtures of portability. 2007-01-22 Chris Wilson Hack'n'slash my way through doing a bit of weeding. Fixed: - Bug 345514 – -no-undefined doesn't work with latest libtool - Bug 162003 – vte configure.in X checking can fail – though this may cause other regressions! - Bug 314669 – Please specialize AC_PATH_XTRA * configure.in: Export LIBTOOL_EXPORT_OPTIONS for -no-undefined on windos. Add to rather than override X_CFLAGS, X_LIBS AC_PATH_XTRA - Find X11 using XFlush() rather than XtMalloc(). Print configuration details. * src/Makefile.am: Conditional compilation of backends. 2007-01-22 Chris Wilson Bug 389538 – crash in Terminal: nothing * src/vteaccess.c: (vte_terminal_accessible_get_text): Guard against negative length strings. 2007-01-22 Chris Wilson Bug 161479 – Scroll wheel generates Release events vte sends release events on scroll but xterm doesn't which breaks mc among others. Patch by Benedikt Meurer. * src/vte.c: (vte_terminal_scroll): Remove the offending release event. 2007-01-20 Chris Wilson ickle: sparse complains about dubious 1 bit bitfields if you use gboolean instead of guint so s/gboolean/guint at line 166 and 174 unless that changes the API, of course... it doesn't gboolean a:1 is not very correct anyways ickle: we've done the same change in other modules if I do it quick, behdad might not even notice ;) * src/vte.h: Convert signed single bit field to unsigned. The code was setting it to 1 anyhow (and not -1 as the type indicated). 2007-01-20 Chris Wilson Bug 398602 – Build Failure * src/vte.c: (vte_terminal_expose): Fixup typo. [Grrr. Must get git-svn back into sync] 2006-11-19 Rich Burridge * src/vteaccess.c: Fixed bug #397724 - Orca incorrect echo's certain input in gnome-terminal when key echo is set to off (on Ubuntu Feisty). 2007-01-20 Chris Wilson * src/vte.c: (vte_terminal_expose): Also if the entire terminal is invalidated, do not add more GTK+ exposes to it. 2007-01-20 Chris Wilson Track when we have invalidated the entire terminal and skip adding new regions when possible. * src/vte-private.h: * src/vte.c: (update_regions), (_vte_invalidate_cells), (_vte_invalidate_all), (vte_terminal_size_allocate), (reset_update_regions): 2007-01-20 Chris Wilson Bug 398244 – Gnome-terminal opens a huge sized window * src/vte.c: (vte_terminal_ensure_font), (vte_terminal_set_font_full), (vte_terminal_size_request), (vte_terminal_realize), (vte_terminal_get_char_width), (vte_terminal_get_char_height), (vte_terminal_get_char_descent), (vte_terminal_get_char_ascent): Ensure the font metrics are calculated before use. 2007-01-19 Chris Wilson * src/vte.c: (vte_terminal_process_incoming): Do not invalidate the old cursor position if it was not visible. 2007-01-19 Chris Wilson * src/vte.c: (process_timeout): Make sure ->process_timeout is set to VTE_INVALID_SOURCE on all paths that remove the timeout. 2007-01-19 Chris Wilson Add <> to mark boundaries of process_timeout(). * src/vte.c: (vte_terminal_class_init), (process_timeout): 2007-01-19 Chris Wilson Add {},[] to mark boundaries of update_timeout() and notice that the display limited update_timeout was not dying. * src/vte.c: (vte_terminal_class_init), (update_repeat_timeout), (update_timeout): 2007-01-19 Chris Wilson * src/vte.c: (vte_terminal_realize), (remove_process_timeout): Small cleanup: - protect remove_process_timeout against an invalid source. - move static prototypes into common block. - gdk_window_show() is done in map not realize. 2007-01-19 Chris Wilson * src/vte-private.h: * src/vte.c: (vte_terminal_process_incoming): Introduce a bit of slack in the bbox check to allow for a small of amount of cursor motion e.g. due to line scrolling. This turns the long sequence of '(?!?!??? ... ????!)' during a hexdump into the better behaved '.(?!?!?!??!)-+=.(?!?!??!)-+=........'. Although it is puzzling why we now how have a block of IO and then two quick display upates... 2007-01-19 Chris Wilson * src/vte.c: (process_timeout), (update_repeat_timeout), (update_timeout): Repeat _vte_terminal_process_incoming until we have drained the incoming buffers or we can handle no more. Fixes a problem where the display wouldn't update if we hadn't processed enough data (e.g. on startup, displaying the first prompt). This bug corresponds with the sequence '*-+=..()?!(?!?!?!)-+=' below, which now reads '*-+=..()(?!?!?!)-+=' 2007-01-19 Chris Wilson * src/vte.c: (_vte_invalidate_cursor_once): "%ld" for cursor indices. 2007-01-19 Chris Wilson * src/vte.c: (_vte_invalidate_cells), (_vte_invalidate_cursor_once): Cursor indices are long. 2007-01-19 Chris Wilson * src/vte-private.h: * src/vte.c: (_vte_invalidate_cell): Cursor indices are long. * src/vte.c: (_vte_terminal_expose): Prepend the GTK+ generated expose if we already have an display update pending. 2007-01-19 Chris Wilson Add a new debug flag to visualize the work flow. VTE_DEBUG_FLAGS=work generates output like: Debugging work flow (top input to bottom output): . _vte_terminal_process_incoming ( start _vte_terminal_process_incoming ? _vte_invalidate_cells (call) ! _vte_invalidate_cells (dirty) * _vte_invalidate_all ) end _vte_terminal_process_incoming - gdk_window_process_all_updates + vte_terminal_expose = vte_terminal_paint *?!**+=*-+=..()?!(?!?!?!)-+=?!-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.().(?!?!?!)-+=.().(?!?!?!)-+=.().().(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!?!)-+=.(?!?!)-+=.............................................................................................................................................................................................................................................................................(?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????!??!)-+=....................................................................... Which tells me I have two bugs to track: 1. the initial '..()' is a missing invalidate. 2. '(?!?!????????????????????!??!)' is not very efficient. * src/debug.c: (_vte_debug_parse_string): * src/debug.h: * src/vte.c: (update_regions), (_vte_invalidate_cells), (_vte_invalidate_all), (vte_terminal_process_incoming), (vte_terminal_io_read), (vte_terminal_paint), (vte_terminal_expose), (vte_terminal_class_init): Add VTE_DEBUG_WORK 2007-01-19 Chris Wilson Bug 398150 – cursor leaves trail behind in vim * src/vte-private.h: * src/vte.c: (_vte_invalidate_cell), (vte_terminal_process_incoming): * src/vteseq.c: (vte_sequence_handler_decset_internal): Invalidate the old cursor position if we detect the cursor moved during the sequence or if the cursor changed state. 2007-01-19 Chris Wilson * src/Makefile.am: Missing $(X_CFLAGS) 2007-01-19 Chris Wilson Bug 398243 – Crash * src/vtebg.c: (vte_bg_cache_prune_int): Use the return from g_list_delete_link to maintain the list head. 2007-01-18 Chris Wilson * src/vte.c: (_vte_invalidate_cells): Check that the start of the invalid region is on screen. 2007-01-18 Chris Wilson Bug 398116 – lags behind when widget not visible * src/vte.c: (vte_terminal_handle_scroll): During the spring clean, I converted a few GTK_WIDGET_REALIZED() checks to GTK_WIDGET_DRAWABLE()+visibility check. Unfortunately, it broke keeping the scroll delta in sync with the insert delta. Sync the pair, then perform the check before making updates on the visible area. 2007-01-18 Chris Wilson Bug 398083 – background not painted correctly when starting up * src/vte.c: (_vte_invalidate_all): Compute drawable area in window co-ordinates and not widget co-ordinates. 2007-01-18 Chris Wilson * src/vte.c: (vte_terminal_expose): Small bit of logic inversion that would have tried to paint on unmapped and invisible widgets. 2007-01-18 Chris Wilson And the corresponding overrides. [The downsides of losing track of which machine you are working on.] * python/vte.override: Add (get_text_include_trailing_spaces) 2007-01-18 Chris Wilson Add missing export of vte_terminal_get_text_include_trailing_spaces, needed for building a simple testcase for Bug 397724. vte.defs needs a bit of love... * python/vte.defs: Add (get_text_include_trailing_spaces) 2007-01-18 Chris Wilson * src/vterdb.c: (_vte_rdb_search), (_vte_rdb_boolean): Fix a couple of compiler warnings. 2007-01-18 Chris Wilson * src/vte.c: (vte_terminal_process_incoming): Delete some dead code. 2007-01-18 Chris Wilson * configure.in: Restore --enable-debugging. 2007-01-18 Chris Wilson Copy Behdad's MAYBE_WARN comprehensive set of warnings from Cairo, and fixup the immediate compilation failures. * configure.in: Iterate over a list of warnings and check that they are valid for the compiler. * src/debug.c: (_vte_debug_on): Kill fflush() [redundant with g_printerr]. 2007-01-18 Behdad Esfahbod * configure.in: Don't call AC_CANONICAL_HOST. Libtool calls it already. * src/Makefile.am: Don't build extra, test, programs by default. Speeds build up. 2007-01-18 Behdad Esfahbod * src/ring.c (_vte_ring_insert_preserve): * src/vte.c (vte_terminal_paint): Fix loop-optimization warnings. 2007-01-18 Behdad Esfahbod * src/ssfe.c (cleanupexit), (barf): * src/vtebg.c (vte_bg_cache_prune_int): * src/vtetc.c (main): Fix more warnings. 2007-01-18 Behdad Esfahbod * src/table.c (main): * src/trie.c (_vte_trie_addx), (main): * src/utf8echo.c (main): Fix int vs long int mismatches in printf args. 2007-01-18 Behdad Esfahbod * src/iso2022.c (_vte_iso2022_find_nextctl): * src/reaper.c (vte_reaper_finalize): * src/vte.c (_vte_terminal_insert_char), (vte_terminal_key_press), (vte_terminal_init), (vte_terminal_size_allocate): * src/vteapp.c (main): * src/vtedraw.c (_vte_draw_init_default): * src/vteglyph.c (_vte_glyph_cache_free): * src/vtergb.c (_vte_rgb_copy): * src/vtexft.c (_vte_xft_font_for_char): Remove unused variables. 2007-01-18 Chris Wilson Bug 161342 revisited. Reset the box to +-inf and not the current cursor otherwise you just reproduce the slow behaviour (an overly large invalidation area). * src/vte.c: (vte_terminal_process_incoming): Reset bbox to +-inf. 2007-01-17 Chris Wilson Second breakage: VTE_INVALID_SOURCE !=0 and calling vte_terminal_set_scrollback_lines with lines == ->scrollback_lines is not a nop. * src/vte.c: (vte_terminal_background_update), (vte_terminal_queue_background_update): VTE_INVALID_SOURCE != 0 (vte_terminal_set_scrollback_lines): reset the rowdata everytime. 2007-01-17 Chris Wilson Bug 397414 - port vteapp to GOption * src/vteapp.c: (main): Translation of getopt switch to GOptionEntry[]. Missing help for --geometry. 2007-01-17 Chris Wilson First breakage spotted: the realized flag is set too late in the realize handler. Note to self: not everybody uses a black background. * src/vte.c: (vte_terminal_realize): Restore GTK_WIDGET_SET_FLAGS(REALIZED) 2007-01-17 Chris Wilson Bug 395373 - Allow the user to specify backend priorities. * src/vtedraw.c: (_vte_draw_init_user), (_vte_draw_init_default), (_vte_draw_new): Scan $ENV{VTE_BACKEND} for the user's preferred backend and failover to the first working backend. Discard checking VTE_USE_* * src/vtedraw.h: * src/vteft2.c: * src/vteft2.h: * src/vtegl.c: * src/vtegl.h: * src/vtepango.c: * src/vtepango.h: * src/vtepangox.c: * src/vtepangox.h: * src/vteskel.c: (_vte_skel_check), (_vte_skel_create), (_vte_skel_destroy), (_vte_skel_start): * src/vteskel.h: * src/vtexft.c: * src/vtexft.h: Remove the environment variable field, drop the "Vte" prefix from the backend names and make the exported structure const. 2007-01-17 Chris Wilson As part of Bug 397439. * src/iso2022.c: (_vte_iso2022_is_ambiguous): * src/vte-private.h: * src/vte.c: (_vte_terminal_set_default_attributes), (vte_terminal_set_default_tabstops), (vte_terminal_set_encoding), (vte_terminal_set_opacity), (vte_terminal_set_default_colors), (vte_terminal_emit_pending_text_signals), (vte_terminal_feed_child_using_modes), (vte_terminal_hierarchy_changed), (vte_terminal_send_mouse_button_internal), (vte_terminal_maybe_send_mouse_drag), (vte_terminal_set_font), (vte_terminal_set_font_from_string), (vte_terminal_set_size), (vte_terminal_handle_scroll), (vte_terminal_set_scroll_adjustment), (vte_terminal_set_emulation), (vte_terminal_set_termcap), (vte_terminal_init), (vte_terminal_size_allocate), (vte_terminal_unrealize), (vte_terminal_finalize), (vte_terminal_realize), (vte_terminal_determine_colors), (vte_terminal_background_update), (vte_terminal_queue_background_update), (vte_terminal_set_background_transparent), (vte_terminal_set_cursor_blinks), (vte_terminal_set_scrollback_lines), (vte_terminal_reset), (vte_terminal_set_pty): * src/vteseq.c: (vte_sequence_handler_st), (vte_sequence_handler_vb), (vte_sequence_handler_device_status_report), (vte_sequence_handler_dec_device_status_report), (vte_sequence_handler_window_manipulation): Janitorial work to improve code readability and small micro-optimisations, such as use the length returned by g_snprintf rather then calling strlen on the result or just using a constant string. 2007-01-17 Chris Wilson As part of Bug 397439. * src/ring.h: Make the debug checks conditional on VTE_DEBUG. 2007-01-17 Chris Wilson As part of Bug 397439. * src/matcher.c: (_vte_matcher_add), (_vte_matcher_create), (_vte_matcher_destroy), (_vte_matcher_new), (_vte_matcher_match), (_vte_matcher_print): * src/matcher.h: * src/table.c: (_vte_table_new): * src/table.h: * src/trie.c: (_vte_trie_new): * src/trie.h: _vte_match_match() is called extremely frequently, and the switch shows up on the profiles. Replace the switch with a function pointer obtained by introducing function tables for the matcher implementations. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vte-private.h: * src/vte.c: (vte_terminal_set_font_full), (vte_terminal_realize): Don't load a font until the terminal is realized. Saves decoding 2 or 3 fonts before g-t is mapped. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vteseq.c: (vte_g_array_fill): Micro-optimise the loop. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vteft2.c: (_vte_ft2_create), (_vte_ft2_start), (_vte_ft2_end), (update_bbox), (_vte_ft2_set_text_font), (_vte_ft2_draw_text): * src/vtergb.c: (_vte_rgb_buffer_new), (_vte_rgb_buffer_resize), (_vte_rgb_draw_color_rgb), (_vte_rgb_copy): * src/vtergb.h: Reuse converted glyphs within a run. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vteconv.c: (_vte_conv_utf8_strlen), (_vte_conv): Micro-optimise the loops. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vteglyph.c: (_vte_glyph_free), (_vte_cached_glyph_free), (_vte_glyph_cache_new), (_vte_glyph_cache_free), (_vte_glyph_cache_set_font_description), (_vte_glyph_cache_has_char), (_vte_glyph_remap_char), (_vte_glyph_get_uncached), (_vte_glyph_get), (_vte_glyph_draw): * src/vteglyph.h: Avoid the double glyph lookup in _vte_glyph_get and replace the tree with a hash. 2007-01-17 Chris Wilson As part of Bug 397439. * src/iso2022.c: (_vte_iso2022_state_new), (_vte_iso2022_state_free), (_vte_iso2022_state_set_codeset): * src/trie.c: (_vte_trie_add), (convert_mbstowcs): * src/utf8echo.c: (main): * src/vte.c: (vte_terminal_set_encoding), (vte_terminal_send), (vte_terminal_init), (vte_terminal_finalize), (vte_terminal_set_word_chars): * src/vteconv.c: (_vte_conv_open), (_vte_conv_close), (_vte_conv): * src/vteconv.h: * src/vteseq.c: (vte_sequence_handler_set_title_internal): s/(VteConv)-1/VTE_INVALID_CONV/ 2007-01-17 Chris Wilson As part of Bug 397439. * src/vte.c: (_vte_new_row_data), (_vte_new_row_data_sized), (_vte_terminal_find_row_data), (_vte_row_data_find_charcell), (vte_line_is_wrappable), (vte_terminal_extend_selection), (vte_terminal_draw_row): Refactor vte_find_row_data to simplify and improve some logic. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vte.c: (vte_g_array_fill), (vte_terminal_emit_commit), (_vte_terminal_ensure_cursor), (_vte_terminal_insert_char), (_vte_terminal_fork_basic), (vte_terminal_process_incoming), (vte_terminal_key_press), (vte_terminal_visibility_notify), (vte_terminal_apply_metrics), (vte_terminal_paint), (vte_terminal_expose): Callgrind driven rewrite of critical loops. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vte-private.h: * src/vte.c: (_vte_terminal_connect_pty_write), (_vte_terminal_disconnect_pty_write), (vte_terminal_io_read), (vte_terminal_feed), (vte_terminal_feed_child_binary), (vte_terminal_init), (vte_terminal_unrealize), (add_process_timeout), (add_update_timeout), (remove_process_timeout), (vte_terminal_stop_processing), (vte_terminal_is_processing), (vte_terminal_start_processing), (process_timeout), (update_repeat_timeout), (update_timeout): The rate-limiting step is the display update - we do not need to process input faster than we are displaying it. So use the update display timeout to process new input (and dirty some more pixels). 2007-01-17 Chris Wilson As part of Bug 397439. * src/interpret.c: (main): * src/iso2022.c: (_vte_iso2022_fragment_input), (_vte_iso2022_process), (main): * src/vte.c: (vte_terminal_match_contents_refresh), (vte_terminal_process_incoming), (vte_terminal_init), (vte_terminal_set_word_chars): * src/vteaccess.c: (vte_terminal_accessible_update_private_data_if_needed): * src/vtefc.c: (_vte_fc_patterns_from_pango_font_desc): * src/vtefc.h: * src/vteglyph.c: (_vte_glyph_cache_new), (_vte_glyph_cache_free), (_vte_glyph_cache_set_font_description): * src/vteglyph.h: * src/vteregex.c: (_vte_regex_sort_matches): * src/vtexft.c: (_vte_xft_font_open), (_vte_xft_font_close), (_vte_xft_font_for_char): s/g_array_new(TRUE, TRUE/g_array_new(FALSE, FALSE/ All uses of GArray respect their lengths and do not zero-termination or untouched members to be cleared. 2007-01-17 Chris Wilson As part of Bug 397439. * src/iso2022.c: (_vte_iso2022_state_free): * src/matcher.c: (_vte_matcher_free_params_array): * src/ring.c: (_vte_ring_free): * src/table.c: (_vte_table_free): * src/trie.c: (_vte_trie_match): * src/vte.c: (_vte_terminal_match_contents_clear), (_vte_terminal_fork_basic), (vte_terminal_get_text_range_maybe_wrapped), (vte_terminal_copy), (vte_terminal_finalize), (vte_terminal_draw_cells_with_attributes): * src/vteaccess.c: (vte_terminal_accessible_free_private_data): * src/vtebg.c: (vte_bg_root_pixmap), (vte_bg_cache_item_free): * src/vteconv.c: (_vte_conv_close): * src/vtedraw.c: (_vte_draw_free): * src/vteft2.c: (_vte_ft2_destroy): * src/vtegl.c: (_vte_gl_destroy): * src/vteglyph.c: (_vte_glyph_cache_free): * src/vtepango.c: (_vte_pango_destroy): * src/vtepangox.c: (_vte_pango_x_destroy): * src/vtergb.c: (_vte_rgb_buffer_new), (_vte_rgb_buffer_free): * src/vteseq.c: (vte_sequence_handler_se), (vte_sequence_handler_so): * src/vteskel.c: (_vte_skel_destroy): * src/vtexft.c: (_vte_xft_font_close), (_vte_xft_destroy): Do not zero memory in destructors, as glib will zero all freed memory if G_DEBUG=gc-friendly. 2007-01-17 Chris Wilson As part of Bug 397439. * src/reaper.c: (vte_reaper_add_child), (vte_reaper_init), (vte_reaper_constructor), (vte_reaper_finalize), (vte_reaper_class_init), (vte_reaper_get), (main): * src/vte.c: (G_DEFINE_TYPE_WITH_CODE), (_vte_terminal_fork_basic), (vte_terminal_key_press), (vte_terminal_init), (vte_terminal_show), (vte_terminal_finalize), (vte_terminal_get_accessible), (vte_terminal_class_init): * src/vteaccess.c: (vte_terminal_initialize), (vte_terminal_accessible_finalize), (vte_terminal_accessible_class_init), (vte_terminal_accessible_get_type), (vte_terminal_accessible_factory_init), (vte_terminal_accessible_factory_new): * src/vtebg.c: (vte_bg_native_new), (vte_bg_finalize), (vte_bg_class_init), (vte_bg_init), (vte_bg_get_for_screen), (vte_bg_cache_item_free), (vte_bg_cache_prune_int), (_vte_bg_resize_pixbuf), (vte_bg_set_root_pixmap), (vte_bg_cache_add), (vte_bg_cache_search), (vte_bg_get_pixmap), (vte_bg_get_pixbuf): Use GObject boiler-plate code (G_DEFINE_TYPE), as opposed to open coding. 2007-01-17 Chris Wilson As part of Bug 397439. * src/vte-private.h: * src/vte.c: (vte_free_row_data), (vte_g_array_fill), (vte_terminal_find_charcell), (vte_terminal_preedit_width), (vte_terminal_preedit_length), (_vte_invalidate_cursor_once), (vte_invalidate_cursor_periodic), (vte_terminal_deselect_all), (vte_terminal_set_default_tabstops), (vte_terminal_match_contents_refresh), (vte_terminal_cursor_new), (vte_terminal_match_check_internal), (vte_terminal_emit_adjustment_changed), (vte_terminal_queue_adjustment_changed), (vte_terminal_scroll_pages), (vte_terminal_maybe_scroll_to_top), (vte_terminal_maybe_scroll_to_bottom), (_vte_terminal_set_pointer_visible), (vte_terminal_new), (vte_terminal_set_color_internal), (vte_terminal_set_color_bold), (vte_terminal_set_color_dim), (vte_terminal_set_color_foreground), (vte_terminal_set_color_background), (vte_terminal_set_color_cursor), (vte_terminal_set_color_highlight), (vte_terminal_handle_sequence), (vte_terminal_catch_child_exited), (_vte_terminal_connect_pty_read), (_vte_terminal_connect_pty_write), (_vte_terminal_fork_basic), (vte_terminal_eof), (vte_terminal_im_reset), (vte_terminal_process_incoming), (vte_terminal_io_read), (vte_terminal_io_write), (vte_terminal_send), (vte_terminal_im_commit), (vte_terminal_im_preedit_start), (vte_terminal_im_preedit_end), (vte_terminal_im_preedit_changed), (vte_terminal_configure_toplevel), (vte_terminal_hierarchy_changed), (vte_terminal_style_changed), (add_cursor_timeout), (vte_terminal_key_press), (vte_same_class), (vte_line_is_wrappable), (vte_terminal_paste_cb), (vte_terminal_send_mouse_button_internal), (vte_terminal_maybe_send_mouse_drag), (vte_terminal_clear_cb), (vte_terminal_copy_cb), (vte_terminal_get_text_range_maybe_wrapped), (vte_terminal_clipboard_get), (vte_terminal_copy), (vte_terminal_paste), (vte_terminal_autoscroll), (vte_terminal_start_autoscroll), (vte_terminal_motion_notify), (vte_terminal_button_press), (vte_terminal_button_release), (vte_terminal_focus_in), (vte_terminal_focus_out), (vte_terminal_visibility_notify), (vte_terminal_apply_metrics), (vte_terminal_set_font_full), (vte_terminal_refresh_size), (vte_terminal_handle_scroll), (vte_terminal_set_scroll_adjustment), (vte_terminal_connect_xft_settings), (vte_terminal_disconnect_xft_settings), (_vte_terminal_codeset_changed_cb), (vte_terminal_init), (vte_terminal_size_request), (vte_terminal_size_allocate), (vte_terminal_show), (root_pixmap_changed_cb), (vte_terminal_unrealize), (vte_terminal_finalize), (vte_terminal_realize), (vte_terminal_determine_colors), (vte_terminal_paint), (vte_terminal_expose), (vte_terminal_scroll), (vte_terminal_get_accessible), (vte_terminal_im_append_menuitems), (vte_terminal_background_update), (vte_terminal_queue_background_update), (vte_terminal_set_background_image), (vte_terminal_set_background_image_file), (vte_terminal_set_cursor_blinks), (vte_terminal_reset), (vte_terminal_set_pty): * src/vteaccess.c: (vte_terminal_initialize), (vte_terminal_accessible_finalize): * src/vtedraw.c: (_vte_draw_new), (_vte_draw_free), (_vte_draw_start), (_vte_draw_end): * src/vtefc.c: (_vte_fc_transcribe_from_pango_font_description), (_vte_fc_defaults_from_gtk), (_vte_fc_connect_settings_changes), (_vte_fc_disconnect_settings_changes): * src/vteft2.c: (_vte_ft2_destroy), (_vte_ft2_set_background_image), (_vte_ft2_clear): * src/vtegl.c: (_vte_gl_destroy), (_vte_gl_set_background_image), (_vte_gl_clear): * src/vtepango.c: (_vte_pango_destroy), (_vte_pango_start), (_vte_pango_end), (_vte_pango_set_background_image), (_vte_pango_set_text_font): * src/vtepangox.c: (_vte_pango_x_destroy), (_vte_pango_x_start), (_vte_pango_x_end), (_vte_pango_x_set_background_image), (_vte_pango_x_set_text_font): * src/vterdb.c: (_vte_rdb_get): * src/vteseq.c: (vte_sequence_handler_scroll_up_or_down), (vte_sequence_handler_set_title_internal), (vte_terminal_beep), (vte_sequence_handler_do), (vte_sequence_handler_sf), (vte_sequence_handler_sr), (vte_sequence_handler_vb), (vte_sequence_handler_window_manipulation): * src/vteskel.c: (_vte_skel_destroy): * src/vtetree.c: (_vte_tree_new), (_vte_tree_destroy): * src/vtexft.c: (_vte_xft_set_background_image), (_vte_xft_clear): Remove superfluous checks and run-time checked type casts. 2007-01-17 Chris Wilson As part of Bug 397439. * src/debug.c: * src/iso2022.c: (_vte_iso2022_ambiguous_width_guess), (_vte_iso2022_state_new), (_vte_iso2022_state_set_codeset), (process_8_bit_sequence), (process_cdata), (process_control), (_vte_iso2022_process): * src/keymap.c: (_vte_keymap_map): * src/matcher.c: (_vte_matcher_init), (_vte_matcher_create), (_vte_matcher_destroy): * src/pty.c: (_vte_pty_run_on_pty), (_vte_pty_fork_on_pty_name), (_vte_pty_fork_on_pty_fd), (_vte_pty_set_size), (_vte_pty_get_size), (_vte_pty_ptsname), (_vte_pty_open_unix98), (_vte_pty_open_with_helper), (_vte_pty_open), (main): * src/reaper.c: (vte_reaper_emit_signal), (vte_reaper_child_watch_cb), (vte_reaper_init), (vte_reaper_finalize): * src/reflect.c: (text_changed_insert), (text_changed_delete): * src/ring.c: (_vte_ring_insert), (_vte_ring_insert_preserve), (_vte_ring_remove), (scrolled_off), (main): * src/slowcat.c: (main): * src/table.c: (_vte_table_printi), (_vte_table_print): * src/trie.c: (char_class_string_extract): * src/vte.c: (_vte_invalidate_cursor_once), (vte_terminal_emit_selection_changed), (vte_terminal_emit_commit), (vte_terminal_emit_emulation_changed), (vte_terminal_emit_encoding_changed), (vte_terminal_emit_child_exited), (_vte_terminal_emit_contents_changed), (vte_terminal_emit_cursor_moved), (vte_terminal_emit_eof), (vte_terminal_emit_char_size_changed), (_vte_terminal_emit_status_line_changed), (vte_terminal_emit_increase_font_size), (vte_terminal_emit_decrease_font_size), (_vte_terminal_emit_text_inserted), (_vte_terminal_emit_text_deleted), (vte_terminal_emit_text_modified), (vte_terminal_emit_text_scrolled), (vte_terminal_deselect_all), (vte_terminal_match_check_internal), (vte_terminal_match_check), (vte_terminal_emit_adjustment_changed), (vte_terminal_queue_adjustment_changed), (_vte_terminal_adjust_adjustments), (vte_terminal_scroll_pages), (vte_terminal_maybe_scroll_to_bottom), (vte_terminal_set_encoding), (_vte_terminal_set_pointer_visible), (vte_terminal_new), (vte_terminal_generate_bold), (_vte_terminal_insert_char), (display_control_sequence), (vte_terminal_fork_command), (vte_terminal_emit_pending_text_signals), (vte_terminal_process_incoming), (vte_terminal_io_write), (vte_terminal_send), (vte_terminal_im_commit), (vte_terminal_im_preedit_start), (vte_terminal_im_preedit_end), (vte_terminal_im_preedit_changed), (vte_terminal_configure_toplevel), (vte_terminal_hierarchy_changed), (vte_terminal_style_changed), (vte_terminal_key_press), (vte_terminal_paste_cb), (vte_terminal_match_hilite_clear), (vte_terminal_match_hilite), (vte_terminal_clear_cb), (vte_terminal_copy_cb), (vte_terminal_copy), (vte_terminal_paste), (vte_terminal_start_selection), (vte_terminal_extend_selection), (vte_terminal_autoscroll), (vte_terminal_motion_notify), (vte_terminal_button_press), (vte_terminal_button_release), (vte_terminal_focus_in), (vte_terminal_focus_out), (vte_terminal_set_font_full), (vte_terminal_set_size), (vte_terminal_handle_scroll), (vte_terminal_set_emulation), (vte_terminal_set_termcap), (vte_terminal_reset_rowdata), (vte_terminal_fc_settings_changed), (vte_terminal_init), (vte_terminal_size_request), (vte_terminal_size_allocate), (vte_terminal_show), (vte_terminal_unrealize), (vte_terminal_finalize), (vte_terminal_realize), (vte_terminal_draw_cells), (_vte_terminal_map_pango_color), (vte_terminal_paint), (vte_terminal_scroll), (vte_terminal_class_init), (vte_terminal_get_type), (vte_terminal_copy_clipboard), (vte_terminal_paste_clipboard), (vte_terminal_copy_primary), (vte_terminal_paste_primary), (vte_terminal_background_update), (vte_terminal_queue_background_update), (vte_terminal_set_background_saturation), (vte_terminal_set_background_tint_color), (vte_terminal_set_background_transparent), (vte_terminal_set_background_image), (vte_terminal_set_background_image_file), (vte_terminal_set_word_chars): * src/vteaccess.c: (emit_text_caret_moved), (emit_text_changed_insert), (emit_text_changed_delete), (vte_terminal_accessible_update_private_data_if_needed), (vte_terminal_accessible_invalidate_cursor), (vte_terminal_accessible_finalize), (vte_terminal_accessible_get_text), (vte_terminal_accessible_get_text_somewhere), (vte_terminal_accessible_text_init), (vte_terminal_accessible_component_init), (vte_terminal_accessible_factory_new): * src/vteapp.c: (main): * src/vtebg.c: (vte_bg_root_pixmap), (_vte_bg_resize_pixbuf): * src/vtedraw.c: (_vte_draw_new): * src/vtepango.c: (_vte_pango_set_text_font): * src/vtepangox.c: (_vte_pango_x_set_text_font): * src/vteseq.c: (vte_terminal_emit_deiconify_window), (vte_terminal_emit_iconify_window), (vte_terminal_emit_icon_title_changed), (vte_terminal_emit_window_title_changed), (vte_terminal_emit_raise_window), (vte_terminal_emit_lower_window), (vte_terminal_emit_maximize_window), (vte_terminal_emit_refresh_window), (vte_terminal_emit_restore_window), (vte_terminal_emit_move_window), (vte_terminal_emit_resize_window), (vte_sequence_handler_set_title_internal), (vte_sequence_handler_decset_internal), (vte_sequence_handler_bt), (vte_sequence_handler_application_keypad), (vte_sequence_handler_normal_keypad), (vte_sequence_handler_window_manipulation): * src/vtetc.c: (main): * src/vtexft.c: (_vte_xft_set_text_font): s/fprintf(stderr,/g_printerr(/ 2007-01-17 Chris Wilson Only invalidate groups of inserted chars and not the whole bbox. This speeds up applications like vim which maintain a status line at the bottom of the screen. Fixes bug 161342. * src/vte-private.h: * src/vte.c: (update_regions), (_vte_invalidate_cells), (_vte_invalidate_all), (_vte_terminal_scroll_region), (vte_terminal_process_incoming), (reset_update_regions), (remove_update_timeout), (update_repeat_timeout), (update_timeout): 2007-01-15 Behdad Esfahbod Bug 387171 – vte fails to install on FreeBSD due to missing header Patch from Roy Marples * src/vteseq.c: #include 2007-01-15 Behdad Esfahbod Bug 396831 – Unable to compile without X Patch from Chris Wilson * src/vtebg.c (_vte_bg_display_sync), (vte_bg_root_pixmap): Add stubs. 2007-01-09 Ryan Lortie Bug 394890 – Segfault when running vte or gnome-terminal * src/vtetc.c (_vte_termcap_find_string): change 'int' to 'gssize' to match previous fixup. Hopefully that does it. :)