Fri Mar 29 20:17:35 2002 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered): remove call to gtk_tree_model_sort_increment_stamp (gtk_tree_model_sort_sort_level): always increment the stamp Fri Mar 29 00:19:41 2002 Owen Taylor * NEWS: Updates * configure.in: Version 2.0.1, binary, interface age 1. * configure.in (GDK_PIXBUF_VERSION): Up required versions of dependencies. * gtk/gtkiconfactory.c gtk/stock-icons/Makefile.am: Add stock_add/remove_16. Thu Mar 28 18:38:30 2002 Owen Taylor * gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Don't show the window unless the widget is mapped. (#76742, Dennis Björklund, Soeren Sandmann) 2002-03-29 Hans Breuer Fixed dashed line issues (#74441) to an IMO reasonable extend. That is: use PS_USERSTYLE on WinNT (the next GDI limit appears to be with lines width > 50); Render horizontal and vertical dashed lines on Win9x 'by hand'. Dotted selection rectangles and Dia look nice ... * gdk/win32/gdkprivate-win32.h : add pen_dashes pointer and num_pen_dashes to _GdkGCWin32 * gdk/win32/gdkgc-win32.c : initialize pen_dashes and remove the guesses from dashes to windoze line styles. (predraw_set_forground) : always ExtCreatePen (PS_SOLID) on Win9x, which does not support PS_USERSTYLE. * gdk/win32/gdkdrawable-win32.c : new functions render_line_ . Use them if not running on NT in gdk_win32_draw_ () * gdk/win32/gdkkeys-win32.c (gdk_keyval_name) : return NULL for keyval == 0 to avoid to have zeros in all menu entries without accelerator. 2002-03-29 Jakub Steiner * gtk/stock-icons/stock_add_24.png: * gtk/stock-icons/stock_add_16.png: * gtk/stock-icons/stock_remove_24.png: * gtk/stock-icons/stock_remove_16.png: use a simple '+' and '-', works better. the old box was too clumsy Thu Mar 28 21:11:04 2002 Tim Janik * gtk/gtkfilesel.c (open_new_dir): when encountering non-UTF-8 file names, alert the user with g_message() instead of g_warning() and put out the actual conversion error. 2002-03-28 Dave Camp * gtk/gtktreeview.c (install_scroll_sync_handler): Don't install the handler if the widget isn't realized. 2002-03-28 Jakub Steiner * gtk/stock-icons/stock_font*: * gtk/stock-icons/stock_align*: * gtk/stock-icons/stock_text*: better solution to the dark theme problem. Also looks more pretty IMHO 2002-03-27 Matthias Clasen * configure.in: Try to find libpng via pkg-config first, since libpng-1.2.2 will come with a .pc file. Wed Mar 27 11:10:39 2002 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_real_remove): Set page->last_focus_child to NULL as well as removing the weak reference, to deal with reentrancy in set_focus_child(). (#76634, Dennis Björklund) 2002-03-27 Murray Cumming * gtk/gtktreeview.c: Corrected registered return type of "move-cursor" signal. Had to add a marshaller to gtk/gtkmarshalers.list. Tue Mar 26 14:46:50 2002 Owen Taylor * gtk/gtkmenu.c (gtk_menu_popup): Shuffle the ordering around some more (position before realizing) fixing problems with arrows popping up at the wrong time (#73386), hopefully not introducing other problems. (Reported by Ettore Perrazoli, others) 2002-03-26 Dave Camp * gtk/gtktreeview.c (gtk_tree_view_button_press): Free the path after calling gtk_tree_view_row_activated() rather than before. 2002-03-25 Sven Neumann * gtk/gtkrc.c (gtk_rc_parse_font_name): free the style's font_description before assigning a new one. (gtk_rc_parse_stock): always unref the created icon_set. #76289 2002-03-25 Mark McLoughlin * gtk/gtkbindings.c: (gtk_binding_entry_add_signal), kill code duplicated in gtk_binding_entry_add_signall. Sun Mar 24 10:32:38 2002 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_path_copy): Make path arg const, #75653 * gtk/gtkfontsel.c (gtk_font_selection_show_available_styles): fix a warning * gtk/gtktreeview.c (gtk_tree_view_button_press): remove the grab when we emit row_activated so that listeners of this signal can grab the mouse, #75629 2002-03-23 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_real_invalidate): invalidate the line containing start, even if the [start,end) range is empty (just invalidate [start,end], essentially). Partially fixes #72374 2002-03-23 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in progress, patch from db@zigo.dhs.org, #74620 2002-03-23 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): extend selection for pageup/pagedown and ctrl+pageup/pagedown if shift is held. more of #53934 2002-03-23 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_destroy_layout): disconnect layout handlers earlier in the function, to avoid possible reentrancy screwups (gtk_text_view_invalidate): Don't install idle handlers if layout == NULL, otherwise we get problems during finalization since clearing the buffer invalidates and puts the idle handlers back after we destroy the layout. #74660 (gtk_text_view_ensure_layout): Install the validation handlers right after creating the layout. * gtk/gtktexttagtable.c (foreach_unref): call _gtk_text_buffer_notify_will_remove_tag(), #75126 2002-03-22 Havoc Pennington * gdk/x11/gdkfont-x11.c (gdk_fontset_load): add more explanatory text to the error message about missing charsets, and use g_printerr() not g_warning() since this is typically not a programming error (we do not export any API to ask whether a font set will have missing charsets so apps realistically can't do anything other than try the gdk_fontset_load()) * gtk/gtktextview.c (gtk_text_view_key_press_event): return FALSE if the text view isn't editable and the user presses Return, so default buttons and such can be activated, #74937 * gtk/gtktextbuffer.c (paste_from_buffer): don't insert if the insertion point is not editable and the paste is interactive, #74125 * gtk/gtkwindow.c (gtk_window_move_resize): enhance the #if 0 debug spew * gtk/gtktextbuffer.c (cut_or_copy): only remove the previous cut/copied data right before replacing it, when we know we are going to replace it. Fixes #74049 2002-03-22 Richard Hult * gdk/gdkevents.c (gdk_event_get_root_coords): Fix typo, where x value was assigned to both x and y. Fri Mar 22 11:29:11 2002 Owen Taylor Partial fix for problem where keypad keys acted as shift-arrows in an entry rather than arrows (#74327) * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Sort lookup results by number of modifiers in the entry. Fixes problem where if a key matched both modified and unmodified key bindings ... e.g., the distinguishing key binding was consumed, then it was random which was used. * gtk/gtkbindings.c (gtk_binding_entries_sort_patterns): Catch the case where there are multiple entries from the same bindingset (with different modifiers), and use only the first entry, which, with the change in _gtk_key_hash_lookup() will be the preferred value. Fri Mar 22 10:56:19 2002 Owen Taylor * gtk/gtkaccelmap.c (gtk_accel_map_save_fd): Fix memory leak. (#74400, Morten Welinder.) * gtk/gtkaccelmap.c: Properly handle short returns from write() calls. (Handling EINTR isn't enough... that only handles the case where you were interrupted before you wrote a single byte.) * gdk/linux-fb/gdkmouse-fb.c gdk/linux-fb/gdkkeyboard-fb.c: Robustify against short returns from write() calls. Fri Mar 22 10:12:10 2002 Owen Taylor * gtk/gtktextview.c (gtk_text_view_paint): Change G_BREAKPOINT() to g_assert_not_reached (). (#75865, Ashok Venkiteswaran) 2002-03-22 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Don't clear all of the pen_style, just the PS_STYLE_MASK. Seems to fix #74441, but that is just the special case of one-pixel wide one-pixel on-off dotted lines. To fully implement generic X11 style dashed lines a major rewrite would be needed. 2002-03-21 Matthias Clasen * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Trivial typo fix. (Vitaly Tishkov, #75726) Thu Mar 21 10:04:05 2002 Owen Taylor * gdk/gdkwindow.c (gdk_window_real_get_depth): Remove some left over debugging code with a G_BREAKPOINT() in it. Wed Mar 20 19:33:31 2002 Owen Taylor * gtk/gtkcalendar.c (gtk_calendar_main_button): When changing months when the user clicks on a prev-month or next-month day, focus and select the new day. Ignore double clicks on prev-month, next-month days. (Based on suggestions from Andras Salamon, #74173) * gtk/gtkcalendar.c: Implement the focused/unfocused selected color change. 2002-03-20 Alex Larsson Patches from Carlo E. Prelz Now gtkfb at least compiles and mostly works. The keyboard stuff needs more loving. * gdk/linux-fb/gdkkeyboard-fb.c (xlate_get_for_keyval, xlate_get_for_keycode, raw_get_for_keyval, raw_get_for_keycode): At least set the out parameters for these calls. * gdk/linux-fb/gdkmain-fb.c: (gdk_pointer_grab_info_libgtk_only, gdk_keyboard_grab_info_libgtk_only): Implement new functions. Wed Mar 20 19:00:03 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_set_text): Short-circuit the text to the exact same thing, so we don't unexpectedly change the selection or cursor position. (#74290, John Ellis.) Thu Mar 21 00:05:14 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_get_background_area), (gtk_tree_view_get_cell_area): fix logic (fixes #74235, #73593) Wed Mar 20 17:11:51 2002 Owen Taylor * gtk/gtkrc.c: Patch from Richard Hestilow to fix gtk-font-name changes for widgets that get the actual default style. (#73709) Wed Mar 20 22:59:23 2002 Kristian Rietveld * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height() * gtk/gtktreeprivate.h: add fixed_height_check field * gtk/gtktreeview.c (gtk_tree_view_init): initialize scroll_sync_timer and fixed_height_check (do_validate_rows): add fixed_height_check. If all validated rows in the first cycle have the same height, then we set that height for the entire tree. This is some sort of 'fake' optimization, but helps a lot for the common case. We keep validating the entire tree in the background though. (gtk_tree_view_set_model): reset fixed_height_check Wed Mar 20 16:36:08 2002 Owen Taylor * gtk/*.c: Patch from Erwann Chenede, #73900 fixing a lot of warnings with Forte CC, mostly implicit casts between void * and function pointers. * gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's state field is not a GdkModifierType. (Also #73900) Wed Mar 20 12:35:22 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_grab_default): Remove leftover notification of has-default. (#75508, Jacob Berkman.) Wed Mar 20 12:27:07 2002 Owen Taylor * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Allow arrow keys as accelerators, as long as some modifier is pressed. (#75495) * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Fix incorrect example in the docs. Wed Mar 20 12:06:30 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_child_visible): Fix segfault when widget->parent is NULL. (#75615, Alexey A. Malyshev) Wed Mar 20 11:32:07 2002 Owen Taylor * gtk/gtkentry.c: Improve test to prevent infinite loop. (#74952, Thomas Leonard) * gtk/gtkmenushell.c (gtk_real_menu_shell_cycle_focus): Fix warning when toplevel menu shell isn't a menu bar. (Thomas Leonard, #75602) Wed Mar 20 11:00:59 2002 Owen Taylor * configure.in: Use $PKG_CONFIG, not pkg-config. (LEE Sau Dan, #75572) Wed Mar 20 10:55:56 2002 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix assignment of time in scroll events. (Sven Neumann, #75574) 2002-03-20 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window): Use gdk_window_get_toplevel(), as it is the top-level windows that are registered for DND. * gdk/win32/gdkwin32.h: Don't include gdkinternals.h. 2002-03-19 jacob berkman * gtk/gtkcombo.c (gtk_combo_find): fix infinite loop when gtk_combo_func() returns NULL (bug #75464) 2002-03-18 jacob berkman * gtk/gtkaspectframe.c (gtk_aspect_frame_class_init): set the correct min/max values for the ratio property (fixes #75331) Mon Mar 18 11:55:03 2002 Owen Taylor * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): Patch from Yao Zhang fixing reference count leak. * gtk/gtkentry.c (gtk_entry_key_release): if (entry->editable), not if (!entry->editable). Mon Mar 18 11:09:17 2002 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect): Fix backwards conditional. (#75019, Dan Winship.) Sun Mar 17 01:11:16 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_request): use do_validate_rows instead of validate_rows_handler (fix by Mike Pieper, #74126) Sat Mar 16 23:54:56 2002 Kristian Rietveld * gdk/x11/gdkwindow-x11.c (gdk_window_set_static_bit_gravity): just return when we have an input_only window (fix by Owen Taylor) * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add scroll_sync_timer * gtk/gtktreeview.c (install_scroll_sync_handler): new function, (scroll_sync_handler): ditto, (gtk_tree_view_unrealize): take scroll_sync_timer into account (gtk_tree_view_row_deleted): install scroll_sync_timer instead of calling top_row_to_dy/dy_to_top_row directly -- this greatly speeds up clearing the model (#73199) * gtk/gtktreemodelsort.c (gtk_tree_model_sort_convert_path_to_child_path): fix up this function, for some reason I really screwed it up (fixes #74663) 2002-03-16 Sven Neumann * configure.in (GDK_PIXBUF_DEP_CFLAGS) (GDK_PIXBUF_XLIB_DEP_CFLAGS) (GDK_DEP_CFLAGS) (GTK_DEP_CFLAGS): include CFLAGS from gthread-2.0 so that the libs work correctly in a threaded environment. Fri Mar 15 12:51:42 2002 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_new_with_attributes): add example to docs, as people are seeming to have trouble with this function. 2002-03-15 Tor Lillqvist * configure.in: Set MATH_LIB to empty also on Win32. Fri Mar 15 15:37:01 2002 Owen Taylor * gdk/x11/gdkdrawable-x11.c (convert_to_format): Fix byte shift arithmetic for big-endian. (Tracked down with help from Tuomas Kuosmanen) Fri Mar 15 11:28:41 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func): make args const, 74159 (gtk_tree_view_insert_column_with_attributes): ditto * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): remov unused variables. Fri Mar 15 13:31:51 2002 Soeren Sandmann * gtk/gtkmenu.c (gtk_menu_leave_notify): Fix test for "active submenu". 2002-03-15 Padraig O'Briain * gdk/x11/gdkkeys-x11.c (update_keymaps): Fudge keymap to have lower upper case variants if there is only a single keysym per keycode and the key symbol has upper and lower case variants (#74512) Thu Mar 14 17:09:52 2002 Owen Taylor * gdk/gdkwindow.c (gdk_window_process_all_updates): Fix rather improbable reentrancy problem if a window is destroyed while updates are being processed on another window. (Noticed by Michael Meeks, #74708) 2002-03-14 Vitaly Tishkov * gtk/gtktreemodelsort.c typo in docs for gtk_tree_model_sort_convert_iter_to_child_iter() fixed Thu Mar 14 11:17:18 2002 Owen Taylor * gtk/gtkkeyhash.c (_gtk_key_hash_remove_entry): When removing keys from the key hash, reinsert the right list back into the hash. (Dave Camp, #74571) Wed Mar 13 17:17:40 2002 Owen Taylor * gtk/gtkobject.h: Remove left-over GTK_OBJECT_CONNECTED macro that was defined in terms of the now-gone GTK_CONNECTED flag. (Seth Burgess, #74028) Wed Mar 13 17:11:10 2002 Owen Taylor * gtk/gtkaccelgroup.c (accel_group_weak_ref_detach): Unset the acceleratable_groups qdata because qdata isn't removed on ->dispose but rather on ->finalize. (#74569, found by Matt Wilson.) Tue Mar 12 23:14:23 2002 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix cut-n-paste bug. Sat Mar 9 18:23:25 2002 Richard Hestilow * gtk/gtkimage.c (gtk_image_set_from_filename): Allow NULL filenames. Tue Mar 12 10:50:09 2002 Owen Taylor * modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): Fix incorrect return value, filter out returns of 0x7f for the delete key. (#74179, Kang Jeong-He) Mon Mar 11 23:42:11 2002 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_model_foreach): fix totally broken foreach function. 2002-03-11 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document gtk_{menu_item,widget}_set_accel_path() as the recommended API. (#69244) 2002-03-11 James Henstridge * configure.in: set CCAS and CCASFLAGS to get automake 1.6 compatibility without breaking things for people using 1.4. Sun Mar 10 21:04:30 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_button_press): finally get the right behavior. Mon Mar 11 01:25:14 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): compare path with cursor path and not with the selected iter in the 'decide to edit' check