Tue Apr 30 15:59:53 2002 Owen Taylor * tests/testmultiscreen.c: Multi-screen test case form multihead branch with a few cleanups. (Get rid of use of g_object_connect()) * tests/testmultidisplay.c: Multi-display test case from multihead branch with a few improvements. (Allow the other display name to be passed on the command line, use a GtkDialog to get more attractive spacing.) Tue Apr 30 14:23:43 2002 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_open_display): fix problem with finalizing non-initialized fully display when failing to open display. * tests/testxinerama.c: Xinerama test case from multihead branch, with some cleanups. (Start even if there is only one monitor, for one.) Tue Apr 30 14:15:14 2002 Owen Taylor * gtk/gtkfilesel.c gtk/gtkselection.c: Doc fixes. 2002-04-30 Erwann Chenede - * gdk/x11/gdkimage-x11.c : rationalized multihead code in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems. 2002-04-30 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use gtk_text_layout_invalidate_cache instead of cut-and-paste (gtk_text_layout_real_invalidate): always invalidate cache, even if the line has no stored line data. #78573 * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to gtk_text_view_ensure_layout, #77388 (gtk_text_view_get_iter_at_location): ditto (gtk_text_view_get_line_yrange): ditto (gtk_text_view_get_line_at_y): ditto 2002-04-30 Havoc Pennington * gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign something to "prev" so that removing tag info succeeds. Part of #77301 * gtk/gtktextbtree.c (_gtk_text_btree_unref): reorder so that it unrefs the tag table first, so that the btree is in a consistent state when we're removing tags from it. Tue Apr 30 12:28:27 2002 Owen Taylor * gdk/gdkdisplay.c gdk/gdkpango.c gdk/gdkpixmap.c gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkx.h: Doc fixes. Tue Apr 30 11:37:09 2002 Owen Taylor * modules/input/gtkimcontextxim.c: Make multihead-safe; use a different IM context per display. * configure.in acconfig.h: Add Xinerama checks from multihead branch, changing HAS_XINERAMA => HAVE_XINERAMA. * gdk/x11/gdkdisplay-x11.c: HAS_XINERAMA => HAVE_XINERAMA. 2002-04-29 Alex Larsson * gdk/gdkpango.c (gdk_draw_layout_line_with_colors): Use tmp also if foreground is set. Mon Apr 29 18:28:00 2002 Owen Taylor Integrate Erwann Chenede's multihead changes for the gtk/ directory. * gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(), make internals multihead aware. * gtk/gtkcolorsel.[ch]: Add gtk_color_selection_set_change_palette_with_screen_hook () [ugh!] make up for non-multihead safety of gtk_color_selection_set_change_palette_hook() * gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add gtk_{invisible,menu,window}_set_screen(); add "screen" properties for GtkWindow and GtkMenu. * gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(), gtk_plug_new_for_display(). Multihead fixes. * gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(), make internals multihead aware. * gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get rid of now-useless gtk_settings_constructor(). * gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix check/radio button indicators bitmap handling to be multihead safe. * gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(), gtk_widget_get_display(), gtk_widget_get_clipboard(), gtk_widget_get_root_window(). * gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c: misc mechanical multihead-safety fixes. * gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for the dropper, look up the color palette only at realization time, other multihead fixes. * gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when unrealizing. * gtk/gtkentry.c: Only claim ownership of the primary selection when realized, misc multihead fixes. * gtk/gtkfontsel.c: Only fill in fonts when attached to a screen, fix gtk_font_selection_get_font() for multihead. * gtk/gtkgc.c: make the depth => drawable hash per-screen. * gtk/gtkinvisible.c: Add a constructor that realizes the widget, so we get a realized widget with g_object_new() as well gtk_invisible_new() as before. * gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap variables. * gtk/gtktextdisplay.c: Add warnings if stipple bitmaps are used on the wrong screen. * gtk/gtktoolbar.c: Make handling of GtkSettings-based layout read properties and connect to settings when the screen is changed, rather than on init/finalize. * gtk/gtkwindow.c: Fix icon handing to be multihead safe ... default icon pixmaps/mask are only shared between windows on the same screen. Misc multihead fixes. Sat Apr 27 13:49:53 2002 Owen Taylor * gtk/gtkclipboard.c (gtk_clipboard_get_for_display): Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE. 2002-04-29 Alex Larsson * gdk/linux-fb/gdkproperty-fb.c (gdk_property_get): Fix silly bug, noticed by Sven Neumann. Sun Apr 28 22:43:55 2002 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix so that you can set a new sort func. 2002-04-27 Anders Carlsson * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new_for_display): Use GDK_DISPLAY_XDISPLAY instead of GDK_SCREEN_XDISPLAY since we pass in a GdkDisplay * in the macro. 2002-04-26 Anders Carlsson * gdk/gdkdisplay.c: (gdk_set_default_display): Call _gdk_windowing_set_default_display. * gdk/gdkinternals.h: * gdk/x11/gdkmain-x11.c: (_gdk_windowing_set_default_display): New function that sets gdk_display to the default display. Fixes #79965 Fri Apr 26 21:58:16 2002 Kristian Rietveld * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the deleted node was "below" this path, then do not unref all nodes between the deleted parent and the node this rowref is pointing too (see added comment in gtk_tree_row_ref_deleted_callback), (fixes #77977) 2002-04-26 Sven Neumann * tests/testtreecolumns.c * tests/testtreeview.c: quit the main loop when the window is destroyed. Removed compiler warnings about wrong format in printf(). Fri Apr 26 21:46:42 2002 Kristian Rietveld This commit fixes binary compatibility, which I broke with my recent cell renderer commits :/. * gtk/gtkcellrenderer.h: move cell_background out of _GtkCellRenderer * gtk/gtkcellrenderer.c: create GtkCellRendererInfo, with the cell_background field and use this as object data. This way we keep the field private and dont break ABI. * gtk/gtkcellrendererpixbuf.h: remove stock_id, stock_size and stock_detail from _GtkCellRendererPixbuf * gtk/gtkcellrendererpixbuf.c: create a GtkCellRendererPixbufInfo with above mentioned fields. And update everything. Fri Apr 26 21:42:02 2002 Kristian Rietveld * gdk/x11/gdkdrawable-x11.h: include X11/Xlib.h, fixes the build Fri Apr 26 10:34:15 2002 Owen Taylor * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): Add missing gdkscreen/display-x11.h files. Thu Apr 25 16:51:40 2002 Owen Taylor Start of integration of Erwann Chenede's multihead work from the gtk-multihead branch. * gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch] gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkscreen-x11.[ch] New classes representing a set of screens with attached input devices and a single contiguous area, respectively. * gdk/gdk.[ch] gdk/gdkinternals.h gdk/x11/gdkmain-x11.c: gdk/x11/gdkprivate-x11.h: Make the initialization interface simple _gdk_windowing_init() and do the rest in gdk_open_display() calls. * gdk/gdk.[ch]: Add gdk_parse_args() which can be used to do the display-independent part of initialization instead of gdk_init_[check]. * gdk/gdkcursor.h gdk/gdkfont.h gdk/gdkkeys.h gdk/gdkpixmap.h gdk/gdkproperty.h gdk/gdkselection.h gdk/gdkwindow.h: Add multihead variants (_for_display(), for_screen()) of functions getting information specific to a particular screen screen or display. * gdk/gdkscreen.[ch]: Add gdk_screen__* variants of functions like gdk_rgb_get_colormap() that used to get/list global objects. * gdk/x11/gdkx.h: Add functions for converting GdkScreen and GdkDisplay into the X equivalents. * gdk/x11/gdkwindow-x11.c: Removed gdk_window_xid_at_coords() not in the headers and unused. * configure.in gdk/x11/{gxid.c,gxid_lib.[ch],gdkinput-gxi.c}: Remove gxid support ... has not been tested for a long time... "xfree" support is more portable to non XFree86. * gdk/**.h: Add a GDK_MULTIHEAD_SAFE define that can be used to turn off functions that are inherently non-multihead safe. * gdk/**.c: add GDK_NOTE(multihead, ...) calls when functions are used in non-multihead-safe ways. * gdk/*.c gdk/x11/*.c: Changes to make the internals of GDK multihead safe. Thu Apr 25 23:49:01 2002 Kristian Rietveld Fixes #74206. * gtk/gtktreeprivate.h: add _gtk_tree_view_column_count_special_cells * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_has_editable_cell), (_gtk_tree_view_column_get_editable_cell): remove a space which made the code look ugly (_gtk_tree_view_column_count_special_cells): new function, (gtk_tree_view_column_cell_process_action): if there's only one activatable cell, the whole column will activate that renderer. Thu Apr 25 23:36:55 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_search_iter): make the search dialog not scroll horizontally (prolly fixes #74806). 2002-04-25 Matthias Clasen * gtk/gtkrange.c (gtk_range_calc_layout): Avoid a possible division by zero. (#77820) Thu Apr 25 20:24:37 2002 Soeren Sandmann * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): use the child's requisition.height, not allocation.height, as width of submenu indicator. (#75948) Thu Apr 25 00:26:34 2002 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func): resort if we're already in 'unsorted' state, and update the docs 2002-04-24 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_stop_editing): Remove doc comment markers on freeform comments. Wed Apr 24 17:34:16 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_stop_editing): temporarily set ->priv->edited_column to NULL. Pleas read the comment in this function for an explanation (fixes #79632). 2002-04-23 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_buffer_to_window_coords): (gtk_text_view_window_to_buffer_coords): Improve docs. (#62359) Tue Apr 23 18:35:34 2002 Kristian Rietveld This commit adds a cell_background property for cell renderers. With this property you can make your TreeView look incredibly ugly. * gtk/gtkcellrenderer.c: add cell_background, cell_background_gdk and cell_background_set properties, (set_cell_bg_color): new function, (gtk_cell_renderer_get_property), (gtk_cell_renderer_set_property): support for new properties, (gtk_cell_renderer_render): render a background when set. * gtk/gtkcellrenderer.h: add cell_background_set and cell_background fields. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): when rendering, pass in just the background_area of the cell and not the background_area of the entire column. 2002-04-22 Anders Carlsson * gtk/gtkentry.c (gtk_entry_drag_data_get): Use gtk_entry_get_public_chars. Fixes #79532 (Reported by Ovidiu Gheorghioiu). Mon Apr 22 19:24:29 2002 Kristian Rietveld This commit adds stock icon functionality to GtkCellRendererPixbuf which is totally cool. * gtk/gtkcellrendererpixbuf.h: add some fields * gtk/gtkcellrendererpixbuf.c: add finalize method, add some properties, add some stock icon rendering code. * demos/gtk-demo/stock_browser.c: modified to use the stock icon stuff in the cellrendererpixbuf instead of its own stock icon rendering code. 2002-04-21 Alexander Larsson * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Save x and y in window_private. * gtk/gtkplug.c (_gtk_plug_add_to_socket): Move plug window outside the visible area to avoid flashing until the first size_allocate. 2002-04-21 Matthias Clasen * gtk/gtktextiter.c (gtk_text_iter_forward_search): More verbose description of match_start and match_end return values. (#57929) * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): * gtk/gtktreeview.c (_gtk_tree_view_column_autosize): Remove doc comment markers on freeform comments. * gtk/gtktreemodelsort.c (gtk_tree_model_sort_convert_path_to_child_path): Doc fixes. (#68404) Sat Apr 20 21:15:11 2002 Soeren Sandmann * gtk/gtkmenuitem.c: add "selected_shadow_type" style property Sat Apr 20 12:07:14 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept NULL for color to mean "unmodify" * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for font_desc to mean "unmodify". Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW with GDK_IS_DRAWABLE in the assert, only check GDK_WINDOW_DESTROYED if window is a GdkWindow, (gdk_bitmap_create_from_data): ditto, (gdk_pixmap_create_from_data): ditto Fri Apr 19 23:38:16 2002 Kristian Rietveld Fixes #50310. * gtk/gtktreeprivate.h: add _gtk_tree_view_column_autosize * gtk/gtktreeview.c: privately export _gtk_tree_view_column_autosize, and add a small note about that function, (gtk_tree_view_button_press): check for double click and "not having an autosize" column before autosizing the column, * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_min_width): call _gtk_tree_view_column_autosize to update autosized column width (gtk_tree_view_column_set_max_width): ditto 2002-04-20 Matthias Clasen * TODO, TODO.xml, README.nanox, docs/Changes-1.2.txt, docs/Changes-2.0.txt, docs/gtk-config.txt, docs/debugging.txt, gdk/TODO: Remove some files whose content is either obsolete or has been moved elsewhere. * Makefile.am, gtk+.spec.in, docs/Makefile.am: Remove references to these files. Fri Apr 19 21:31:04 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_row_changed): cancel editing if tree_view->priv->edited_column != NULL (fixes #76066) Fri Apr 19 21:06:39 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): subtract TREE_VIEW_HEADER_HEIGHT from allocation->height to get the real size for the tree (fixes #72729), (gtk_tree_view_real_start_editing): correct cell_area->y for scrolling due to gtk_tree_view_real_set_cursor (fixes #75687) Fri Apr 19 16:30:09 2002 Kristian Rietveld * gtk/gtktreeprivate.h, gtk/gtktreeview.c: rename last_single_clicked{,_2} to last_button_press{,_2}, as the latter is a more sane name. * gtk/gtktreeview.c (gtk_tree_view_button_press): use ->priv->anchor instead of ->priv->cursor, check for the anchor at another place, as you can go in edit mode without having an anchor. 2002-04-18 Matthias Clasen * gtk/gtkitemfactory.c: * gtk/gtkiconfactory.c: * gtk/gtkwidget.c: * gtk/gtkstyle.c: * gtk/gtkrc.c: * gtk/gtktreeviewcolumn.c: * gtk/gtkdialog.c: * gtk/gtktreemodel.c: s///g throughout the documentation to bring the produced Docbook closer to XML. 2002-04-18 Tor Lillqvist * gdk-pixbuf/Makefile.am (uninstall-libtool-import-lib) * gdk/Makefile.am (uninstall-libtool-import-lib): Fix typo, thanks to David Sterba for noticing. * gtk/gtkmain.h * gtk/gtkmain.c (gtk_init_abi_check, gtk_init_check_abi_check): In GTK+ 2.0 the GtkWindow struct actually is the same size in gcc on Win32 whether compiled with -fnative-struct or not. Unfortunately this wan't noticed until now. So, from now on, check some other struct, too, for which the use of -fnative-struct still matters. GtkBox is one such. Thu Apr 18 00:23:31 2002 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_convert_path_to_child_path): so this function was completely broken. Fix it and improve readability. 2002-04-17 Anders Carlsson * tests/testtreeedit.c (button_press_event): Add a small test case. Wed Apr 17 00:21:36 2002 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_insert_before): fix docs Tue Apr 16 17:28:21 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check ->priv->cursor and ->priv->anchor rowrefs before removing node->children from the rbtree. Also check the ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs (I think I really need to rename those two someday). Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators from locked accel groups. * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal children when doing focus. (gtk_container_get_all_children): new static function to include internal children when making a list of them. Sun Apr 14 16:56:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and _gtk_tree_view_column_get_neighbor_sizes * gtk/gtktreeviewcolumn.c (struct _GtkTreeViewColumnCellInfo): add real_width field, (_gtk_tree_view_column_get_editable_cell): implement, (gtk_tree_view_column_cell_process_action): fill info->real_width (_gtk_tree_view_column_get_neighbor_sizes): implement * gtk/gtktreeview.c (gtk_tree_view_button_press): make the "editable widget" show up with the same size as the actual cell, so it doesnt cover the complete column if there are any other cells in that column. 2002-04-14 Abigail Brady * gtk/gtkfilesel.c: Fix typo in message. 2002-04-13 Havoc Pennington * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): create the target pixbuf AFTER filling in width/height, so that passing in -1 for width/height will work. Sat Apr 13 22:49:45 2002 Kristian Rietveld Fixes #75510 * gtk/gtktreeselection.c (gtk_tree_selection_get_selected): make this function work correctly and more sane * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): remove node->children from rbtree before emitting GtkTreeSelection::changed Sat Apr 13 17:15:12 2002 Kristian Rietveld * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_init): dont set the mode to GTK_CELL_RENDERER_MODE_EDITABLE by default, (gtk_cell_renderer_text_class_init): for some reason our default for editable was TRUE, of course this is FALSE. (gtk_cell_renderer_text_set_property): update mode when editable has been changed. 2002-04-12 jacob berkman * gdk/x11/xsettings-client.c (fetch_card8): fix cut-n-paste bug which breaks big-endian machines (fixes #73585) 2002-04-12 Havoc Pennington * gtk/gtknotebook.c (gtk_notebook_real_remove): relocate the remove_weak_pointer to just before we free the page, to be sure it doesn't get re-added. #75282 Fri Apr 12 18:32:46 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): add clamp_node argument (toplevel): update usages of gtk_tree_view_real_set_cursor, (gtk_tree_view_focus_to_cursor): don't let gtk_tree_view_real_set_cursor clamp the node, so you won't get unexpected scrolling 2002-04-11 Michael Meeks * gtk/gtklabel.c (gtk_label_parse_uline, gtk_label_set_text), (gtk_label_set_text_with_mnemonic): add freeze / thaws to stop deluge of 'notify' signals. Sat Apr 6 06:57:00 2002 Owen Taylor * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export private _gtk_menu_shell_activate() to encapsulate cut-and-paste code. * gtk/gtkmenubar.c: Select the first item on the menu bar for F10 rather than acting as if the user pressed F to select the file manager. Tue Apr 9 19:01:28 2002 Owen Taylor Fix problems with HandleBox and focusing - #78232 * gtk/gtkwidget.c (gtk_widget_translate_coordinates): Handle GtkHandleBox / GnomeDock style window heirarchy / widget heirarchy disconnects. :-(. * gtk/gtkcontainer.c: Handle failures from gtk_widget_translate_coordinates (Focusing is not right, but at least it doesn't go into infinite loops.) Tue Apr 9 18:34:58 2002 Owen Taylor * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy, even if we aren't currently in a resize container... we need this to properly handle size changes to widgets that are being moved from one heirarchy to another. (#78226) Tue Apr 9 21:41:24 2002 Kristian Rietveld Fixes #78110 * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): add override_browse_mode argument and implement, (gtk_tree_selection_unselect_path): always unselect the path, (toplevel): update uses of _gtk_tree_selection_internal_select_node * gtk/gtktreeview.c: update uses of _gtk_tree_selection_internal_select_node * gtk/gtktreeprivate.h (_gtk_tree_selection_internal_select_node): update prototype Tue Apr 9 21:39:44 2002 Kristian Rietveld Fixes #77862 * gtk/gtktreeprivate.h: add _gtk_tree_view_column_has_editable_cell * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_has_editable_cell): new function * gtk/gtktreeview.c (gtk_tree_view_button_press): send cell event on first click when cell isn't editable Tue Apr 9 21:37:31 2002 Kristian Rietveld * gtk/gtktreedatalist.c (_gtk_tree_data_list_check_type): add some types which were missing and useful to use (fixes #77870) 2002-04-09 Anders Carlsson * gtk/gtkfilesel.c (open_new_dir): Initialize error to NULL. 2002-04-08 Manish Singh * tests/testgtk.c: really revert testgtk.c Mon Apr 8 20:28:54 2002 Kristian Rietveld * gtk/gtktreeselection.c (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path), (gtk_tree_selection_path_is_selected): check the return value of _gtk_tree_view_find_node and return if it's TRUE. This makes those functions work somewhat saner on non-expanded trees. Fri Apr 5 18:28:56 2002 Kristian Rietveld * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): free anchor row reference after unselecting the selection (fixes #76272) Fri Apr 5 18:27:48 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_expand_row): only return when we don't have to open all children (fixes #75736) Fri Apr 5 18:24:24 2002 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear): unref cellrenderer after clearing the attributes of the renderer (fixes #75592) Fri Apr 5 05:55:14 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_grab_focus): implement. (gtk_tree_view_move_cursor_up_down): check for focus (gtk_tree_view_move_cursor_page_up_down): ditto (gtk_tree_view_move_cursor_left_right): ditto (gtk_tree_view_move_cursor_start_end): ditto (gtk_tree_view_real_select_all): ditto (gtk_tree_view_real_unselect_all): ditto (gtk_tree_view_real_select_cursor_row): ditto (gtk_tree_view_real_toggle_cursor_row): ditto (gtk_tree_view_real_expand_collapse_cursor_row): ditto (gtk_tree_view_real_select_cursor_parent): ditto (gtk_tree_view_real_start_interactive_search): ditto * gtk/gtktreeviewcolumn.c: grab focus 2002-04-05 Alex Larsson * gdk/linux-fb/gdkkeyboard-fb.c (write_string): Fix undefined variable typo. Patch from Simon Floery Fri Apr 5 01:06:15 2002 Tim Janik * gdk/x11/gdkwindow-x11.c (set_text_property): fix segfault upon NULL return from gdk_utf8_to_string_target(). * gdk/x11/gdkselection-x11.c (gdk_utf8_to_string_target): fix return value comment to mention NULL returns upon EMFILE. Thu Apr 4 22:35:42 2002 Soeren Sandmann * tests/testgtk.c (menu_items): revert accidentally commited change to testgtk.c Thu Apr 4 22:28:08 2002 Soeren Sandmann * gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem with menu titles being clipped (#75948) 2002-04-04 Tor Lillqvist * gdk/gdkrgb.c: Fix some bugs, and introduce a minor feature. (gdk_rgb_convert_4_pack): New function, for 16-color (4 bits per pixel) static visuals (fixes #858). (gdk_rgb_convert_gray4_pack, gdk_rgb_convert_gray4_d_pack): Fix same bugs in both functions: Odd start coordinate (partial byte) was not handled correctly. Also a partial final byte was not handled correctly. (gdk_rgb_do_colormaps): Use G_N_ELEMENTS. (gdk_rgb_create_info): For pseudocolor visuals, use the 2x2x2 colorcube only for depths 3 and 4. For static color, use it for depths 3..7 like before. (Depth 5..7 pseudocolor probably never occurs on X11. It doesn't normally occur on Win32 either, but there is experimental code in gdkvisual-win32.c to let the user restrict the size of palette used.) (gdk_rgb_init): Set gdk_rgb_verbose if the GDK_DEBUG_GDKRGB flag is set. (gdk_rgb_select_conv): Use gdk_rgb_convert_8 also for depths 5, 6 and 7 (see above). Use gdk_rgb_convert_4_pack for 4 bits per pixel static color. Tue Apr 2 11:10:13 2002 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_set_sort_func): set the sort_func correctly, 77030 Tue Apr 2 13:44:27 2002 Tim Janik * configure.in: update version to 2.0.2, binary age 2, interface age 2. * NEWS: updates for 2.0.2. Mon Apr 1 22:20:24 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): add check for y > tree_view->priv->height (fixes #76974) Mon Apr 1 22:19:39 2002 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_sort_level): get the stamp changes right this time Mon Apr 1 22:13:24 2002 Kristian Rietveld * gtk/gtktreemodel.c (gtk_tree_row_reference_free): only disconnect the ref callbacks when model == proxy (Thanks go to Manuel Clos Crespo for the remote debugging) Sat Mar 30 15:19:24 2002 Kristian Rietveld * gtk/gtktreemodelsort.c: revert the latest stamp increment changes, as it broke stuff for trees Fri Mar 29 18:15:12 2002 Owen Taylor * ===== Released 2.0.1 ====== Fri Mar 29 18:09:18 2002 Owen Taylor * gtk/gtkaccelgroup.c (gtk_accel_group_query): Call gdk_keyval_to_lower() on the key passed in, since we lowercase all other key vals passed in, so querying keyvals will otherwise fail if the caller used an uppercase accelerators (#76899, Vitaly Tishkov) Fri Mar 29 17:41:21 2002 Owen Taylor * gtk/gtkmain.c (load_modules): Fix screwup in handling of module path that was resulting in freed memory being accessed when both GTK_MODULES and a theme were set. (#76902, Johan Dahlin) Fri Mar 29 17:57:36 2002 Owen Taylor * gtk/gtkiconfactory.c (get_default_icons): Fix wrong stock id's for ADD/REMOVE. (#76915, Vitaly Tishkov) 2002-03-29 Hans Breuer * gtk/gtkmain.h : fix typo in gtk_init_check macro, which caused crashes if argc != 0 * gtk/stock-icons/makefile.msc : added new icons 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