2008-05-29 Matthias Clasen * === Released 2.13.1 === * NEWS: Updates 2008-05-29 Matthias Clasen * gtk/gtkwidget.c: s/2.16/2.14/ in Since tags 2008-05-29 Matthias Clasen * tests/Makefile.am: Don't add testmountoperation to TEST_PROGS. 2008-05-29 Tor Lillqvist Bug 535526 - updateiconcache.c: using open/close without prototype * gtk/updateiconcache.c: Include if _MSC_VER. Also, use g_utime() when available instead of utime() for UTF-8 pathname support on Windows. 2008-05-29 Jan Arne Petersen Bug 56355 – GtkLabel - Not all changes propagate correctly * gtk/gtklabel.c: (gtk_label_recalculate), (gtk_label_set_label), (gtk_label_set_markup_with_mnemonic), (gtk_label_parse_uline), (gtk_label_set_text_with_mnemonic), (gtk_label_set_use_underline): Call gtk_label_setup_mnemonic from gtk_label_recalculate. Add notifications of mnemonic-keyval changes. 2008-05-27 Matthias Clasen Bug 522084 – GIcon support for GtkIconTheme & GtkImage * gtk/gtkicontheme.[hc]: Add support for GIcon based lookups. * gtk/gtkimage.[hc]: Allow setting an image from a GIcon. * gtk/gtk.symbols: Additions * tests/testimage.c: Add a GIcon test 2008-05-29 Michael Natterer * gtk/Makefile.am * gtk/gtkunixprint.h: add a single-include header for the unix print stuff. * gtk/gtkpagesetupunixdialog.h * gtk/gtkprinter.h * gtk/gtkprintjob.h * gtk/gtkprintunixdialog.h: add single-include guards that #error out if GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is included individually. * gtk/gtkprintbackend.h * gtk/gtkprinter-private.h * modules/printbackends/cups/gtkprintbackendcups.c * modules/printbackends/cups/gtkprintercups.h * modules/printbackends/lpr/gtkprintbackendlpr.c * tests/buildertest.c * tests/defaultvaluetest.c * docs/tools/widgets.c: include instead of individual files. 2008-05-28 Michael Natterer * gtk/gtk*.h: whitespace cleanup: remove trailing whitespace and excess newlines and sprinkled some newlines where needed. Zero code or formatting changes included. 2008-05-28 Michael Natterer * gtk/gtkprinter.h: fix formatting of details_acquired() signal. 2008-05-28 Michael Natterer * gtk/gtkcolorbutton.h: fix comment: the widget is called GtkColorButton, not GtkColorSelectButton. Remove trailing whitespace and excess newlines. 2008-05-28 Michael Natterer * configure.in: last but not least, add G_DISABLE_SINGLE_INCLUDES, GDK_PIXBUF_DISABLE_SINGLE_INCLUDES and GTK_DISABLE_SINGLE_INCLUDES to CPPFLAGS so it's impossible to commit code that would break apps which use DISABLE_INCLUDE defines. 2008-05-28 Michael Natterer * gtk/gtk.h: define __GTK_H_INSIDE__ around including all other headers. * gtk/gtktypebuiltins.h.template * gtk/gtkversion.h.in * gtk/gtk*.h: add single-include guards that #error out if GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is included individually. * gtk/gtkprintbackend.h * gtk/gtkprinter-private.h * gtk/gtktextlayout.h * gtk/gtktexttagprivate.h * gtk/gtktexttypes.h * gtk/gtktreedatalist.h: include instead of individual headers in these private or semi-private headers. * gtk/gtkimmodule.h: also here because it's not in gtk.h. * gtk/gtkpagesetupunixdialog.h * gtk/gtkprinter.h * gtk/gtkprintjob.h * gtk/gtkprintunixdialog.h: likewise in the gtkunixprint headers. * gtk/gtkclist.h * gtk/gtkcombo.h * gtk/gtkctree.h * gtk/gtkfilesel.h * gtk/gtkitemfactory.h * gtk/gtklist.h * gtk/gtklistitem.h * gtk/gtkoldeditable.h * gtk/gtkoptionmenu.h * gtk/gtkpixmap.h * gtk/gtkpreview.h * gtk/gtksignal.h * gtk/gtktipsquery.h: whenever possible, include only instead of individual headers in these deprecated headers. They don't get included at all when GTK_DISABLE_DEPRECATED is defined, so if an app needs them anyway, it must undef GTK_DISABLE_DEPRECATED and include them individually, which should continue to work. * gtk/gtkclist.c: include "gtkctree.h" because of the change above. 2008-05-28 Kristian Rietveld Bug 449625 - crash in gtk_tree_view_real_move_cursor at gtktreeview.c:9641 * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): cursor_offset *must* be larger than background height of the cursor node, not just equal otherwise there is no guarantee there is a next node. 2008-05-28 Michael Natterer * gtk/gtktestutils.c: don't include . 2008-05-28 Michael Natterer * gdk/gdk.h: define __GDK_H_INSIDE__ around including all other headers. * gdk/gdkenumtypes.h.template * gdk/gdk*.h: add single-include guards that #error out if GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is included individually. Also removed some redundant includes and did some tiny trailing whitespace removal that's not worth to commit separately. * gdk/gdkprivate.h: include instead of individual files. * gdk/win32/gdkwin32.h * gdk/x11/gdkx.h: only include and remove all other includes. 2008-05-28 Kristian Rietveld Bug 504087 - make gtk_tooltip_set_custom a no-op for setting the current widget again. * gtk/gtktooltip.c (gtk_tooltip_set_custom), (gtk_tooltip_reset), (gtk_tooltip_run_requery): use a custom_was_reset field to check if the custom widget is set again in the query-tooltip callback; if not, we set it to NULL. Based on a patch by Xavier Claessens, insightful comments from Jean-Yves Lefort and Christian Persch. 2008-05-28 Michael Natterer * modules/printbackends/cups/gtkcupsutils.c * modules/printbackends/cups/gtkprintbackendcups.c * modules/printbackends/file/gtkprintbackendfile.c * modules/printbackends/lpr/gtkprintbackendlpr.c: include instead of individual files. 2008-05-28 Michael Natterer * demos/testpixbuf.c: include instead of individual files. 2008-05-28 Kristian Rietveld Bug 498010 - gtk_tree_view_set_cursor fails if model!=NULL. * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): return if fail ->priv->tree != NULL. Suggestion from Stefan Kost. 2008-05-28 Kristian Rietveld Bug 324282 - add selected signal to cell renderer combo. * gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init), (gtk_cell_renderer_combo_changed), (gtk_cell_renderer_combo_start_editing): add a new "changed" signal that will be emitted as soon as the combo box emitted changed and has an active iterator. (Modified patch based on work by James Pelletier). * gtk/gtkmarshalers.list: add marshaler. 2008-05-28 Kristian Rietveld Refactor expand/collapse timeout handling (amendment to bug 511217). * gtk/gtktreeview.c (add_expand_collapse_timeout), (remove_expand_collapse_timeout): new functions, the remove function also clears expanded_collapsed_node, (cancel_arrow_animation): moved to be next to the add/remove timeout functions, (gtk_tree_view_unrealize), (gtk_tree_view_row_deleted), (gtk_tree_view_set_model), (cancel_arrow_animation), (gtk_tree_view_real_expand_row), (gtk_tree_view_real_collapse_row): use the new add/remove functions. 2008-05-28 Kristian Rietveld Amendment of bug 485218 - Strange warning encountered. * gtk/gtktreemodelsort.[ch] (gtk_tree_model_sort_convert_child_iter_to_iter): return a boolean indication whether or not the conversion had succeeded. 2008-05-27 Matthias Clasen Bug 509788 - GTK+ should use CUPS to set Postscript level of PS output * modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_create_cairo_surface): Fall back to PostScript level 2 if the printer does not support level 3. Patch by Marek Kašík. 2008-05-27 Matthias Clasen Bug 404571 - Scroll arrow backgrounds should be painted with different detail * gtk/gtkmenu.c (gtk_menu_paint): Use "menu_scroll_arrow_up/down" as detail when drawing scroll arrow backgrounds. Proposed by Tommi Komulainen. 2008-05-27 Matthias Clasen Bug 511217 - potential memory corruption after refreshing a tree_view * gtk/gtktreeview.c (cancel_arrow_animation): Reset expanded_collapsed_node when canceling the animation. Patch by Nicholas Setton. 2008-05-28 Michael Natterer * modules/input/gtkimcontextime.h * modules/input/gtkimcontextmultipress.h * modules/input/gtkimcontextthai.h * modules/input/gtkimcontextxim.h: include instead of individual files. * modules/input/gtkimcontextime.c * modules/input/gtkimcontextmultipress.c * modules/input/gtkimcontextxim.c * modules/input/imam-et.c * modules/input/imcedilla.c * modules/input/imcyrillic-translit.c * modules/input/iminuktitut.c * modules/input/imipa.c * modules/input/imti-er.c * modules/input/imti-et.c * modules/input/imviqr.c: ditto. Some minor cleanups like moving "gtk/gtkintl.h" to the end of includes. 2008-05-28 Michael Natterer * modules/engines/pixbuf/pixbuf-style.h * modules/engines/pixbuf/pixbuf-rc-style.h: include instead of individual files. 2008-05-27 Matthias Clasen Bug 485218 - Strange warning encountered * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): (gtk_tree_model_sort_convert_child_iter_to_iter): (gtk_tree_model_sort_build_level): Better warnings. Patch by Kristian Rietveld. 2008-05-27 Matthias Clasen Bug 351910 - Search column setting lost * gtk/gtktreeview.c (gtk_tree_view_set_search_column): Clarify the docs. Patch by Matt Barnes. 2008-05-27 Matthias Clasen Bug 477278 - avoid unnecessary pointer subtraction * gtk/gtkaccelgroup.c (quick_accel_remove): Avoid pointer subtraction that sparse complains about. Patch by Christian Persch. 2008-05-27 Matthias Clasen Bug 106574 - Inconsistent increment behavior for gtkspinbutton * gtk/gtkspinbutton.c (gtk_spin_button_real_value_change): Commit the entry text before doing an increment. Patch by Björn Lindqvist. 2008-05-27 Federico Mena Quintero http://bugzilla.gnome.org/show_bug.cgi?id=533891 - Don't allow drag and drop from the file list into itself, as it doesn't make sense (it would just change the current folder). * gtk/gtkfilechooserdefault.c (file_list_dest_targets): Use GTK_TARGET_OTHER_WIDGET so we don't DnD from the file list into itself. 2008-05-27 Michael Natterer * gtk/gtksignal.h: move deprecated guards around everything, including includes and include guards (just as in all other deprecated files). 2008-05-27 Tor Lillqvist * gtk/updateiconcache.c (build_cache): Use simpler mode for open() on Windows. (No S_I?GRP and S_I?OTH bits are defined in on Windows, and the mode used in open() doesn't matter much as there are no rwxrwxrwx bits on Windows anyway.) Open file in binary mode. Passing "b" to fdopen() later isn't enough. 2008-05-27 10:33:41 Tim Janik * gtk/gtkwidget.c: guard gtk_widget_get_snapshot() against invalid or invisible widgets. 2008-05-27 Matthias Clasen Bug 531008 – Crash in gtkprintunixdialog.c * gtk/gtkprintunixdialog.c: Disconnect signal handlers when the dialog closes. Patch by Yevgen Muntyan. 2008-05-27 Matthias Clasen RH bug 248245: cups client printing from gnome applications fail * modules/printbackends/cups/gtkprintbackendcups.c (gtk_print_backend_cups_print_stream): Specify the right server. 2008-05-27 Carlos Garnacho * gtk/gtkfilechooserdefault.c (set_select_multiple): Enable rubberbanding when "select-multiple" is TRUE. Bug #446068. 2008-05-27 Carlos Garnacho * gtk/gtkmountoperation.c (gtk_mount_operation_ask_password): Enable correctly dialog buttons sensitivity when the anonymous option is enabled by default. Bug #531865. 2008-05-27 Carlos Garnacho * gtk/gtkmountoperation.c (gtk_mount_operation_ask_password): Set password dialog modal and transient for the parent window also if it was specified in the constructor. Bug #531864. 2008-05-26 Richard Hult * gdk/quartz/gdkevents-quartz.c: (gdk_screen_get_setting): Try setting the default font, might need to tweak this. 2008-05-26 Michael Natterer * examples/gtkdial/gtkdial.h * modules/input/gtkimcontextthai.h: use G_BEGIN/END_DECLS. 2008-05-26 Michael Natterer * gtk/gtkimmodule.h: fix indentation. 2008-05-26 Michael Natterer * gtk/gtkshow.h: include "gdk/gdk.h" instead of "gdk/gdkscreen.h" * gtk/gtkshow.c: remove inclusion of single files from gdk/ Removed trailing whitespace in both files. 2008-05-26 Richard Hult Bug 530353 – Mac-like gtk_accelerator_get_label() * gtk/gtkaccellabel.c: (gtk_accel_label_class_init), (append_keyval_symbol), (_gtk_accel_label_class_get_accelerator_label): On quartz, make gtk_accelerator_get_label() format a Mac-like string, using unicode characters for modifier keys, arrows, delete etc. Patch from Yevgen Muntyan. 2008-05-26 Richard Hult Bug 534869 – Length miscalculation in _gtk_quartz_get_selection_data_from_pasteboard * gtk/gtkquartz.c: (_gtk_quartz_get_selection_data_from_pasteboard): Get the number of bytes, not the number of characters, patch from Yevgen Muntyan. 2008-05-26 Matthias Clasen * gtk/gtkwidget.c: Some doc formatting fixes. 2008-05-26 Matthias Clasen Bug 511163 – Remove pango_extents_to_pixels() calls * gtk/gtkcellrenderertext.c (get_size): Use pango_layout_get_pixel_extents. * configure.in: Bump Pango requirement to 1.20 * INSTALL.in: Update required versions 2008-05-26 Matthias Clasen Bug 513811 – Use cairo_format_stride_for_width() * gtk/gtkhsv.c (paint_ring, paint_triangle): * gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Use cairo_format_stride_for_width, proposed by Behdad Esfahbod. * configure.in: Bump cairo requirement to 1.6.0 * INSTALL.in: Update required versions 2008-05-26 Matthias Clasen * gtk/gtkshow.[hc]: Formatting fixes * gtk/gtkmountoperation.c: Add docs 2008-05-25 Cody Russell Bug 507389 – use gslice for gtksettings * gtk/gtksettings.c: Change from g_new0/g_free to use GSlice. Report and patch by Christian Persch. 2008-05-25 Cody Russell Bug 523562 - gtk-update-icon-cache core dumps when run concurrently and when options are missing * gtk/updateiconcache.c: Open the cache file (O_CREAT | O_EXCL) so that other processes that try to open it will fail gracefully. Also fix a crasher caused by lack of a NULL check. Report and patch by Erwann Chenede. 2008-05-25 Cody Russell Bug 526635 - _gdk_window_get_toplevel handles FOREIGN windows * gdk/x11/gdkwindow-x11.c (_gdk_window_get_toplevel): Check !WINDOW_IS_TOPLEVEL instead of checking for GDK_WINDOW_CHILD, so that we also take into account for foreign windows. Report and patch by Nathaniel Smith. 2008-05-25 Cody Russell Bug 525461 - Don't invalidate under an input-only child * gdk/x11/gdkgeometry-x11.c (_gdk_window_move_resize_child): Check that the window is not input-only before invalidating. Report and patch by Owen Taylor. 2008-05-25 Cody Russell Bug 524110 - Gdk should not assume reparenting WMs when retrieving window frame extents * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Use _NET_FRAME_EXTENTS, if available. Patch by Danny Baumann. 2008-05-25 Cody Russell Bug 522269 - Evince windows sometimes incorrectly unmaximized, caused by missing flag initialization * gdk/x11/gdkwindow-x11.c (set_initial_hints): Initialize top-level private flags correctly. Patch by Danny Baumann. 2008-05-25 Cody Russell Bug 534463 - non-editable GtkTextView should not call gtk_im_context_focus_in in focus event * gtk/gtktextview.c: Add checks to see if the textview is editable. Patch by Wang Diancheng. 2008-05-25 Matthias Clasen Bug 501730 – use GSlice for small allocs * gtk/gtkmenuitem.c: * gtk/gtkmenu.c: Use the slice allocator for small allocations. Patch by Christian Persch. 2008-05-25 Matthias Clasen Bug 523930 – sort -> search in gtktreeview.c * gtk/gtktreeview.c (gtk_tree_view_set_search_column): Fix a doc glitch, pointed out by Björn Lindqvist. 2008-05-25 Matthias Clasen Bug 479384 – gtk_selection_data_targets_include_uri docs buglet * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): Fix doc glitch, pointed out by Christian Persch. 2008-05-25 Matthias Clasen Bug 534694 – Col id in GtkListStore could be out of range * gtk/gtkliststore.c (list_store_start_element): Fix up error handling a bit. Pointed out by Jan Arne Petersen. 2008-05-25 Matthias Clasen Bug 532497 – Configure problem when cross-compiling * configure.in: Use AC_CHECK_TOOLS to find C++ compiler, pointed out by Marko Lindqvist. 2008-05-25 Richard Hult * gtk/gtkquartz.c: (_gtk_quartz_set_selection_data_for_pasteboard): Slight coding style cleanup. 2008-05-25 Tristan Van Berkom * gtk/gtkbuilderprivate.h, gtk/gtkbuilder.h, gtk/gtkbuilderparser.c: Added support for parsing required toolkit versions (so that ui descriptions can target specific versions of the backend widget libraries) bug 527612. * gtk/docs/reference/gtk/tmpl/gtkbuilder.sgml: Added documentation for the added xml tags to the ui description. * tests/buildertest.c: Enhanced pango attribute tests, Added tests for requires tag handling. 2008-05-25 Richard Hult * gtk/gtkdnd-quartz.c: (gtk_drag_drop_finished): Run gtk_drag_source_info_destroy in an idle, workaround for bug #501588, that makes any code that uses the context returned from gtk_drag_begin() crash, like treeview/iconview dnd. (GdkDragSourceOwner::provideDataForType): only use the data if we got any. 2008-05-25 Jan Arne Petersen * gtk/gtkfilechooserdefault.c: (create_file_list): Add GDK_ACTION_MOVE to the drag actions to allow trash (#137717). 2008-05-25 Josselin Mouette reviewed by: Matthias Clasen * gtk/gtksearchenginetracker.c: (_gtk_search_engine_tracker_new): check that tracker is actually working before using it. Fixes bug #479197. 2008-05-25 Sven Neumann * gtk/gtkdrawingarea.c (gtk_drawing_area_realize) (gtk_drawing_area_size_allocate): respect the GTK_NO_WINDOW flag and don't create an output window if it is set. * gtk/gtkprintunixdialog.c: set the GTK_NO_WINDOW flag for the drawing areas. Fixes bug #519317. 2008-05-25 Jan Arne Petersen * gtk/gtkentry.c: (gtk_entry_class_init), (get_text_area_size), (gtk_entry_get_text_area_size), (gtk_entry_draw_frame): * gtk/gtkentry.h: * gtk/gtkspinbutton.c: (gtk_spin_button_class_init), (gtk_spin_button_realize), (gtk_spin_button_size_allocate), (gtk_spin_button_expose), (gtk_spin_button_draw_arrow), (gtk_spin_button_enter_notify), (gtk_spin_button_leave_notify), (gtk_spin_button_grab_notify), (gtk_spin_button_state_changed), (start_spinning), (gtk_spin_button_button_release), (gtk_spin_button_motion_notify), (gtk_spin_button_value_changed), (gtk_spin_button_get_text_area_size), (gtk_spin_button_real_spin), (gtk_spin_button_update): Reorder strange window hierarchy of the GtkSpinButton (#466000). 2008-05-25 Jan Arne Petersen * gtk/gtklabel.c: (get_layout_location): Subtract logical.x from x to fix the wrong position for right and center justified labels with logical.x > 0 (#530255). 2008-05-25 Jan Arne Petersen * gtk/gtkfilechooserdefault.c: (shortcuts_activate_volume_mount_cb): Ignore G_IO_ERROR_FAILED_HANDLED errors (#532262). 2008-05-25 Björn Lindqvist * tests/pixbuf-lowmem.c * tests/pixbuf-random.c * tests/pixbuf-randomly-modified.c * tests/pixbuf-read.c * tests/pixbuf-threads.c * tests/testgtk.c * tests/testtreeview.c: Fix remaining compiler warnings in these files (#523751). 2008-05-25 Jaap A. Haitsma reviewed by: Matthias Clasen * gtk/Makefile.am: * gtk/gtk.h: * gtk/gtk.symbols: * gtk/gtkshow.c: (gtk_show_uri): * gtk/gtkshow.h: Add gtk_show_uri to make showing uris really easy. Fixes bug #514396 2008-05-25 Jan Arne Petersen * gtk/gtkliststore.c: (list_store_text): Use type of the correct column (#529535). * tests/buildertest.c: (test_list_store): Add test. 2008-05-24 Matthias Clasen Bug 520989 – icon factory buildable too strict * gtk/gtkiconfactory.c (icon_source_start_element): Make filename an optional attribute. 2008-05-24 Matthias Clasen Bug 387972 – gtkassistant drawing problem * gtk/gtkassistant.c (gtk_assistant_size_allocate): Make GtkAssistant work better in glade. 2008-05-24 Jan Arne Petersen * gtk/gtktoolbar.c: (gtk_toolbar_class_init): Change defaults of child properties "expand" and "homogeneous" from TRUE to FALSE (as they are used in GtkToolItem) (#532787). 2008-05-24 Jan Arne Petersen * gtk/gtkfilechooserdefault.c: (location_toggle_popup_handler): Don't try to toggle the visibility of the location entry field in search and recent mode (#526422). 2008-05-24 Jan Arne Petersen * gtk/gtkfilechooserdefault.c: (shortcuts_query_tooltip_cb), (shortcuts_list_create): Show parse name as tooltip for path shortcuts (#137503). 2008-05-24 Björn Lindqvist * gdk/gdkcolor.c (gdk_color_parse): Update docstring to match pango_color_parse, do not reference XParseColor forms (#434991). 2008-05-24 James Sharpe * gdk/gdk.symbols: Remove duplicate gdk_window_redirect_to_drawable and gdk_window_remove_redirection * gtk/gtk.symbols: Remove duplicate gtk_widget_get_snapshot 2008-05-23 Hans Breuer * **/makefile.msc gtk/makefile.msc.in : updated * gtk/gtkwidget.c : fix c99ism (variable at start of block * gdk/gdk.symbols gtk/gtk.symbols : export functions for window redirection * gtk/gtkfilechooserdefault.c : #include for setlocale(LC_ALL, ...) 2008-05-23 Tor Lillqvist * gdk/gdk.symbols: Add gdk_window_redirect_to_drawable and gdk_window_remove_redirection. * gdk/win32/gdkwindow-win32.c (_gdk_window_new) (_gdk_window_reparent): Rename to adapt to the offscreen rendering changes. Remove now unnecessary parameter checks as the caller does that already. * gtk/gtk.symbols: Add gtk_widget_get_snapshot. 2008-05-23 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (update_style_bits): Don't do anything if style doesn't change. Improve debugging output. 2008-05-23 Michael Natterer * perf/widgets.h * tests/print-editor.c * tests/prop-editor.h * tests/testmountoperation.c * tests/testmultidisplay.c * tests/testnouiprint.c * tests/testprint.c * tests/testprintfileoperation.h * tests/testtreesort.c * tests/textbuffertest.c: include instead of single files. Remove some redundant includes. 2008-05-22 Hiroyuki Ikezoe * gtk/gtksockget.c: (gtk_socket_realize): Remove second call of GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED). 2008-05-21 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (_gdk_window_new), (_gdk_window_reparent): Renamed to adapt to the offscreen rendering changes, fixes build. 2008-05-21 21:10:15 Tim Janik * gtk/gtkwidget.h: added GdkRectangle *clip_rect to gtk_widget_get_snapshot(). * gtk/gtkwidget.c: clip the returned snapshot pixmap to clip_rect. return snapshot pixmap coordinates widget relative in *clip_rect. * tests/testgtk.c: fixed bogus NULL pointer unref. 2008-05-21 21:04:28 Tim Janik * gtk/gtkwidget.c gtk_widget_get_snapshot(): grow snapshot area from widget's allocation to cover extra widget windows placed outside the widget allocation (spinbutton arrows are the prime example for this). 2008-03-18 10:49:20 Tim Janik * Applied pixmap redirection patch by Alexander Larsson with various updates from: Bug 318807 – Offscreen windows and window redirection. Updates: * updated docs to mention "Since 2.16". * tests/testgtk.c: fixed snapshooting pixmap leak. convert pixmap to pixbuf after snapshooting, to compensate for different bit depths (occurs when snapshooting ARGB visuals and displaying the pixmap in an RGB visual). * gdk/gdkwindow.[hc]: made GdkWindowRedirect private. * gdk/gdkwindow.c: removed damage idle handler, there's no aparent need for it. enqueue damage notification as GDK_DAMAGE events for each painting redirection at the start of the event queue. consider windows with a redirection fully visible when invalidating, and when updating from backing store. cleaned up stale variables. * gdk/gdkevents.c: added _gdk_event_queue_prepend(). * gtk/gtkwidget.c: fixed coordinates for !NO_WINDOW widgets in gtk_widget_get_snapshot; this fixes garbage snap offsets for gammacurve, tree, drawingarea, text, handlebox, etc. clip the redirected window hierarchy to window sizes, the visible rectangles don't need to be taken into account here. extended snapshooting docs to recommend gdk_pixbuf_get_from_drawable() in case pixmap visuals could mismatch. * gdk/x11/gdkwindow-x11.c: removed _gdk_windowing_window_get_visible_rect(). Base patch: * tests/testgtk.c: add a "Snapshot" test to demonstrate snapshooting of possibly obscured widgets into an offscreen pixmap. * gtk/gtkwidget.[hc]: add GtkWidget::damage-event signal, add gtk_widget_get_snapshot() to render a widget's contents to a GdkPixmap. * gtk/gtkmain.c: dispatch GDK_DAMAGE events. * gdk/gdkwindow.c: moved outer gdk_window_new() and gdk_window_reparent() implementations here, adapted them to propagate redirects to child windows. gdk_window_end_paint(): copy repainted window contents to redirection pixmap, clipped to visible region. queue GDK_DAMAGE event delivery. gdk_window_redirect_to_drawable(): install window painting redirection. gdk_window_remove_redirection(): remove previously installed redirection. * gdk/x11/gdkwindow-x11.c: added _gdk_windowing_window_get_visible_rect(), renamed _gdk_window_new() and _gdk_window_reparent(). * gdk/gdkwindow.h: added GdkWindowRedirect* to GdkWindowObject, export gdk_window_redirect_to_drawable() and gdk_window_remove_redirection(). * gdk/gdkevents.h: added GDK_DAMAGE event type. * gdk/gdkevents.c: extract time and state from GDK_DAMAGE events. * gdk/gdkinternals.h: added internal prototypes. 2008-05-21 Michael Natterer * gtk/gtkalignment.c * gtk/gtkarrow.c * gtk/gtkbbox.c * gtk/gtkcalendar.c * gtk/gtkscrolledwindow.c: remove PROP_LAST enum values. 2008-05-20 Matthias Clasen RH bug 204621 - "GtkPrint" asks for "Letter" size paper when "A4" size was chosen Patch by Marek Kasik. * gtk/gtk.symbols: * gtk/gtkprinter.[hc]: Add gtk_printer_get_default_page_size. * gtk/gtkprintbackend.[hc]: Add fallback implementation. * modules/printbackends/file/gtkprintbackendfile.c: * modules/printbackends/cups/gtkprintbackendcups.c: Implement get_default_page_size. * gtk/gtkpagesetupunixdialog.c: When selecting a different printer, select its default paper size. * gtk/gtkprintunixdialog.c: If no explicit page setup has been set, use the printer default. * gtk/gtkprintoperation-unix.c: Don't create an empty page setup if we don't have a default page setup. 2008-05-20 Gian Mario Tagliaretti * gtk/gtkdnd.c: (gtk_drag_set_icon_pixmap): Fix the docs, the mask param can accept NULL for none. Fixes bug #533920. 2008-05-20 Björn Lindqvist * gtk/gtkspinbutton.c: (gtk_spin_button_snap, gtk_spin_button_update): Remove two chunks of duplicated code (#533733). 2008-05-20 14:27:34 Tim Janik * reverted recent unapproved changes by Yair Hershkovitz, regarding: Bug 503071 – Application direction changes to right to left even if theres no translation. 2008-05-19 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_hide), (gdk_window_fullscreen), (gdk_window_unfullscreen): Use SetSystemUIMode instead of hiding and showing the menubar. 2008-05-19 Federico Mena Quintero http://bugzilla.gnome.org/show_bug.cgi?id=322298 - Save dialog can't be resized until you expand the "Browse for other folders" section. * gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface): Removed the "get_resizable" method. (_gtk_file_chooser_embed_get_resizable): Removed. * gtk/gtkfilechooserembed.c: Removed the _get_resizable() machinery. * gtk/gtkfilechooserdefault.c: Likewise. * gtk/gtkfilechooserdialog.c (file_chooser_widget_default_size_changed): Act as if the dialog were always resizable. 2008-05-19 Michael Natterer * gtk/gtkcellrenderer.c * gtk/gtkcellrendererpixbuf.c * gtk/gtkcellrenderertoggle.c * gtk/gtkimagemenuitem.c * gtk/gtkmenutoolbutton.c * gtk/gtkoptionmenu.c * gtk/gtkstatusbar.c * gtk/gtktextview.c: s/PROP_ZERO/PROP_0/g, remove LAST_PROP. 2008-05-17 Yair Hershkovitz * gtk/gtkmain.c: gtk_disable_setlocale() - Added a call to g_disable_setlocale(). 2008-05-17 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_impl_quartz_invalidate_maybe_recurse): (gdk_window_quartz_update_idle): Use gdk_threads_add_idle instead of g_idle_add. Add a temporary check if the window is already in the updates list, since update_area currently doesn't always match the backend's state, see bug #530801. 2008-05-13 Tor Lillqvist Bug 496958 - Wacom Bamboo doesn't function with GTK apps in Win32 * gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Set the "packet rate" of devices to zero instead of 50. This is reported to help significantly with Wacom tablet behaviour in GIMP and Inkscape. Patch from Thomas Bleeker. 2008-05-12 Richard Hult * gdk/quartz/gdkevents-quartz.c: * gdk/quartz/gdkquartz.h: Remove special casing of menu key events as it's no longer necessary; instead the added quartz API to get the nsevent from an event should be used. Also move the global filter up so it's done before the check for window-less events. 2008-05-12 Tor Lillqvist Bug 532558 - Cannot build dll when using separate builddir * gdk/Makefile.am * gtk/Makefile.am: .def file belongs in $(srcdir). Patch by Marko Lindqvist. 2008-05-12 Yair Hershkovitz * gtk/gtkmain.c: g_i18n_init(); -> g_i18n_init (); 2008-05-12 Tor Lillqvist Bug 532059 - Leak in win32 clipboard manipulation * gdk/win32/gdkselection-win32.c (gdk_win32_selection_add_targets): Plug memory leak. Patch by Daniel Atallah. 2008-05-11 Yair Hershkovitz * gtk/gtkmain.c: call g_i18n_init() in gettext_initialization(). do gettext_initialization only once. * gtk/gtkbuilderparser.c: use glib i18n api. removed dpgettext() as it duplicates g_dpgettext() and added _g_dpgettext() to wrap g_dpgettext with the extended functionality that was in the removed dpgettext(). * gtk/gtkaccellabelc: * gtk/gtkstock.c: * gtk/gtkimmulticontext.c: * gtk/gtkactiongroup.c: * gtk/gtkintl.h: use glib i18n api. 2008-05-08 Richard Hult * gdk/quartz/gdkgeometry-quartz.c (gdk_window_scroll): Move the currently invalidated region. Fixes bug #532048, patch by Yevgen Muntyan. 2008-05-08 Richard Hult * gdk/quartz/gdkeventloop-quartz.c (poll_func): Only set the fake fd's revents, not the first one. Fixes bug #531056, spotted by Yevgen Muntyan. 2008-05-07 Tor Lillqvist * gtk-zip.sh.in: Add gtk-update-icon-cache.exe and more man pages to the dev zipfile. 2008-05-05 Matthias Clasen Apply a patch by Marek Kasik to display more printer status information in the print dialog. * modules/printbackends/cups/gtkprintbackendcups.c: Translate printer-state-reasons into suitable messages and icons. * gtk/stock-icons/16/gtk-print-error.{svg,png}: * gtk/stock-icons/16/gtk-print-report.{svg,png}: * gtk/stock-icons/16/gtk-print-warning.{svg,png}: * gtk/Makefile.am: * gtk/gtkiconfactory.c: * gtk/gtkstock.h: New stock icons to display printer state. 2008-05-07 Michael Natterer * gdk/gdkinternals.h * gdk/gdkevents.c * gdk/directfb/gdkevents-directfb.c * gdk/quartz/gdkevents-quartz.c * gdk/win32/gdkevents-win32.c * gdk/x11/gdkevents-x11.c (_gdk_windowing_event_data_copy): order parameters src,dest and make src const. 2008-05-06 Richard Hult * gdk/gdkevents.c: (gdk_event_copy), (gdk_event_free): * gdk/gdkinternals.h: Add private backend data to events, and handle it when copying/freeing events. Currently only needed in the quartz backend. * gdk/directfb/gdkevents-directfb.c: * gdk/quartz/gdkevents-quartz.c: * gdk/win32/gdkevents-win32.c: * gdk/x11/gdkevents-x11.c: (_gdk_windowing_event_data_copy) (_gdk_windowing_event_data_free): Add stubs for X11, win32 and directfb. Implement for quartz. Part of fixing bug #473822. 2008-05-05 Richard Hult * gdk/quartz/gdkmain-quartz.c (_gdk_windowing_init): Initalize framework if there is one. 2008-05-05 Michael Natterer * gtk/gtkcellrenderercombo.h * gtk/gtkcellrendererspin.h * gtk/gtkfilechooserbutton.h: style cleanups for the sake of consistency. * gtk/gtkfilechooserdialog.h * gtk/gtkfilechooserwidget.h * gtk/gtkscalebutton.h: reorder instance and class structs to be in canonical order. 2008-05-04 Richard Hult * gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Check if gdk_unicode_to_keyval() worked before using the result. Makes function keys work, bug #530156. Also add F16 to the function key map. 2008-05-04 Richard Hult * gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Remove stray semicolon after if statement. Fixes bug #530963, patch from Yevgen Muntyan. 2008-05-02 Michael Natterer * gtk/gtk.h: add 15 files that were missing (they all got included indirectly by including gtk.h, so should have been here in the first place). 2008-05-02 Michael Natterer * modules/input/imthai.c: use GETTEXT_PACKAGE instead of "gtk20". 2008-05-01 Richard Hult * gtk/gtkquartz.c (_gtk_quartz_set_selection_data_for_pasteboard): Prevent crash, fixes bug #530153. Patch from Yevgen Muntyan. 2008-05-01 Matthias Clasen * modules/imput/imthai.c: Register the right translation domain. 2008-04-30 Matthias Clasen Bug 529386 – Printing options hidden by blacklisted option * modules/printbackend/cups/gtkprintbackendcups.c (cups_printer_get_options): Fix the blacklist handling. Patch by Marek Kašík. 2008-04-30 Richard Hult * gdk/quartz/GdkQuartzView.c: Simplify check for zero sized expose area. 2008-04-30 Richard Hult * gdk/quartz/gdkevents-quartz.c: (_gdk_events_queue): Don't send nsevents with the gdk lock held, fixes deadlock when doing manual window resizing with threading enabled. 2008-04-30 Richard Hult * gdk/quartz/gdkevents-quartz.c: (get_keyboard_modifiers_from_ns_event), (create_key_event): Map Alt to Alt and Cmd to Meta. This is not only more logical but also makes it easier to have Mac-like behavior. 2008-04-25 Björn Lindqvist * gtk/gtkentry.c: (gtk_entry_expose) Use existing window size when painting the flat box instead of recalculating it. (#437493, Ricardo Cruz) 2008-04-25 Michael Emmel Bug 529841 – incorrect position in directfb * gdk/directfb/gdkwindow-directfb.c: fix y = abs_x 2008-04-25 Johan Dahlin * gtk/gtkwidget.h: include instead of 2008-04-25 Michael Natterer * gtk/gtkprintcontext.h: include instead of . * gtk/gtkiconfactory.c * gtk/gtkimmodule.c * gtk/gtkmain.c * gtk/gtkmodules.c * gtk/queryimmodules.c: remove inclusion of single files from pango, none of them was actually needed. * modules/input/gtkimcontextime.c: include instead of . 2008-04-25 Michael Natterer * gdk/gdkfont.h: include instead of . 2008-04-25 Michael Natterer * gtk/gtkmountoperation.h: include instead of . 2008-04-21 Michael Natterer * gtk/gtkselection.c: add tons of g_return_if_fail() instead of crashing when NULL pointers get passed. 2008-04-18 Michael Natterer * gtk/gtkenums.h: move a few '{' to their own lines so all enums here have the same style. 2008-04-18 Michael Natterer * gtk/gtkicontheme.h * gtk/gtkrecentmanager.h: include instead of . * gtk/gtkbuilderparser.c * gtk/gtklinkbutton.c * gtk/gtkpreview.c * gtk/gtkrecentchooserdefault.c * gtk/gtkrecentchoosermenu.c * modules/input/gtkimcontextthai.c: remove inclusion of single files from gdk, none of the includes was actually needed. 2008-04-18 Michael Natterer * gdk/gdk.h: reorder one include so they are all alphabetical. 2008-04-18 Michael Natterer * modules/printbackends/cups/gtkprintercups.[ch] (gtk_printer_cups_get_ppd_name): change return value and local variable to const gchar* to fix warning about discarding const qualifier. 2008-04-18 Emmanuele Bassi * gtk/gtkrecentmanager.c: (gtk_recent_manager_set_filename): Keep the default storage file in $HOME, as we don't have a migration code in place yet. 2008-04-18 Michael Natterer * gtk/gtkrecentmanager.c (gtk_recent_manager_clamp_to_age): g_strfreev() the uris returned by g_bookmark_file_get_uris(). 2008-04-17 Michael Natterer * gtk/gtkiconfactory.c (get_default_icons): register the GTK_STOCK_PAGE_SETUP icon. 2008-04-17 Michael Natterer * gtk/gtktooltips.c (gtk_tooltips_destroy): no need to g_return_if_fail(tooltips != NULL); 2008-04-16 Tristan Van Berkom * gtk/gtkwindow.c: Chain up in buildable_finish() * gtk/gtkbuilder.c: _gtk_builder_get_absolute_filename() handle cases where g_path_get_dirname() returns "." * docs/reference/gtk/tmpl/gtklabel.sgml, docs/reference/gtk/tmpl/gtkbuilder.sgml: Added documentation for the tags on GtkLabel 2008-04-15 Emmanuele Bassi * gtk/gtkrecentmanager.c: (gtk_recent_manager_real_changed): Fix last commit, and complete the gtk-recent-files-max-age semantics: if the property is set to 0 then purge the list. 2008-04-15 Emmanuele Bassi Bug 488507 – boundless growth of .recently-used.xbel file slows down applications * gtk/gtkrecentmanager.c: (gtk_recent_manager_init), (gtk_recent_manager_real_changed), (gtk_recent_manager_set_filename), (gtk_recent_manager_clamp_to_age): Clamp the recently used resources list by the age of its items, using the newly added GtkSettings property. * gtk/gtksettings.c (gtk_settings_class_init): Add the gtk-recent-files-max-age property, controlling the maximum age of the items in the recently used resources list. 2008-04-15 Emmanuele Bassi * gtk/gtkrecentmanager.c: (gtk_recent_manager_add_item_query_info), (gtk_recent_manager_add_item): Emit the ::changed signal at the end of the asynchronous MIME type query. 2008-04-15 Emmanuele Bassi Bug 487375 – gtkrecent apps poll ~/.recently-used.xbel every 5 seconds * gtk/gtkrecentmanager.c: Use GFileMonitor to check for changes in the recently used resources storage file, and drop the timeout-based poll. * ChangeLog: Fix attribution of the patch of the previous commit. 2008-04-15 Emmanuele Bassi Bug 506062 – gtk_recent_manager_add_item does not detect mime type on Windows * configure.in: Depend on gio-2.0 * gtk/gtkrecentmanager.c: (gtk_recent_manager_add_item_query_info_cb), (gtk_recent_manager_add_item): Use GIO to (asynchronously) query the MIME type of the passed URI (based on a patch by Armin Burgmeier) 2008-04-11 Carlos Garnacho * gtk/gtkassistant.c (gtk_assistant_set_current_page): Add current page to visited page list instead of next current page. (#527466, patch by Marcus Brinkmann) 2008-04-11 Tristan Van Berkom * gtk/gtklabel.c: Added / custom tags to parse pango attributes into labels. * tests/buildertest.c: Added tests for GtkLabel custom tag parsing. 2008-04-10 Carlos Garnacho * gtk/gtknotebook.c (hide_drag_window): Do not call gtk_widget_set_parent_window(), using widget->window instead of NULL to unset is the wrong thing, and gtk_widget_unparent() will already take care of this (#467698, patch by Sébastien Granjoux) 2008-04-08 Tor Lillqvist * demos/gtk-demo/builder.c (quit_activate, about_activate): Mark these functions with G_MODULE_EXPORT. 2008-04-08 Tomas Bzatek * gtk/gtkfilesystem.c: (gtk_file_info_render_icon), (gtk_file_system_volume_render_icon): Fix fallback icon rendering size 2008-04-08 Michael Natterer * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): fix a touchscreen-mode keynav corner case: when navigating to the parent menu, make sure we don't close two menus at the same time in case the deepest open menu has no selectable items. 2008-04-06 Tristan Van Berkom * gtk/gtkwidget.c: Clarified a g_warning message regarding parsing accelerators from builder files. 2008-04-03 Cody Russell * gtk/gtkprintoperation-win32.c: Fix variable declared in the middle of the block. (#526021, reported by Kazuki IWAMOTO) 2008-04-03 Tor Lillqvist Bug 330743 - Up/down spinbuttons won't take zeros and exhibit very strange behavior * gtk/gtkspinbutton.c (gtk_spin_button_insert_text) [Win32]: Add workaround for a specific kind of screwed up locale setting. 2008-04-02 Matthias Clasen * gdk/x11/gdkcolor-x11.c: Don't call XFreeColormap on foreign colormaps. Found by Daniel Berrange. 2008-04-02 Björn Lindqvist * tests/autotestfilechooser.c: Cover GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER action in tests for current name. (#346058, Joe Halliwell) 2008-04-02 Federico Mena Quintero Fix http://bugzilla.gnome.org/show_bug.cgi?id=492134 - The file chooser incorrectly substitutes and expands a ~ when you type it in the filename entry. * gtk/gtkfilesystemunix.c (expand_tilde): Ensure that empty basenames result in a slash-terminated pathname. gtk_file_system_unix_parse() is correct, but it was splitting "/home/username" into path="/home" and file_part="username", which is not what the caller wants when the entry has just "~" or "~username". 2008-04-02 Tor Lillqvist * gtk/Makefile.am: Don't bother compiling gtksearchenginebeagle.c and gtksearchenginetracker.c on Windows. * gtk/gtksearchengine.c: Don't define HAVE_BEAGLE and HAVE_TRACKER on Windows. 2008-04-01 Cody Russell * configure.in: Bump required Cairo to 1.5.2. * gtk/gtkprintoperation-win32.c: Add support for using the new cairo_win32_printing_surface for printing. Also fixed to use cairo_surface_show_page(). (#488833 and #521178) 2008-03-31 Cody Russell * demos/gtk-demo/printing.c (draw_page): Move down each line in units of text_height rather than in units of data->font_size. (totally awesome catch by Dom Lachowicz) 2008-03-28 Richard Hult * gdk/quartz/gdkevents-quartz.c: (gdk_event_translate), (_gdk_quartz_events_trigger_crossing_events): Defer the generated event to the mainloop and don't generate one at all if the toplevel didn't change. Use the actual window and not the toplevel as event window. These changes make the generated crossing events match the X11 behavior and fixes issues with e.g. tooltips, comboboxes and menus. * gdk/quartz/GdkQuartzView.c: Don't update the tracking rect if the view has no window, it will be updated as soon as it's put inside a window. * gdk/quartz/gdkwindow-quartz.c: (_gdk_quartz_window_debug_highlight): Make it possible to track multiple windows with debug highlighting. (show_window_internal): Remove workaround for tooltips and popups that is no longer needed with the above changes. 2008-03-26 Federico Mena Quintero * gtk/gtkfilechooserentry.c (commit_completion_and_refresh): New helper function; factored out from the functions that commit the current suggested autocompletion and that refresh the entry's paths. (gtk_file_chooser_entry_activate): Use commit_completion_and_refresh(). (_gtk_file_chooser_entry_get_file_part): Likewise. (_gtk_file_chooser_entry_get_current_folder): Likewise. This makes the entry have the correct paths when *not* using any form of completion (and makes the file chooser work when clicking the OK button). 2008-03-25 Richard Hult * gdk/quartz/gdkevents-quartz.c: (_gdk_quartz_events_trigger_crossing_events): Bail out early if we can't find a matching window. * gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Add a comment, and only trigger an event for non-temp windows, fixes problems for tooltips caused by the workarounds for the problematic tracking rect API. 2008-03-25 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_quartz_process_all_updates): Plug a leak and add a check that we have a toplevel before accessing it. 2008-03-24 Tor Lillqvist Bug 524151 - Dragging of 0-byte files results in an empty filename on Windows XP and above * gdk/win32/gdkdnd-win32.c (resolve_link): Check for the file being empty first. For some reason ISHellLink and IPersistFile succeeds in interpreting empty files as shortcuts, claiming the target of the shortcut is an empty path. Change the function to take the wide character file name that the caller already has anyway, to avoid a superfluous conversion from UTF-8 to UTF-16. 2008-03-23 Björn Lindqvist * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Guard against NULL pointer. (#467051, Gian Mario Tagliaretti) 2008-03-23 Cody Russell * gdk/win32/gdkevents-win32.c (show_window_recurse): Check window state for GDK_WINDOW_STATE_ICONIFIED before doing ShowWindow (SW_RESTORE). This fixes a problem where tearing off menus from a maximized window would force the window to restore its size. (#518846) 2008-03-23 Johan Dahlin * gtk/gtk-builder-convert: Properly convert GtkImageMenuItems which use stock labels but don't have any children. (#523932, Brian Pepple) 2008-03-22 Matthew Barnes * gtk/gtkentrycompletion.c (gtk_entry_completion_get_cells): New function implements GtkCellLayoutClass::get_cells. (#523787) 2008-03-22 Tor Lillqvist Bug 523782 - Leftover call to GDK_THREADS_LEAVE() in gtktoolbar.c * gtk/gtktoolbar.c (slide_idle_handler): Remove obviously wrong GDK_THREADS_LEAVE() call. Approved by mclasen. 2008-03-22 Björn Lindqvist * gtk/gtkexpander.c (gtk_expander_get_label): gtk_label_get_label() should be used instead of gtk_label_get_text(). (#353088, Xan Lopez) 2008-03-21 Tor Lillqvist Import the GDI+ gdk-pixbuf loaders for Windows by Dominic Lachowicz and Alberto Ruiz into the GTK+ tree, from the gdip-pixbuf-loader module. * configure.in: Add switch --disable-gdiplus-loaders that disables building of the GDI+ loaders. When including loaders in the gdk-pixbuf library, and building GDI+ loaders, either build in all the GDI+ loaders or none of them. Use just -DINCLUDE_gdiplus in $INCLUDED_LOADER_DEFINE to signal building them in. Add Automake conditionals BUILD_GDIPLUS_LOADERS to indicate whether the GDI+ loaders should be built and INCLUDE_GDIPLUS to indicate whether they should be built-in. For the rest of the changes, see gdk-pixbuf/ChangeLog. 2008-03-20 Tor Lillqvist * gtk/Makefile.am: Revert accidental change that went in as part of the commit on 2008-03-18. Do use grep -o. Unbreaks build on Darwin. On Windows one has to use a newer GNU grep that has -o, for instance the one from gnuwin32, instead of the oldish one in MSYS that doesn't have -o. 2008-03-20 Tor Lillqvist * tests/testfilechooserbutton.c (chooser_update_preview_cb): Don't pass NULL for %s to g_message(). (main): Drop unnecessary call to gtk_widget_destroy(). 2008-03-20 Tor Lillqvist Bug 314084 - GTK+ dialogs should not be placed partially offscreen * gtk/gtkwindow.c (clamp): New function. Clamps a window position in one dimension, or centered in case it doesn't fit. (clamp_window_to_rectangle): Simplify. Call clamp() for x and y dimensions. 2008-03-18 Tor Lillqvist Bug 523225 - modules/input/im*.c: MODULE_ENTRY macros make illegal code * modules/input/im*.c: Modify the MODULE_ENTRY macro so the G_MODULE_ENTRY decoration can be put in a more correct place. 2008-03-18 Sven Neumann * gtk/gtkmountoperation.c (gtk_mount_operation_ask_password): set alternative button order on the password dialog. 2008-03-18 Tor Lillqvist Bug 99192 - Add --with-include-input-modules * configure.in: Add --with-included-immodules switch. Handled in a similar way as the --with-included-loaders switch. For each input method module foo: Collect the list of input modules to be built into libgtk into INCLUDED_IMMODULE_OBJ. Collect a list of -DINCLUDE_IM_foo definitions into INCLUDED_IMMODULE_DEFINE. Define Automake conditionals INCLUDE_IM_FOO. * modules/input/Makefile.am: For modules to be included in libgtk, build a static library. * modules/input/im*.c: Use MODULE_ENTRY macros much like in gdk-pixbuf to get unique names for the functions called by libgtk in the included case. Use G_MODULE_EXPORT in the non-included case so that we don't unnecessarily export unneeded random global symbols on Windows. * gtk/Makefile.am: Build the included modules and link them into libgtk. * gtk/gtkimmodule.c: Handle the built-in modules. Remove copy/paste leftover mentions of "themes" in comments. 2008-03-18 Tor Lillqvist * tests/Makefile.am: Build testmountoperation only on Unix for now. 2008-03-17 Christian Kellner Implement GtkMountOperation, a subclass of GMountOperation to be used with gio wherever there is the need to ask the user for credentials or questions while mounting a volume. This is bug #522245 * gtk/gtkmountoperation.c: * gtk/gtkmountoperation.h: Implement GtkMountOperation. * gtk/gtk.h: Add gtkmountoperation.h * gtk/Makefile.am: Add gtkmountoperation.[hc] * gtk/gtk.symbols: Add symbols of GtkMountOperation. * tests/testmountoperation.c: Test program for it. * tests/Makefile.am: Add testmountoperation. 2008-03-17 Emmanuele Bassi * gtk/gtkcontainer.c: Properly document gtk_container_set_focus_child(). (#521739, Andrew Cowie) 2008-03-16 Alberto Ruiz * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: more descriptive style names for the ComboBox thickness style 2008-03-16 Alberto Ruiz * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: * modules/engines/ms-windows/msw_style.c (draw_box) (draw_arrow) (combo_box_draw_arrow) (setup_msw_rc_style): draw box does more intelligent separation for the xp theming engine and the classic theme while drawing the GtkComboBox button. combobox_draw_arrow is not used anymore, commented. The style has been updated to fix border/thickness glitches in the combobox according to the fixes commited regarding bug #521442. (bug #461805) 2008-03-16 Alberto Ruiz * gtk/gtkcombobox.c: (gtk_combo_box_size_allocate) The child is now aware of both the combobox and frame (if has-frame is set) thickness and border. (bug #521442) 2008-03-15 Andre Klapper * configure.in: Added "si" to ALL_LINGUAS. 2008-03-15 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory): Set window type hint on the search popup. (#522279, Danny Baumann) 2008-03-15 Matthias Clasen * gtk/gtkimcontextsimple.c: Emit preedit_start/_end as appropriate. (#521934, Huang Peng) 2008-03-14 Michael Natterer * gdk/gdkspawn.h * gtk/gtkbuilderprivate.h * gtk/gtkfilechoosersettings.c * gtk/gtksearchenginesimple.c * gtk/tests/liststore.c * gtk/tests/treestore.c: remove single-file includes of GLib headers or replace them by where needed. 2008-03-14 Michael Natterer * gtk/gtkadjustment.c: coding style cleanup. (gtk_adjustment_set_property): no need to call g_object_notify() on the set properties. Implement GObject::dispatch_properties_changed() and make sure we emit "changed" when anything but the "value" property changes. 2008-03-14 Tor Lillqvist * gdk/win32/gdkevents-win32.c: Drop the support for the MSH_MOUSEWHEEL message that MSDN says is used only on NT 3.51 and Win95. Thanks to mitch for noticing this obsolete code. 2008-03-14 Cody Russell * examples/scribble-xinput/scribble-xinput.c: Changed 'void int main()' to 'int main()'. (#522211, Liqing Huang) 2008-03-14 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_quartz_process_all_updates): Patch from Paul Davis, only flush the toplevel once per update. 2008-03-13 Federico Mena Quintero * gtk/gtkfilechooserentry.c (create_completion_feedback_window): Set the mouse cursor of the feedback window to invisible, so that we respect GtkEntry's invisible cursor while typing. 2008-03-13 Federico Mena Quintero * gtk/gtkfilechooserentry.c (show_completion_feedback_window): Put the feedback window at entry_height/2 pixels to the right of the cursor, for a cheap "M-width / 2" spacing. 2008-03-13 Sven Neumann * gtk/gtkfilechooserdefault.c * gtk/gtkprintunixdialog.c: set alternative button order for overwrite confirmation dialogs (bug #522191). 2008-03-13 Sven Neumann * gtk/gtkprintunixdialog.c (add_custom_button_to_dialog) (overwrite_confirmation_dialog): added some line-breaks for readability. 2008-03-12 Federico Mena Quintero Rework the way completion works in GtkFileChooserEntry. Fixes http://bugzilla.gnome.org/attachment.cgi?bugid=314873 - Tab completion should work even if the cursor is not at the end of the entry. * gtk/gtkfilechooserentry.c: Change the strategy by which we do completion. We distinguish between two cases: - autocompletion - happens only in the Open modes by inserting and selecting the common prefix as you type. - explicit completion - happens when you hit Tab. When some type of completion needs to happen, the entry first parses its input and sees if it needs to initiate a folder load. Completion will not happen until the folder finishes loading. If the folder is already completely loaded, then completion is performed immediately. Otherwise, the entry queues a pending completion and starts loading the new folder (or waits until the current folder is completely loaded). Tab completion is allowed to happen even if the cursor is not at the end of the entry. There is a new feedback mechanism for explicit completion, so that you will get an Emacs-like tip whenever there are ambiguities in completion, no matches, etc. (This needs to be polished so that we support RTL entries and all the fancy Pango layout in GtkEntry). The only remaining thing to fix is the popup suggestion window. Unfortunately, GtkEntryCompletion does not let us do what we want, and will need further changes. 2008-03-12 Tor Lillqvist Bug 510000 - GtkStatusIcon doesn't reshow after explorer.exe crash * gtk/gtkstatusicon.c [Win32]: Keep a list of status icons. Check for the TaskbarCreated message in the window procedure for the dummy "tray observer" window we create. When we get a TaskbarCreated message, iterate over the status icons and re-add them to the task bar, and update them by calling gtk_status_icon_update_image(). Move some ifdefs around to avoid unused functions. 2008-03-12 Tor Lillqvist * config.h.win32.in: Update to match what configure produces. 2008-03-12 Jens Granseuer * modules/printbackends/cups/gtkprintbackendcups.c: (cups_printer_prepare_for_print): Don't define variables in the middle of a block. (#522067) 2008-03-12 Matthias Clasen * gtk/gtkprintunixdialog.c: Add an overwrite confirmation dialog for print-to-file. (#474302, Marek Kašík) 2008-03-12 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c: Fix a crash (#469210, Wouter Bolsterlee) 2008-03-12 Matthias Clasen * gtk/gtkpagesetup.c (gtk_page_setup_copy): Don't leak paper_size here. (#488820, Morten Welinder) 2008-03-12 Michael Natterer * acconfig.h: remove this deprecated file. * configure.in: added comments to all instances of AC_DEFINE() so config.h can be completely generated from configure.in. 2008-03-12 Michael Natterer * modules/printbackends/cups/gtkprintbackendcups.c: include for g_fopen(). 2008-03-11 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c: Use g_ascii_formatd when formatting custom paper sizes, since cups doesn't handle , as decimal separator. (#521548) 2008-03-11 Tor Lillqvist Bug 469868 - Filenames with colon ":" are not saved correctly * gtk/gtkfilechooserentry.c (insert_text_callback) (delete_text_callback) [Win32]: New functions to make sure that colons used otherwise than as a separator after a drive letter, or characters that are always illegal in file names, are rejected on input. This means that the GTK+ file chooser can't be used to input full names of alternate data streams, but oh well. There are still more checks that could be done on the file names, see the bug report. But this will do for now. (_gtk_file_chooser_entry_init) [Win32]: Connect above functions. 2008-03-11 Jordi Mallach * configure.in (ALL_LINGUAS): Add ca@valencia (Valencian-Catalan). 2008-03-11 Michael Natterer * gdk/linux-fb/*: removed linux-fb backend files. * acconfig.h * config.h.win32.in * docs/README.linux-fb * gtk/Makefile.am: remove remaining traces of linux-fb. * gtk/gtkwindow-decorate.c: same here. There is some code that calls into linux-fb to set window move/resize callbacks. I put it in #if 0 as a reminder because we did use decorated windows with the DirectFB backend and it did work, so I don't really know why this code is needed or how it could work with DirectFB back then. The file does actually compile now if DECORATE_WINDOWS is defined, but I didn't test with DirectFB to check if it does anything. 2008-03-11 Alberto Ruiz * gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Take thickness into account in the size allocation of the child widgets in list mode. Fixes #521442 2008-03-11 Richard Hult * gdk/quartz/gdkwindow-quartz.c: Implement gdk_window_reparent. 2008-03-10 Tor Lillqvist * tests/teststatusicon.c (do_exit, popup_menu): Add the possibility to test what happens if the process just calls exit() without any orderly cleanup of GTK+. 2008-03-10 Tor Lillqvist * gtk/gtktrayicon-win32.c: Remove from SVN, finally. 2008-03-10 Tor Lillqvist Bug 520286 - Non-deletable window has no minimize / maximize buttons * gdk/win32/gdkmain-win32.c (_gdk_win32_window_style_to_string): New debugging output function that decodes a set of WS_* bits. * gdk/win32/gdkprivate-win32.h: Declare it. * gdk/win32/gdkwindow-win32.c (update_single_system_menu_entry): New function that enables or disables one menu entry in the system menu of a top-level window. (The corresponding decoration will then also be enabled or disabled (grayed).) (update_style_bits): Do as the comment says and don't try to update the window style based on the GdkWMFunctions set for the window. (update_system_menu): New function that enables or disables the system menu entries based on a window's stored set of GdkWMFunctions. (gdk_window_set_functions): Call update_system_menu() instead of update_style_bits(). 2008-03-10 Emmanuele Bassi * README.in: Reword the 2.14 release notes entry about the deprecation of the gtkitemfactory.h header, and fix typos and grammar. 2008-03-08 Alberto Ruiz * modules/engines/ms-windows/msw_style.c (draw_shadow): Do not draw frame if parent if combobox. (draw_box): Uses scrollbar width system metrics for combobox button. Fixes #461805 for XP theme engine. 2008-03-07 Johan Dahlin * gtk/gtkbuilder.c: * gtk/gtkbuilderparser.c: * gtk/gtkbuilderprivate.h: * gtk/gtkiconfactory.c: * tests/buildertest.c: - Treat enums like enums and not values - Avoid invalid free, in case of more than two sources - Add better error messages - Add much improved tests (#520979, Christian Persch) 2008-03-07 Carlos Garnacho * gtk/gtkiconfactory.c (gtk_icon_factory_buildable_custom_tag_end): Fix build. 2008-03-06 Federico Mena Quintero Fix http://bugzilla.gnome.org/show_bug.cgi?id=505857 - GtkFileChooserDialog should set a default response button if the app doesn't set it. Based on a patch by Chris Wang . * gtk/gtkfilechooserdialog.c (is_stock_accept_response_id): New function, refactor from where there was duplicated code. (gtk_file_chooser_dialog_map): Look at the buttons in our action_area. If the response ID for a button is one of the stock ones, make it the default response button. 2008-03-06 Johan Dahlin * docs/reference/gtk/tmpl/gtkiconfactory.sgml: * gtk/gtkbuilder.c: * gtk/gtkbuilderprivate.h: * gtk/gtkiconfactory.c: * tests/buildertest.c: Implement GtkBuildable on GtkIconFactory, to make it possible to register custom stock icons. Fixes #517066 2008-03-06 Johan Dahlin Make gtk-doc happy: * gtk/gtkstyle.c: npoints->n_points. * gtk/gtktestutils.h: widget->spinner * gtk/gtktestutils.c: argc->argcp, argv->argvp 2008-03-06 William Lachance * gtk/gtkfilechooserdefault.c: Oops, forgot to make the raw "%H:%M" string localizable (as it should be). 2008-03-06 William Lachance * gtk/gtkfilechooserdefault.c: Don't print "Today at" in front of the time for today's date. It's redudant. (see bug #410517). 2008-03-06 Xan Lopez * gtk/gtkfixed.c: fix typo in documentation. 2008-03-06 Johan Dahlin * gtk/gtkitemfactory.h: * gtk/gtktypeutils.h: Move GtkTranslateFunc to gtktypeutils.h so we can completely deprecate gtkitemfactory.h. * gtk/gtkactiongroup.h: * gtk/gtkstock.h: Do not include gtkitemfactory.h directly, instead include gtktypeutils.h * README.in: Add a note describing this slight incompatible change 2008-03-06 Johan Dahlin * gtk/gtkpreview.h: Avoid double-deprecation. 2008-03-06 Michael Natterer * gtk/gtk.h * gtk/Makefile.am: move the remaining deprecated widgets to the separate sections and replaced spaces by tabs in Makefile.am 2008-03-05 Johan Dahlin * configure.in: Add --disable-cups option. (#513826, Alberto Ruiz) * gtk/gtk.h: * gtk/Makefile.am: Separate broken and deprecated sources and headers into different sections * tests/buildertest.c (test_list_store): Restore accidentally broken test. 2008-03-05 Kristian Rietveld * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): short-circuit in case an empty root level would be build (and thus directly destroyed) if no virtual root has been set. 2008-03-04 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c: Honor cups user default options from ~/.cups/lpoptions (#469210, Stijn Hoop) 2008-03-04 Michael Natterer * gtk/gtkcellview.c * gtk/gtkcolorbutton.c * gtk/gtkentrycompletion.c * gtk/gtkfontbutton.c * gtk/gtkiconview.c * gtk/gtkobject.c * gtk/gtkpaned.c * gtk/gtkpreview.c: don't include "gtksignal.h". * gtk/gtkfilefilter.c * gtk/gtkrecentchoosermenu.c * gtk/gtkrecentfilter.c * gtk/gtktext.c: don't include "gtkobject.h". 2008-03-04 Simos Xenitellis Patch from http://bugzilla.gnome.org/show_bug.cgi?id=321896 - Synch gdkkeysyms.h/gtkimcontextsimple.c with X.org 6.9/7.0 * gdk/gdkkeysyms.h: Updated file from upstream (using script from same directory). * gtk/gtkimcontextsimpleseqs.h (gtk_compose_seqs_compact[]): New file, contains compose sequences that used to exist in gtk/gtkimcontextsimple.c * gtk/compose-parse.py: Script to generate compose sequences from upstream (Xorg). * gtk/gtkimcontextsimple.c (compare_seq_index, check_compact_table, check_algorithmically): New functions. First two search in gtk_compose_seqs_compact[] for matching compose sequence, third tries NFC normalisation on incoming compose sequence. (gtk_im_context_simple_filter_keypress): Adds searching with check_compact_table(), check_algorithmically(). 2008-03-03 Carlos Garnacho Fix http://bugzilla.gnome.org/show_bug.cgi?id=417389 - Make the scrollwheel work in GtkPathBar. * gtk/gtkpathbar.h (struct _GtkPathBar): New field event_window. * gtk/gtkpathbar.c (gtk_path_bar_realize): New function. Create an input-only window, event_window, which we'll use to capture scroll events. (gtk_path_bar_map): Show the event_window under the rest of the windows, so it will be a catch-all for unhandled events. 2008-03-03 Sven Neumann * gtk/gtkfilechooserbutton.c (G_DEFINE_TYPE_WITH_CODE): fixed a typo in the documentation of the GtkFileChooserButtons::file-set signal (see bug #353196). 2008-03-03 Tor Lillqvist * gtk-zip.sh.in: Add gail bits. Simplify check for message catalog location. 2008-03-02 Johan Dahlin * gtk/gtkiconview.c (gtk_icon_view_paint_item): Remove left-over focus_pad variable. (#490892, Claudio Saavedra) * docs/tutorial/gtk-tut.sgml: Remove an extra space and swap word order (#518166, Matt Kraai) 2008-03-02 Johan Dahlin * docs/tutorial/gtk-tut.sgml: Add a missing space (#517954, Matt Kraai) 2008-03-03 Tor Lillqvist * modules/engines/ms-windows/msw_style.c (draw_box): Check that the widget is a GtkButton before casting. 2008-03-02 Johan Dahlin * configure.in: Compare using = instead of ==, which is portable. (#490787, Thomas Klausner) 2008-03-02 Johan Dahlin * tests/Makefile.am (noinst_PROGRAMS): Remove autotestkeywords, it's added later, fixes non-C++ build. (#496032, Nelson Benitez) 2008-02-29 Johan Dahlin * demos/gtk-demo/demo.ui: * gtk/gtkbuilderparser.c: * gtk/gtkbuilderprivate.h: * gtk/gtkliststore.c: * tests/buildertest.c: Add translatable/context and comment attributes on tags under a GtkListStore. Refactor parts of the translation api and make it available inside gtk+ itself. Update tests and example. Fixes a part of #518642 2008-02-29 Johan Dahlin * gtk/gtkbuilder.c: Add missing g_return_val_if_fail checks for public API. * gtk/gtkbuilderparser.c: * gtk/gtkbuilderprivate.h: Do not use g_error for a few more errors, instead set the GError sent in through add_from_file/add_from_string. * tests/buildertest.c: Add a couple of new parsing tests. (#519199, Pavel Syomin) 2008-02-29 Federico Mena Quintero * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): When refreshing an existing folder (i.e. when we are about to reload its file list), turn off the folder's is_finished_loading flag. Otherwise callers which do ::is_finished_loading() followed by ::list_children() will get nothing. 2008-02-29 Cody Russell * docs/tutorial/gtk-tut.sgml: Fix tutorial documentation to say 'gtk_main_quit()' instead of 'gtk_quit()'. (#517908, Matt Kraai) 2008-02-28 Matthias Clasen * gtk/gtkcalendar.h: Remove trailing comma from enum to make the compiler happy. (#517295, Sylvain Pasche) 2008-02-27 Michael Natterer * gtk/gtkmenushell.c * gtk/gtktable.c * gtk/gtktext.c * gtk/gtktipsquery.c * gtk/gtktoolbar.c * gtk/gtktreeitem.c * gtk/gtktreeview.c * gtk/gtkviewport.c * gtk/gtkwin32embedwidget.c: remove g_return_if_fail() from private functions and virtual function implementations. 2008-02-27 Richard Hult * gdk/quartz/GdkQuartzView.c: * gdk/quartz/GdkQuartzView.h: * gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Fix performance regression for borderless transparent windows with shadow. 2008-02-27 Emmanuele Bassi * tests/testgtk.c: Revert back to r19454. 2008-02-27 Sven Neumann * gtk/Makefile.am (GTK_PRINT_PREVIEW_COMMAND): when building the Quartz backend, use a native Mac OS X application for the print preview (bug #518624). 2008-02-26 Michael Natterer * gtk/gtktextbufferserialize.c (parse_info_free): don't g_free() the members of info->tag_stack since they are a) gobjects and b) not even owned by us, ugh... Fixes crash when deserializing fails. 2008-02-26 Sven Neumann * docs/tools/shooter.c (find_toplevel_window) * docs/tools/widgets.c (find_toplevel_window): fixed signedness of argument passed to XQueryTree(). 2008-02-25 Matthias Clasen * gtk/gtksearchenginebeagle.c: Look for libbeagle.so.1 and don't use beagle_query_add_hit_type. 2008-02-25 Richard Hult * gdk/quartz/gdkevents-quartz.c (_gdk_quartz_events_trigger_crossing_events): Fix build on tiger. 2008-02-24 Richard Hult * gdk/quartz/GdkQuartzWindow.c: Prevent hidden windows from being shown without gdk's control when clicking the dock icon. 2008-02-24 Richard Hult * gdk/quartz/gdkprivate-quartz.h: * gdk/quartz/gdkeventloop-quartz.c: (got_fd_activity), (poll_func): Use the subtype field for the custom event that is used to wake up the mainloop so we can have other custom event types. * gdk/quartz/gdkevents-quartz.c: (_gdk_quartz_events_trigger_crossing_events): * gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Create crossing events after showing a window if necessary, to work around problems with the tracking rect API. 2008-02-22 Dominic Lachowicz * demos/gtk-demo/printing.c (do_printing): gtk-demo printing gives wrong results on win32 because it doesn't set the printing units, which affect the transformation of the cairo context (#347125, Erik van Pienbroek) 2008-02-22 Tor Lillqvist * tests/pixbuf-init.c: Add file missing from SVN, from the tarball. 2008-02-22 Dominic Lachowicz * gdk-pixbuf/queryloaders.c (loader_sanity_check): It's perfectly acceptable for a module to only support the save_to_callback() method if it marks itself as WRITABLE 2008-02-16 Matthias Clasen * configure.in: Bump version