2005-08-24 Matthias Clasen * === Released 2.8.1 === * NEWS: Updates 2005-08-24 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect against lazy filterers which return values other than TRUE or FALSE from their visible func. (#314335) 2005-08-23 Owen Taylor Fix for #314004, reported by Michael Reinsch: * gdk/gdk.symbols: * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only() Add gdk_screen_get/set_resolution_libgtk_only() * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set the options for the screen on the newly created context. * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: Move font options and dpi code from gtkwidget.c to gtksettings.c, set the font options on the screen. * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get the font options from the screen and set them on the context. 2005-08-23 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't bother inserting new rows in a level with a zero refcount and immediately free the level. (Fixes #312350, reported by Markku Vire). 2005-08-23 Matthias Clasen * gtk/updateiconcache.c: Complain when there is no index.theme file in the specified directory, unless --force is used. Also add an --index-only option to create caches without image data. * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a C99ism. (#314262, Robert Jeff Mitchell) 2005-08-22 Manish Singh * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload. * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles. 2005-08-22 Matthias Clasen * gtk/gtkwindow.c (gtk_window_client_event): * gtk/gtkicontheme.c (ensure_valid_themes) (_gtk_icon_theme_check_reload): Implement a clientmessage based scheme for makeing sure that all GTK+ applications notice if an icon theme has been updated. This should prevent multiple versions of an icon theme cache to be mapped in memory at the same time, which can cause excessive memory consumption. (#313156, Chris Lahey) 2005-08-22 Matthias Clasen * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note regarding icon theme changes. * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning pixbufs which are backed by the mmapped memory of an icon cache, increase the refcount of the icon cache, so that the memory is not munmapped away underneath the pixbuf upon icon theme changes. (#314170, Kjartan Maraas) * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order to link against Xext. (#314062) * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer overruns. (#314081, Hans Breuer) 2005-08-20 Matthias Clasen * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the returned layout must not be modified. Sat Aug 20 16:12:14 2005 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_model): clear scroll_to_path if the model changes. * gtk/gtkiconview.c: (gtk_icon_view_destroy), (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor), (gtk_icon_view_scroll_to_path): Handle scrolling to a path before we're realized, #312798 (gtk_icon_view_set_model): clear scroll_to_path if the model changes. 2005-08-20 Matthias Clasen * gtk/gtkrange.c (gtk_range_adjustment_changed) (gtk_range_adjustment_value_changed): Don't queue a draw if the layout has not changed. (#313991, Benjamin Berg) 2005-08-19 Matthias Clasen * gtk/gtktreeitem.c: Remove duplicate lines. (#313344, Benoit Carpentier) * modules/engines/ms-windows/msw_style.c (setup_system_styles): Fix a typo. * gtk/gtkfilechooserbutton.c (change_icon_theme) (model_add_special, model_add_special, model_add_volumes): Handle pixbuf being NULL without warnings. Also, don't leak pixbuf references when the icon theme is changed. * gtk/gtkmain.c (gtk_get_event_widget): Don't access the user data on destroyed windows, since at best it can be a stale pointer. (#313953, Robin Green) 2005-08-19 Matthias Clasen * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun. (#313900, Sebastien Bacher) * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return FALSE if the tree is empty. (#313891, Guillaume Cottenceau) * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) (xdnd_read_actions, get_client_window_at_coords_recurse): Free data returned from XGetWindowProperty. * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) Free data returned from XGetWindowProperty. (313867, Kjartan Maraas) * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free children in all cases. (#313862, Kjartan Maraas) * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs in the per-directory hash, even if they come from the icon cache. We tried to avoid that before, but as a result leaked icon data structs. (#313852, Kjartan Maraas) 2005-08-18 Matthias Clasen * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect signal handlers on destroy, not on finalize. (#313759, Brett Atoms) 2005-08-15 Owen Taylor * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config files for x11/xext. (Jonas Bonn) 2005-08-15 Tor Lillqvist * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout inside GTK_NOTE. 2005-08-15 Owen Taylor * configure.in: Fix have_base_pc / have_base_x_pc typo. * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes. (#313417, James Andrewartha) * configure.in: Add fontconfig to X_PACKAGES, since we use it for FcNameConstant(). (More of #313417) 2005-08-15 Matthias Clasen * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for modal dialogs, make sure to inherit the window group from the parent, since we don't inherit window groups across transient parents currently. (#312918, Christian Persch) * gtk/gtkmessagedialog.c (gtk_message_dialog_new): * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. * gtk/gtkiconview.c (gtk_icon_view_select_path) (gtk_icon_view_scroll_to_path): Handle paths of depth 0 gracefully. (#312796, Jonathan Blandford) * tests/testtoolbar.c: Add some more tests for menu placement. * gtk/gtkmenutoolbutton.c (menu_position_func): * gtk/gtktoolbar.c (menu_position_func): Improve positioning of toolbutton menus and of the overflow menu. (#312937, #153870, Christian Persch, Paolo Borelli) 2005-08-15 Tor Lillqvist * gtk/updateiconcache.c: Use g_path_get_dirname() instead of the nonportable and dirname(). 2005-08-15 Matthias Clasen * gtk/gtksizegroup.c: Use object data to mark widgets and groups as visited, so that we avoid constant extra list traversals. Also allocate quarks in class_init. (#311618, Michael Natterer) * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the download location for the hicolor icon theme. (#313475, Olexiy Avramchenko) * gtk/gtkicontheme.c: Remove debug spew. 2005-08-15 Owen Taylor * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap): Handle pixmap == NULL when checking for a colormap. (Allin Cottrell). 2005-08-14 Matthias Clasen * gtk/updateiconcache.c: Store only one copy of the pixel data for symlinked icons. To achieve this, maintain a hashtable mapping pathnames to pixel data, and share the pixel data for all symlinks resolving to the same pathname. When writing out the image data, write out the pixel data only the first time it is met, and store the offset pointing to the first copy for use in all later cases. This reduces the size of the Bluecurve icon cache from 40 to 13MB. (#312972)