1 Wed Aug 25 00:22:48 2004 Søren Sandmann <sandmann@redhat.com>
3 * gtk/gtksequence.c: Remove debug spew
5 Wed Aug 25 00:09:07 2004 Søren Sandmann <sandmann@redhat.com>
7 * gtk/gtkliststore.c (gtk_list_store_move_after): Fix logical
8 errors in gtk_list_store_move_before/after(). (#150983, patch by
11 Tue Aug 24 21:46:42 2004 Søren Sandmann <sandmann@redhat.com>
13 * gtk/gtksequence.c (_gtk_sequence_move): Just return if the
14 parameters are identical. (#150159, Robert Ögren)
16 2004-08-24 Matthias Clasen <mclasen@redhat.com>
18 * gtk/gtkaction.c (connect_proxy, disconnect_proxy): Handle
19 action_group being NULL. (#150869, Tommi Komulainen)
21 2004-08-24 Matthias Clasen <mclasen@redhat.com>
23 * gdk/gdkimage.c (allocate_scratch_images): Use the correct
24 index variable. (#150941, Tommi Komulainen)
26 2004-08-24 Matthias Clasen <mclasen@redhat.com>
28 * gtk/gtktreeview.c (gtk_tree_view_node_queue_redraw): Take header
29 height and adjustment into account. (#136496, Pawek Salek)
31 Mon Aug 23 17:19:19 2004 Jonathan Blandford <jrb@redhat.com>
34 * docs/tools/Makefile.am (clean-local): add the doc shooter to the
35 docs dir as an uninstalled helper tool.
37 2004-08-23 Matthias Clasen <mclasen@redhat.com>
39 * gdk/x11/gdkwindow-x11.c (show_window_internal): Make it compile.
41 * gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a
44 * gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Update
46 (show_window_internal): Update the user time when re-mapping a
47 toplevel window. (#150502, Elijah Newren)
49 2004-08-23 Matthias Clasen <mclasen@redhat.com>
51 Fix #150822, reported by Christian Persch
53 * gtk/gtklabel.c (gtk_label_ensure_layout): Set the layout width
54 appropriately when ellipsized.
55 (gtk_label_size_allocate): Only set the layout width if there
58 2004-08-23 Matthias Clasen <mclasen@redhat.com>
60 * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Support the latest
61 EWMH additions to the _NET_ACTIVE_WINDOW client message
62 format. (#150668, Elijah Newren)
64 Mon Aug 23 01:17:59 2004 Matthias Clasen <maclas@gmx.de>
66 * gdk/gdkrgb.c (gdk_rgb_xpixel_from_rgb_internal): Set unused
67 bits in pixel to 1s in case they are used as alpha; copying
68 code from gdk_colormap_alloc_colors(). (#150466, Rich Wareham)
70 2004-08-22 Philip Langdale <plangdale@vmware.com>
72 * gtk/gtkaction.c (gtk_action_disconnect_proxy): Two signals
73 (gtk_action_sync_property and gtk_action_sync_sensitive) were
74 not being correctly disconnected, leading to actions continuing
75 to affect disconnected proxies. (#150607)
77 2004-08-22 Tor Lillqvist <tml@iki.fi>
79 * gdk/win32/gdkwindow-win32.c (gdk_window_new_internal,
80 gdk_window_new, gdk_window_set_skip_taskbar_hint): Don't show TEMP
81 windows in the Task Manager. Implement by calling
82 gdk_window_set_skip_taskbar_hint(TRUE) on them. (#145481, Tim
85 * gdk/win32/gdkdisplay-win32.c (enum_monitor, gdk_display_open):
86 Report whole of (primary) monitor, including any taskbars.
87 Excluding the taskbar area from the "root window" reported to GDK
88 doesn't seem to be that useful although gdk/win32 had been doing it
89 for a very long time. (#149013, see also #145467 and #148526)
91 Sun Aug 22 16:55:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
96 Make enums match property names. Found by a script by Tommi
99 * gtk/gtkpaned.c (gtk_paned_class_init): fix min/max mixup.
101 Sun Aug 22 16:09:49 2004 Soeren Sandmann <sandmann@daimi.au.dk>
103 * gtk/gtkliststore.h (struct _GtkListStore):
104 * gtk/gtkliststore.c (gtk_list_store_init):
105 * gtk/gtkliststore.c (gtk_list_store_insert):
106 * gtk/gtkliststore.c (gtk_list_store_remove):
107 Restore length field; PyGTK and maybe others use it directly.
109 Sun Aug 22 15:46:56 2004 Soeren Sandmann <sandmann@daimi.au.dk>
111 * gtk/gtkpaned.c (gtk_paned_class_init):
112 s/CYCLE_HANDLE_FOCUS/CYCLE_CHILD_FOCUS/
114 * gtk/gtkfontbutton.c (gtk_font_button_class_init):
115 s/PROP_SHOW_SIZE/PROP_SHOW_STYLE/
117 Both pointed out by Tommi Komulainen.
119 Sun Aug 22 13:44:53 2004 Soeren Sandmann <sandmann@daimi.au.dk>
121 * gtk/gtkpaned.c (gtk_paned_class_init): Use PROP_MAX_POSITION,
122 not PROP_MIN_POSITION for the max_position property. Fix pointet
123 out by Tommi Komulainen.
125 Sun Aug 22 13:32:33 2004 Soeren Sandmann <sandmann@daimi.au.dk>
127 * gtk/gtkliststore.c (gtk_list_store_insert): Normalize the
128 position so we don't create paths with off-list
131 Sun Aug 22 12:04:59 2004 Soeren Sandmann <sandmann@daimi.au.dk>
133 * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Use the
134 correct tree path (#150289, Morten Welinder).
136 Sun Aug 22 00:08:44 2004 Matthias Clasen <maclas@gmx.de>
138 Fix #150406, reported by Fernando San Martín Woerner, patch
141 * gtk/gtkentrycompletion.c
142 (gtk_entry_completion_default_completion_func): Check that
143 column is of type G_TYPE_STRING before proceeding.
145 Sat Aug 21 23:52:13 2004 Matthias Clasen <maclas@gmx.de>
147 * gtk/gtktreestore.c (gtk_tree_store_swap): Don't use an
148 uninitialized tree iter. (#150414, Torsten Schoenfeld)
150 Sat Aug 21 23:29:54 2004 Matthias Clasen <maclas@gmx.de>
152 Fix #150738, Tomislav Jonjic.
154 * gtk/gtktoolitem.h (GTK_IS_TOOL_ITEM_CLASS):
155 * gtk/gtktoolbutton.h (GTK_IS_TOOL_BUTTON_CLASS):
156 * gtk/gtktoggleaction.h (GTK_IS_TOGGLE_ACTION_CLASS):
157 * gtk/gtkseparatortoolitem.h (GTK_IS_SEPARATOR_TOOL_ITEM_CLASS):
158 * gtk/gtkradiotoolbutton.h (GTK_IS_RADIO_TOOL_BUTTON_CLASS):
159 * gtk/gtkradioaction.h (GTK_IS_RADIO_ACTION_CLASS):
160 * gtk/gtkuimanager.h (GTK_IS_UI_MANAGER_CLASS):
161 * gtk/gtkaction.h (GTK_IS_ACTION_CLASS): Fix macro definitions.
163 Wed Aug 18 17:25:26 2004 Manish Singh <yosh@gimp.org>
165 * demos/testpixbuf-save.c
166 * demos/gtk-demo/hypertext.c: Get rid of some unnecessary casts.
168 * demos/gtk-demo/appwindow.c: Make activate_email and activate_url
169 match the arguments for GtkAboutDialogActivateLinkFunc.
171 Wed Aug 18 16:18:00 2004 Manish Singh <yosh@gimp.org>
173 * gtk/gtktreeview.c (gtk_tree_view_row_inserted): Initialize height
174 from fixed_height before we do anything, so it always has a valid
177 * gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): Fix call
178 to gtk_tree_model_get (missing "," in param list).
180 2004-08-18 Federico Mena Quintero <federico@ximian.com>
186 * gtk/gtkfilechooserdefault.c: Renamed SHORTCUTS_COL_PATH to
187 SHORTCUTS_COL_DATA. Add SHORTCUTS_COL_IS_VOLUME, to determine
188 easily whether the SHORTCUTS_COL_DATA points to a GtkFilePath or a
190 (shortcuts_model_create): Create a boolean column for
191 SHORTCUTS_COL_IS_VOLUME.
192 (shortcuts_reload_icons): Simplify with the use of the
193 SHORTCUTS_COL_IS_VOLUME column. Don't leak the pixbuf.
194 (shortcuts_insert_path): Add the SHORTCUTS_COL_IS_VOLUME data.
195 (shortcuts_free_row_data): New helper function; frees the data
197 (shortcuts_remove_rows): Don't take a callback for freeing the
198 data; free everything here instead. Use
199 shortcuts_free_row_data().
200 (volume_remove_cb): Removed.
201 (remove_bookmark_cb): Removed.
202 (remove_row_cb): Make this a single generic function to delete
204 (shortcuts_add_volumes): Use remove_row_cb().
205 (shortcuts_add_bookmarks): Likewise.
206 (struct _GtkFileChooserDefault): Removed the
207 shortcuts_current_folder_is_volume field.
208 (shortcuts_add_current_folder): Oops, don't free the volume.
209 (remove_current_folder_cb): Removed.
210 (shortcut_find_position): Simplify through the use of the
211 SHORTCUTS_COL_IS_VOLUME column.
212 (remove_selected_bookmarks): Assert that we don't get a volume.
213 (shortcuts_reorder): Likewise; also, plug a leak.
214 (gtk_file_chooser_default_remove_shortcut_folder): Simplify
215 through the use of shortcuts_remove_rows().
216 (gtk_file_chooser_default_list_shortcut_folders): Assert that we
218 (shortcuts_activate_iter): Simplify.
219 (home_folder_handler): Simplify by using
220 shortcuts_activate_iter().
221 (shortcuts_free): New function; frees all the data columns.
222 (gtk_file_chooser_default_finalize): Unref the
223 shortcuts_filter_model and the shortcuts model data first.
225 Wed Aug 18 08:31:17 2004 Manish Singh <yosh@gimp.org>
227 * gtk/gtkiconview.c: Applied patch from Olivier Andrieu to fix
230 * gtk/gtkicontheme.c (gtk_icon_theme_init): xdg_data_dirs should
231 match constness attributes of g_get_system_data_dirs ().
233 2004-08-17 Matthias Clasen <mclasen@redhat.com>
235 * gtk/gtkicontheme.c (gtk_icon_theme_init): Look up icon themes in the
236 directories specified in the icon theme spec: $HOME/.icons,
237 $XDG_DATA_DIRS/icons, /usr/share/pixmaps. Note that GTK+ used to also look
238 in $GTK_DATA_DIR/icons, $GTK_DATA_DIR/pixmaps and /usr/share/icons. (#148694)
241 * gtk/gtkframe.c (gtk_frame_paint): Take widget->state into account when
242 painting the shadows. (#150351, Tim Janik)
244 2004-08-17 Matthias Clasen <mclasen@redhat.com>
246 * gtk/abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS anymore.
248 * gdk/gdk.symbols: Don't use #if defined().
250 * gdk/Makefile.am (gdkalias.h):
251 * gtk/Makefile.am (gtkalias.h): Don't use cpp to filter gtk.symbols.
253 * gdk/makegdkalias.pl:
254 * gtk/makegtkalias.pl: Move the #ifdef processing into the perl script, and
255 keep the #ifdefs which differentiate between platforms.
257 * gtk/Makefile.am (gtk_private_h_sources): Remove gtkinternals.h, it is no
260 2004-08-17 Matthias Clasen <mclasen@redhat.com>
262 * tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
265 * gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
266 (gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
267 (gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
268 (gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
269 seems to expect a path, not an uri.
270 (update_dialog): Handle g_filename_from_uri() returning NULL, don't free
273 * gtk/gtkfilechooserbutton.h: Minor stylistic changes.
275 2004-08-17 Matthias Clasen <mclasen@redhat.com>
277 * gtk/gtkfilechooserbutton.[hc]: New widget to go along with
278 GtkFontButton and GtkColorButton for use in preference dialogs.
279 Replaces GnomeFileEntry. (#148108, James M. Cape)
281 * gtk/gtk.h: Include gtkfilechooserbutton.h
283 * gtk/Makefile.am (gtk_public_h_sources): Add gtkfilechooserbutton.h
284 (gtk_c_sources): Add gtkfilechooserbutton.c
286 * gtk/gtk.symbols: Add the GtkFileChooserButton symbols.
288 * gtk/gtkfilechooserutils.[hc]: Make the delegate quark available.
290 * gtk/gtkfilechooserentry.[hc] (_gtk_file_chooser_entry_new): Allow
291 to suppress tab-eating using the new eat_tabs argument. Adjust all
294 * tests/testfilechooserbutton.c: Test for GtkFileChooserButton.
296 * tests/Makefile.am (noinst_PROGRAMS): Add testfilechooserbutton
298 2004-08-16 Matthias Clasen <mclasen@redhat.com>
300 * gtk/gtkwidget.c (gtk_widget_render_icon): Doc update.
302 * gtk/gtkiconfactory.c (render_icon_name_pixbuf): When the size is -1,
303 use the available size closest to 48. (#150147)
305 * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes): Actually return
306 a pointer to the beginning of the sizes array, not the end.
308 2004-08-16 Morten Welinder <terra@gnome.org>
310 * tests/testtreemodel.c (test_run): Comment out mallinfo stuff.
311 Fix g_print %-strings.
313 * gtk/gtksequence.c (_gtk_sequence_set): Fix C99ism.
315 2004-08-16 Christian Rose <menthos@menthos.com>
317 * configure.in: Added "bs" to ALL_LINGUAS.
319 Mon Aug 16 01:35:25 2004 Matthias Clasen <maclas@gmx.de>
322 * gtk/gtkcombobox.[hc]: Add a ::focus-on-click property and
323 change the default behaviour to focus on click.
325 * gtk/gtkbutton.c (gtk_button_set_focus_on_click): Typo fix.
327 Mon Aug 16 01:03:08 2004 Matthias Clasen <maclas@gmx.de>
329 * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset):
330 (gtk_text_iter_set_visible_line_index): Count from the
331 beginning of the line, not from the current position. (#150101,
334 2004-08-15 Tor Lillqvist <tml@iki.fi>
336 * gtk-zip.sh.in: Fix typo. The gtk.immodules file had never been
337 included in my zipfiles...!
339 * gtk/gtkfilesystemwin32.c (extract_icon): Improve handling of
340 icon alpha channel (on Windows XP) and mask (older Windows
341 versions). (#148641, Tim Evans)
343 Sun Aug 15 02:31:55 2004 Matthias Clasen <maclas@gmx.de>
345 * gtk/gtkfilesystemunix.c (get_icon_type_from_stat): Make
346 the use of S_ISFIFO and S_ISSOCK conditional. (#150146,
349 2004-08-14 Tor Lillqvist <tml@iki.fi>
351 * gtk/gtkfilechooserdefault.c (shortcuts_append_home,
352 shortcuts_append_desktop, set_local_only)
353 * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_render_icon)
354 * gtk/gtkpathbar.c (find_button_type, _gtk_path_bar_set_file_system):
355 Guard against g_get_home_dir() returning NULL. (#150007)
357 Sat Aug 14 17:56:33 2004 Soeren Sandmann <sandmann@daimi.au.dk>
359 * gtk/gtkentry.c (gtk_entry_get_pixel_ranges): New function.
361 * gtk/gtkentry.c (in_selection): New function using
362 gtk_entry_get_pixel_ranges() to determine whether a click is in
363 the selection. Improve entry behavior wrt. dragging and
364 selecting. Bug #143249.
366 Sat Aug 14 17:53:46 2004 Soeren Sandmann <sandmann@daimi.au.dk>
368 * configure.in: Require glib 2.5.2
370 * gtk/gtksequence.[ch]: New internal data structure.
372 * gtk/gtkliststore.[hc]: Reimplement in terms of new data
375 * tests/Makefile.am (testtreemodel_SOURCES):
376 * tests/testtreemodel.c: New test program written by Matthias.
378 2004-08-13 Matthias Clasen <mclasen@redhat.com>
380 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_style_set):
381 Don't install the settings_notify_cb from here, since it
382 may be called before the first screen_changed signal,
383 confusing the logic in gtk_file_chooser_screen_changed().
384 (#148803, Abel Daniel)
386 * gtk/gtkcombobox.c: Make re-sensitivation work
389 * gtk/gtkaction.c (gtk_action_new): Fix the docs.
391 Fri Aug 13 01:06:56 2004 Matthias Clasen <maclas@gmx.de>
393 * gtk/gtktreeview.c (gtk_tree_view_row_inserted):
394 Make fixed height mode handle insertions. (#135955,
395 Michael Vogt, testcase by Tim-Philipp Müller, fix by
398 Fri Aug 13 00:40:18 2004 Matthias Clasen <maclas@gmx.de>
400 * gtk/gtkhandlebox.c: Add missing include.
402 Thu Aug 12 23:52:12 2004 Matthias Clasen <maclas@gmx.de>
404 Fix #149547, Markus Lausser:
406 * gtk/gtkcombobox.c (gtk_combo_box_size_allocate):
407 * gtk/gtkcombobox.c (gtk_combo_box_size_request): Don't
408 crash if size_request or size_allocate are called early.
410 * gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Protect
411 against being allocated too small.
413 Thu Aug 12 21:02:57 2004 Matthias Clasen <maclas@gmx.de>
415 * demos/gtk-demo/appwindow.c (about_cb): Adjust to GtkAboutDialog
418 * gtk/gtkaboutdialog.h:
419 * gtk/gtkaboutdialog.c (gtk_about_dialog_set_email_hook):
420 (gtk_about_dialog_set_url_hook): Add callback data and destroy notify
421 for language bindings. (#149999, Olivier Andrieu)
423 2004-08-12 Matthias Clasen <mclasen@redhat.com>
425 * gtk/gtkfilesystem.c: Underscore-prefix gtk_file_system_module_get_type().
426 * gtk/gtkfilechooserdefault.c: Underscore-prefix shortcuts_model_filter_get_type().
428 * gtk/gtkimmodule.c: Make gtk_im_module_get_type() static.
430 * gtk/gtkinternals.h: Remove the no longer exported get_type functions.
432 Thu Aug 12 01:35:46 2004 Matthias Clasen <maclas@gmx.de>
434 * gtk/gtkiconview.c: Make the icon view accessible by
435 implementing the necesssary ATK interfaces. (#149728,
438 Thu Aug 12 00:02:29 2004 Matthias Clasen <maclas@gmx.de
440 * gtk/gtkaction.c (gtk_action_new): Link to information about
441 allowed action names. (#149620, David Malcolm)
443 Wed Aug 11 23:14:25 2004 Matthias Clasen <maclas@gmx.de>
447 * gtk/gtkaction.c (gtk_action_set_sensitive):
448 (gtk_action_set_visible): Add setters for the ::sensitive
449 and ::visible properties of GtkAction. (#149622, David Malcolm)
451 2004-08-11 Federico Mena Quintero <federico@ximian.com>
453 Fix #149422, #143457:
455 * gtk/gtkfilechooserdefault.c
456 (gtk_file_chooser_default_should_respond): Rewrite to take the
457 current focus into account, the contents of the save entry, and
458 the last focus for the shortcuts list.
459 (switch_to_selected_folder): We don't need an assertion on the
462 Wed Aug 11 20:56:00 2004 Matthias Clasen <maclas@gmx.de>
464 * gtk/gtkinternals.h:
465 * gtk/gtk.symbols: Add shortcuts_model_filter_get_type.
467 * gtk/abicheck.sh: Check all symbols.
469 Wed Aug 11 19:20:34 2004 Matthias Clasen <maclas@gmx.de>
471 * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row):
472 Don't start a drag if the treeview is only a
473 drag destination. (#149836, Pawel Salek)
475 2004-08-11 Matthias Clasen <mclasen@redhat.com>
477 * gtk/gtktreedatalist.[hc]:
478 * gtk/gtkliststore.c:
479 * gtk/gtktreestore.c: Underscore-prefix
480 gtk_tree_data_list_compare_func.
482 * gtk/gtk.symbols: Remove gtk_tree_data_list_compare_func.
484 * gtk/makegtkalias.pl: No need to include gtktreedatalist.h
487 2004-08-10 Matthias Clasen <mclasen@redhat.com>
490 * gtk/Makefile.am: Define TESTS, not TEST, so that make check
491 actually triggers abicheck.sh.
493 * gdk/makegdkalias.pl:
494 * gtk/makegtkalias.pl: Include glib.h before using glib symbols. D'oh.
496 * gdk/makegdkalias.pl:
497 * gtk/makegtkalias.pl: Protect gtkalias.h by G_HAVE_GNUC_VISIBILITY.
499 * gtk/Makefile.am: Include gtkalias.h in the generated
500 sources gtkmarhalers.c and gtkmarshal.c.
502 * gtk/makegtkalias.pl: Cosmetic fix.
504 * gdk/Makefile.am: Remove the . which was accidentally added
505 to SUBDIRS. Include gdkalias.h in the generated sources
506 gdkenumtypes.c and gdkmarshalers.c.
508 * gdk/makegdkalias.pl: Cosmetic fix.
510 * gdk/Makefile.am: Add gdkalias.h to BUILT_SOURCES.
512 2004-08-09 Hans Breuer <hans@breuer.org>
514 * gtk/makefile.msc.in : autogenerate gtk.def, cleanup
516 * gdk/win32/gdkwindow-win32.c gdk/win32/gdkevents-win32.c :
517 removed long time unused ifdef/ed code (WITHOUT_WM_CREATE),
518 removed duplicated call to gdk_window_set_cursor()
520 Mon Aug 9 15:41:17 2004 Matthias Clasen <maclas@gmx.de>
522 Add hidden aliases for exported symbols which are
523 used internally in order to get rid of many PLT
524 entries. (#145519, Arjan van de Ven)
526 * gdk/Makefile.am: Add rules to generate gdk.def and
527 gdkalias.h from gdk.symbols, and make make check check
528 the abi with abicheck.sh.
530 * gdk/gdk.symbols: New file. Definition of the GDK ABI.
531 The file can be processed by cpp to filter out certain
534 * gdk/abicheck.sh: New file. Script to check the actually
535 symbols exported from libgdk-x11.2.0.so against the symbols
536 found in gdk.symbols.
538 * gdk/makegdkalias.pl: New file. Perl script to generate the
539 header containing the alias definitions for internally used
540 exported symbols from a list of symbols.
542 * gdk/*.c, gdk/x11/*.c: Include gdkalias.h
544 2004-08-09 Morten Welinder <terra@gnome.org>
546 * gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): Fix C99ism.
548 Mon Aug 9 15:27:01 2004 Matthias Clasen <maclas@gmx.de>
550 * gtk/makegtkalias.pl: Also revert
551 GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API to its old status.
553 Mon Aug 9 15:19:34 2004 Matthias Clasen <maclas@gmx.de>
556 * gdk/gdkrgb.h: Add the exported functions
557 gdk_rgb_colormap_ditherable(), gdk_pointer_grab_info_libgtk_only(),
558 gdk_keyboard_grab_info_libgtk_only() to the appropriate
561 Mon Aug 9 14:24:46 2004 Matthias Clasen <maclas@gmx.de>
563 * gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse):
566 Mon Aug 9 12:48:04 2004 Matthias Clasen <maclas@gmx.de>
568 Add hidden aliases for exported symbols which are
569 used internally in order to get rid of many PLT
570 entries. (#145519, Arjan van de Ven)
572 * gtk/Makefile.am: Add rules to generate gtk.def and
573 gtkalias.h from gtk.symbols, and make make check check
574 the abi with abicheck.sh.
575 (gtk_private_h_sources): Add gtkinternals.h
576 (gtk_built_private_headers): Add gtkalias.h
577 (gtk_extra_sources): Add gtk.symbols
578 (EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
580 * gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
581 The file can be processed by cpp to filter out certain
584 * gtk/abicheck.sh: New file. Script to check the actually
585 symbols exported from libgtk-x11.2.0.so against the symbols
586 found in gtk.symbols.
588 * gtk/makegtkalias.pl: New file. Perl script to generate the
589 header containing the alias definitions for internally used
590 exported symbols from a list of symbols.
592 * gtk/gtkinternals.h: New file. An uninstalled header listing
593 symbols which must be exported for some reason and do not appear
596 * gtk/*.c: Include gtkalias.h
598 Mon Aug 9 11:49:46 2004 Matthias Clasen <maclas@gmx.de>
600 * gtk/gtkmain.c: Only undef gtk_init_check and gtk_init on win32.
602 Mon Aug 9 10:50:05 2004 Matthias Clasen <maclas@gmx.de>
604 * gtk/gtkentry.h: Add gtk_entry_layout_index_to_text_index()
605 and its inverse. The have always been exported and are meant
608 Mon Aug 9 00:28:34 2004 Matthias Clasen <maclas@gmx.de>
610 * gtk/gtkicontheme.c (load_svg_at_size): Don't leak the
613 Mon Aug 9 00:13:03 2004 Matthias Clasen <maclas@gmx.de>
615 * gtk/gtkaboutdialog.c (icon_set_new_from_pixbufs): Don't
616 leak the icon source.
618 Sun Aug 8 23:46:20 2004 Matthias Clasen <maclas@gmx.de>
620 * gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): Don't
621 leak a reference to the pixbufs.
623 Sun Aug 8 23:36:55 2004 Matthias Clasen <maclas@gmx.de>
625 * gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Ref
627 (gtk_combo_box_menu_destroy): Unref the column.
629 Sun Aug 8 23:35:00 2004 Matthias Clasen <maclas@gmx.de>
631 * gtk/gtkdnd.c (gtk_drag_source_add_text_targets):
632 (gtk_drag_dest_add_text_targets): Don't leak a reference
635 Sun Aug 8 22:52:26 2004 Matthias Clasen <maclas@gmx.de>
637 * gtk/gtkcombobox.c (find_menu_by_path): Don't stumble over
638 separators which are not backed by model rows.
640 Sun Aug 8 11:01:23 2004 Matthias Clasen <maclas@gmx.de>
642 * gtk/gtkcombobox.c (gtk_combo_box_set_active): Don't leak
645 2004-08-08 Hans Breuer <hans@breuer.org>
647 * gtk/gtkdnd.c (gtk_drag_dest_set) : take targets into
648 account again to allow dnd of other things than text
650 * gdk/win32/gdkselection-win32.c : offer windows bitmap to
651 be pasted from clipboard (makes The GIMP 2.1's
652 "File/Acquire/Paste as New" work, only using gtk+ API)
654 Sun Aug 8 01:32:36 2004 Matthias Clasen <maclas@gmx.de>
656 * gtk/gtk.def: Add gtk_cell_renderer_progress_get_type.
658 Sun Aug 8 01:29:08 2004 Matthias Clasen <maclas@gmx.de>
660 * gtk/gtk.def: Replace duplicate gtk_tree_view_get_hover_expand
661 by gtk_tree_view_set_hover_expand.
663 Sun Aug 8 01:23:08 2004 Matthias Clasen <maclas@gmx.de>
665 * gtk/gtk.def: Remove the static function gtk_menu_get_private.
667 2004-08-07 Tor Lillqvist <tml@iki.fi>
669 * gdk/win32/gdkkeys-win32.c (update_keymap): Don't hardcode
670 mapping of VK_DECIMAL to GDK_KP_Decimal. Instead, let ToAsciiEx()
671 map it to what's printed on the keypad decimal key for the current
672 input locale (keyboard layout). (#149404)
674 Sat Aug 7 18:19:03 2004 Matthias Clasen <maclas@gmx.de>
676 * gtk/gtkfilechooserdefault.c (save_folder_combo_create):
677 (shortcuts_list_create): Use GtkTreeViewRowSeparatorFunc
678 instead of GtkCellRendererSepText. (#147864)
680 * gtk/gtkcellrendererseptext.[hc]: Removed.
682 * gtk/Makefile.am: Remove gtkcellrendererseptext.[hc]
684 Sat Aug 7 18:15:15 2004 Matthias Clasen <maclas@gmx.de>
686 * gtk/gtkcombobox.c (gtk_combo_box_menu_row_deleted):
687 (gtk_combo_box_menu_row_inserted):
688 (gtk_combo_box_menu_row_changed): Correctly handle
689 insertion and deletion of separators in menu mode.
691 2004-08-07 Tor Lillqvist <tml@iki.fi>
693 * gdk/win32/gdkevents-win32.c (handle_configure_event,
694 gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
695 top-level window coordinates, not just in generated
696 events. (#148526, Robert Ögren)
698 Sat Aug 7 01:26:08 2004 Matthias Clasen <maclas@gmx.de>
700 Make the column drag code a bit more robust (still scary,
701 though). (#106992, Christian Biere)
703 * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): Assert
704 that cur_reorder is NULL here.
706 * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
707 Reset cur_reorder to NULL, and only hide drag_highlight_window
710 2004-08-06 Federico Mena Quintero <federico@ximian.com>
714 * gtk/gtkfilechooserdefault.c (save_widgets_create): Use a
715 GtkFileChooserEntry for the file name, rather than a GtkEntry.
716 (update_chooser_entry): Set the contents of the file chooser entry
717 rather than the plain entry's.
718 (gtk_file_chooser_default_set_current_folder): Set the new folder
720 (gtk_file_chooser_default_set_current_name): Set the name on the
722 (check_save_entry): Use the file chooser entry rather than the
725 * gtk/gtkfilechooserentry.c
726 (_gtk_file_chooser_entry_set_base_folder): Call
727 gtk_file_chooser_entry_changed() so that we recompute the current
728 folder based on the new base folder.
730 2004-08-06 Hans Breuer <hans@breuer.org>
732 * gdk/win32/gdkwindow-win32.c : make it compile and more
733 similar to the X11 implementation [backward compatibility
734 for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702),
735 use the *screen* function variants, dont reparent already
737 (get_visible_region) : take the win32 part into account
738 (_gdk_windowing_window_destroy) : remove from handle table
740 * gdk/win32/gdkdisplay-win32.c : added
741 gdk_display_(request|supports)_selection_notification ()
742 with a currently mostly pointless implementation ;-)
744 * gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
746 (gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY
748 * gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in
749 gtk/stock-icons/makefile.msc tests/makefile.msc : updated
751 * gdk/gdk.def gtk/gtk.def : updated externals
753 * tests/testiconview.c : remove unneeded dirent.h inclusion
755 2004-08-06 Matthias Clasen <mclasen@redhat.com>
757 * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): Fix
758 an off-by-one error. (#141809, Markku Vire)
760 * gtk/gtkdnd.c (gtk_drag_dest_set, gtk_drag_source_set): Really
761 fix the initialization of the target list.
763 Support XDND v5. (#10220, Owen Taylor)
765 * gdk/x11/gdkdnd-x11.c: Record the XDND version and whether the
766 drop was successful in the GdkDragContextPrivateX11 struct.
767 (xdnd_finished_filter): Store the success status of the drop
768 for an XDND version 5 interaction. For other versions, always
769 assume the drop was successful.
770 (xdnd_check_dest): Return the protocol version.
771 (_gdk_drag_get_protocol_for_display): Return the protocol version.
772 (gdk_drag_find_window_for_screen): Store the used protocol version
773 in the GdkDragContext.
774 (xdnd_send_enter): Send the used protocol version from the context,
775 instead of hardwiring 3.
776 (xdnd_enter_filter): Accept protocol versions >= 3 and store the
777 used protocol version in the context.
780 * gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): New function
781 to find out whether a drop was successful.
783 2004-07-28 Robert Ögren <gtk@roboros.com>
785 * gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Set x_root
786 and y_root in button and motion events from the tablet. (#148715)
788 Thu Aug 5 19:58:08 2004 Soeren Sandmann <sandmann@daimi.au.dk>
790 * gtk/gtkplug.c (gtk_plug_realize): Call
791 gdk_window_enable_synchronized_configure()
793 * gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Make
794 noop if gdk_window_enable_synchronized_configure() has not been
797 2004-08-04 Matthias Clasen <mclasen@redhat.com>
799 * gtk/gtkfilechooser.[hc]: Add setter and getter for the
800 ::show-hidden property. (#145610, Jeff Franks)
802 * tests/testiconview.c: Add buttons to select and unselect all
803 nodes, make the popup menu actually work.
805 * gtk/gtkiconview.c: Make GTK_SELECTION_BROWSE work as intended,
806 let button 3 presses through to the app, to make popup menus
809 * tests/Makefile.am: Add testiconview.
810 * tests/testiconview.c: A test for GtkIconView
811 * tests/gnome-textfile.png: ...which uses this image.
813 Wed Aug 4 01:37:57 2004 Matthias Clasen <maclas@gmx.de>
816 * gtk/gtktreestore.c:
817 * gtk/gtktreemodelfilter.c:
818 * gtk/gtknotebook.c: s/childs/children/g.
820 Wed Aug 4 01:04:48 2004 Matthias Clasen <maclas@gmx.de>
822 Fix #133446, noticed by Christian Persch:
824 * gtk/gtkaction.c (gtk_action_class_init): Add a new boolean
825 property ::visible-overflown.
826 * gtk/gtkaction.c (gtk_action_create_menu_proxy): Don't create
827 a menu proxy if visible_overflown is FALSE.
829 Tue Aug 3 20:16:26 2004 Matthias Clasen <maclas@gmx.de>
831 * gtk/gtkactiongroup.[hc]: Make the the GtkAction{Toggle,Radio,}Entry*
832 arguments to the gtk_action_group_add_..._actions() functions const,
833 since the most common use case is to use a static array. (142334,
834 Mariano Suarez-Alvarez)
836 Tue Aug 3 20:03:33 2004 Matthias Clasen <maclas@gmx.de>
838 * gtk/gtkuimanager.c (get_node): Make gtk_ui_manager_add_ui()
839 accept paths with a leading "/ui". (#149077, David Malcolm)
841 Tue Aug 3 19:59:29 2004 Matthias Clasen <maclas@gmx.de>
843 * gtk/gtkiconview.c: Fix some warnings.
845 Tue Aug 3 18:38:40 2004 Matthias Clasen <maclas@gmx.de>
847 * gtk/gtktreemodelfilter.c: Correct the return type
848 of gtk_tree_model_filter_get_flags(). (#149195, Morten Welinder)
850 Tue Aug 3 18:16:55 2004 Matthias Clasen <maclas@gmx.de>
852 Fix #149191, reported by Morten Welinder:
854 * gtk/gtkmain.c: Include gtkclipboard.h,
855 * gtk/gtkwidget.h: Declare _gtk_widget_grab_notify, not
856 _gtk_widget_emit_grab_notify.
858 Tue Aug 3 14:50:14 2004 Matthias Clasen <maclas@gmx.de>
860 * gtk/gtkicontheme.c (add_size): Add missing parens.
861 (#149190, Morten Welinder)
863 Tue Aug 3 14:29:49 2004 Matthias Clasen <maclas@gmx.de>
865 * gtk/gtkcombobox.c (gtk_combo_box_menu_fill): Remove
866 accidentally committed debug code.
868 Tue Aug 3 01:19:12 2004 Matthias Clasen <maclas@gmx.de>
870 * gtk/gtkcombobox.c (gtk_combo_box_relayout_item): Optimize
871 for the case that row_column and col_column are unset.
872 (#148868, Lorenzo Gil Sánchez)
874 Mon Aug 2 21:52:45 2004 Soeren Sandmann <sandmann@daimi.au.dk>
876 * gdk/x11/gdkwindow-x11.c (ensure_sync_counter): New
877 function. Make sure the sync counter is recreated when a window is
878 reparented to become a toplevel. (#148358)
880 2004-08-02 Matthias Clasen <mclasen@redhat.com>
882 * tests/testcombo.c: Some trees in combo boxes.
884 * gtk/gtkcombobox.c: Rework the combo box to handle
885 tree models. (#139582, Matt Walton)
889 * gtk/gtktreeprivate.h: Add a new boolean property
890 ::hover-expand and make the treeview expand/collapse rows
891 on mouseover if it is set.
893 * gtk/gtkiconview.h: Remove some erroneous declarations.
895 * gtk/gtkcellview.c (gtk_cell_view_set_cell_data): Don't
896 crash if the displayed row is gone.
898 2004-08-02 Morten Welinder <terra@gnome.org>
900 * gtk/gtkentry.c (gtk_entry_motion_notify): C99ism.
902 Mon Aug 2 01:30:03 2004 Matthias Clasen <maclas@gmx.de>
904 * gtk/gtktextview.[hc]:
905 * gtk/gtkentry.[hc]: Add a new binding signal ::backspace,
906 bind it to the backspace key, and make it pay attention
907 to the Pango backspace_deletes_character
908 attribute. (#119891, Noah Levitt, patch by Theppitak
911 Mon Aug 2 01:02:57 2004 Matthias Clasen <maclas@gmx.de>
913 * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
914 (gdk_check_wm_desktop_changed): Add missing error
915 traps. (#149011, Thomas Leonard)
917 Mon Aug 2 00:21:26 2004 Matthias Clasen <maclas@gmx.de>
919 * gtk/gtktextview.c (blink_cb): Add the same warning
920 that the blink_cb() in GtkEntry already has. (#148733)
922 Mon Aug 2 00:12:16 2004 Matthias Clasen <maclas@gmx.de>
924 * gtk/gtkentry.c (gtk_entry_class_init):
925 (gtk_entry_get_alignment):
926 (gtk_entry_set_alignment): Document the xalign property
927 and its getter and setter as 2.4 additions. (#148978,
930 Mon Aug 2 00:11:31 2004 Matthias Clasen <maclas@gmx.de>
932 * gtk/gtkuimanager.c (gtk_ui_manager_class_init):
933 * gtk/gtkactiongroup.c (gtk_action_group_class_init): Use
934 canonical signal names in doc comments, since gtk-doc won't
935 pick up signal docs with underscores.
937 2004-08-01 Matthias Clasen <mclasen@redhat.com>
939 * configure.in: Post-release version bump
941 * === Released 2.5.1 ===
943 Thu Jul 29 16:36:42 2004 Jonathan Blandford <jrb@redhat.com>
945 * gtk/gtktreeprivate.h: New arguments
948 (gtk_tree_view_class_init): Add key_release callback
949 (gtk_tree_view_init): Initialize timeout handler
950 (gtk_tree_view_unrealize): clear timeout if needed
951 (gtk_tree_view_key_press): Typeahead support
952 (gtk_tree_view_key_release): Not used yet -- will be needed for
954 (gtk_tree_view_search_entry_flush_timeout): Remove typeahead entry
956 (gtk_tree_view_ensure_interactive_directory):
957 (gtk_tree_view_real_start_interactive_search):
958 (gtk_tree_view_search_init):
959 (gtk_tree_view_start_interactive_search): Typeahead support added.
960 (gtk_tree_view_search_dialog_hide): Clear timeout and text when we
963 Sat Jul 31 23:17:44 2004 Matthias Clasen <maclas@gmx.de>
967 Sat Jul 31 01:13:01 2004 Matthias Clasen <maclas@gmx.de>
971 * gtk/gtkaction.c: Use the canonical form of signal names
972 after "notify::". Otherwise, no notification arrives.
973 GObject should have a warning for that, really. (#148879,
976 Sat Jul 31 00:42:08 2004 Matthias Clasen <maclas@gmx.de>
978 * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below):
979 * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_above): Don't
980 set both states at once. (#148789, Matthew Garrett)
982 2004-07-30 Matthias Clasen <mclasen@redhat.com>
984 * gtk/gtkcombobox.c: Don't forget to destroy the row separator
985 function user data when the combo box is destroyed.
987 2004-07-30 Matthias Clasen <mclasen@redhat.com>
990 * gtk/gtkcombobox.c: Change the api for separators to use a
991 separator function instead of a boolean column.
993 * tests/testcombo.c: Update to match the api change.
995 Fri Jul 30 02:21:41 2004 Matthias Clasen <maclas@gmx.de>
997 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
998 Fix the positioning of the popup.
1000 Fri Jul 30 00:56:31 2004 Matthias Clasen <maclas@gmx.de>
1002 * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_active_changed):
1003 Implement this in terms of gtk_combo_box_get_active_iter(),
1004 instead of gtk_combo_box_get_active().
1006 2004-07-29 Federico Mena Quintero <federico@ximian.com>
1008 * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
1009 a field for an "add to shortcuts" menu item.
1010 (popup_menu_detach_cb): Clear out the field.
1011 (file_list_build_popup_menu): Only build the menu here.
1012 (file_list_update_popup_menu): Build the menu, then update the
1013 sensitivity of its items.
1014 (file_list_popup_menu): Use file_list_update_popup_menu().
1015 (bookmarks_check_add_sensitivity): Also set the sensitivity of the
1016 popup menu item. Correctly handle the case for a *single* file.
1018 (bookmarks_add_selected_folder): New helper function; code moved
1019 over from add_bookmark_button_clicked_cb().
1020 (add_bookmark_button_clicked_cb): Use the function above.
1021 (selection_check): Rather than returning a boolean value for
1022 emptiness, actually return the number of selected rows. Also,
1024 (get_selected_path): New helper function.
1026 2004-07-29 Anders Carlsson <andersca@gnome.org>
1028 * demos/gtk-demo/Makefile.am:
1029 * demos/gtk-demo/clipboard.c: (copy_button_clicked),
1030 (paste_received), (paste_button_clicked), (do_clipboard):
1033 2004-07-28 Federico Mena Quintero <federico@ximian.com>
1035 * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
1036 Store signal IDs in gulongs, not guints!
1037 (gtk_file_chooser_default_hierarchy_changed): We now monitor the
1038 focus widget on our toplevel to know which widget was last focused
1039 at the time our "should_respond" method gets called.
1040 (shortcuts_activate_selected): New helper function.
1041 (shortcuts_get_selected): New helper function.
1042 (remove_selected_bookmarks): Use shortcuts_get_selected().
1043 (bookmarks_check_remove_sensitivity): Likewise.
1044 (shortcuts_reorder): Likewise.
1045 (shortcuts_activate_iter): Renamed from shortcuts_activate_item().
1046 Activate by iter, not by item number.
1047 (save_folder_combo_changed_cb): Use shortcuts_activate_iter().
1048 (shortcuts_row_activated_cb): Likewise.
1049 (gtk_file_chooser_default_should_respond): If the last focused
1050 widget on the toplevel was the shortcuts list, activate the
1053 2004-07-28 Matthias Clasen <mclasen@redhat.com>
1055 * gdk/linux-fb/gdkprivate-fb.h: Make the fb backend compile against
1056 current freetype. (#148558, Nicolas Deves)
1058 * gtk/gtktreeview.c: Replace the EXPANDER_MAX macro by
1059 ROW_HEIGHT. (#145528)
1061 * gtk/gtkuimanager.c: Warning fixes.
1063 * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_background): Fix
1064 prototype mismatch. (#148589, Nicolas Deves)
1066 2004-07-28 Anders Carlsson <andersca@gnome.org>
1068 * gdk/x11/gdkdrawable-x11.c (gdk_draw_rectangle_alpha_libgtk_only):
1069 Cast to 32-bit integers when premultiplying, suggested by Keith Packard.
1071 2004-07-27 Anders Carlsson <andersca@gnome.org>
1073 * demos/gtk-demo/iconview.c: (do_iconview):
1074 Change selection mode to multiple.
1076 * gdk/gdkdrawable.h:
1077 * gdk/linux-fb/gdkdrawable-fb2.c:
1078 (gdk_draw_rectangle_alpha_libgtk_only):
1079 * gdk/win32/gdkdrawable-win32.c:
1080 (gdk_draw_rectangle_alpha_libgtk_only):
1081 * gdk/x11/gdkdrawable-x11.c: (gdk_x11_draw_image),
1082 (get_impl_drawable), (gdk_x11_draw_pixbuf),
1083 (gdk_draw_rectangle_alpha_libgtk_only):
1084 Add gdk_draw_rectangle_alpha_libgtk_only which uses
1085 XRenderFillRectangle on X11. It's stubbed out on the
1086 Win32 and fb backends.
1088 * gtk/gtkiconview.c:
1089 (gtk_icon_view_paint_rubberband):
1090 Use gdk_draw_rectangle_alpha_libgtk_only here.
1092 2004-07-27 Anders Carlsson <andersca@gnome.org>
1094 * gtk/gtkaboutdialog.c: (gtk_about_dialog_init),
1095 (text_view_style_set), (add_credits_page),
1096 (display_credits_dialog), (display_license_dialog):
1097 Remove dialog separators, fix text view background setting,
1098 use Close buttons instead of OK buttons.
1100 2004-07-27 Matthias Clasen <mclasen@redhat.com>
1102 * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory):
1103 Add a frame around the C-f popup to stop it from merging visually
1104 in whatever is underneath.
1106 * gtk/gtkcombobox.h:
1107 * gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible): New
1108 function necessary to make GtkComboBox accessible. (#132847,
1111 Tue Jul 27 02:34:06 2004 Matthias Clasen <maclas@gmx.de>
1113 * gtk/gtkwidget.c (gtk_widget_dispose): Hide parentless
1114 windows when disposing them. (#133231, Michael Natterer)
1116 2004-07-26 Matthias Clasen <mclasen@redhat.com>
1118 * gtk/gtklabel.c (gtk_label_class_init): Expand the documentation
1119 for GtkLabel::ellipsize.
1121 Mon Jul 26 00:38:27 2004 Matthias Clasen <maclas@gmx.de>
1123 Make the GtkComboBox in list mode scroll if the list is too
1124 large to fit in the popup. (#135543)
1126 * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add a
1127 o scrolled window to the popup in list mode.
1128 (gtk_combo_box_list_position): Calculate the height of the
1129 popup so that it fits on the screen, set the scrollbar policy
1130 of the scrolled window appropriately.
1131 (gtk_combo_box_popup): Use the height calculated by
1132 gtk_combo_box_list_position().
1133 (gtk_combo_box_remeasure): Don't add unnecessary padding.
1134 (gtk_combo_box_size_request): But add the focus with here.
1135 (gtk_combo_box_list_setup): Connect to enter notify on the
1136 popup window to activate auto scrolling.
1137 (gtk_combo_box_list_enter_notify): Activate auto scrolling.
1138 (gtk_combo_box_list_button_pressed): Setup a timeout for
1140 (gtk_combo_box_list_scroll_timeout): Timeout function for
1142 (gtk_combo_box_list_auto_scroll): Scroll the list when the
1143 pointer leaves the window.
1145 Sun Jul 25 19:51:17 2004 Matthias Clasen <maclas@gmx.de>
1147 * gtk/gtknotebook.c (gtk_notebook_scroll): Ignore scroll
1148 events from the content of the page. (#148409, Gabriel
1151 Sat Jul 24 21:38:12 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1153 * gtk/gtktoolbar.c (internal_insert_element): Warn if you try to
1154 add a tool item to a toolbar using the deprecated API.
1156 Fri Jul 23 13:04:10 2004 Matthias Clasen <maclas@gmx.de>
1158 * gtk/gtkdnd.c (gtk_drag_dest_set): Revert the change to
1159 initialize target_list to an empty list instead of NULL,
1160 since it broke tree dnd. (#148215, Ernst Persson)
1162 * gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
1163 * gtk/gtkdnd.c (gtk_drag_source_add_text_targets): Instead
1164 handle target list being NULL here.
1166 2004-07-23 Dafydd Harries <daf@muse.19inch.net>
1168 * gtk/gtkradioaction.c:
1169 * gtk/gtkradiobutton.c:
1172 Improve various translatable messages. (#137616)
1174 Fri Jul 23 11:11:10 2004 Matthias Clasen <maclas@gmx.de>
1176 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
1177 Align the entry in the same way as the cell. (#136749)
1179 Fri Jul 23 11:01:00 2004 Matthias Clasen <maclas@gmx.de>
1181 * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag):
1182 Don't iterate too far up. (#147965, Olivier Sessink)
1184 Fri Jul 23 10:28:43 2004 Matthias Clasen <maclas@gmx.de>
1186 * gtk/gtktreeview.c (gtk_tree_view_finalize):
1187 * gtk/gtkradioaction.c (gtk_radio_action_finalize):
1188 * gtk/gtkfontsel.c (gtk_font_selection_finalize):
1189 * gtk/gtkcellview.c (gtk_cell_view_finalize):
1190 * gtk/gtkcalendar.c (gtk_calendar_finalize):
1191 * gtk/gtkactiongroup.c (gtk_action_group_finalize): Remove
1192 unnecessary checks. (#148175, Morten Welinder)
1194 Thu Jul 22 01:42:16 2004 Matthias Clasen <maclas@gmx.de>
1196 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
1197 Add a new :ellipsize property which controls ellipsization of the
1198 rendered text. (#144835, Vincent Untz, patch by Jonathan Blandford
1199 and Anders Carlsson)
1201 * gtk/gtkfilechooserdefault.c (create_file_list): Use ellipsization
1202 for the name column.
1204 Thu Jul 22 01:21:28 2004 Matthias Clasen <maclas@gmx.de>
1206 * gtk/gtkfontsel.c (gtk_font_selection_init): Add additional
1207 accessability relations. (#141804, Padraig O'Briain)
1209 Thu Jul 22 01:16:23 2004 Matthias Clasen <maclas@gmx.de>
1211 * gtk/gtkcombobox.c: Avoid some warnings.
1213 Thu Jul 22 01:05:16 2004 Matthias Clasen <maclas@gmx.de>
1215 * configure.in: Require Pango 1.5.1 (for ellipsisation).
1218 * gtk/gtklabel.c (gtk_label_class_init): Add a new :ellipsize
1219 property which controls ellipsization of the label. (#125250,
1220 Tim Van Wassenhove, patch by James M. Cape)
1222 * tests/testellipsise.c: Simple test for ellipsizsation.
1224 Wed Jul 21 22:46:27 2004 Matthias Clasen <maclas@gmx.de>
1226 * gtk/gtkcombobox.c (gtk_combo_box_new_text): Don't leak the
1227 list store. (#148134, Crispin Flowerday)
1229 Wed Jul 21 22:35:47 2004 Matthias Clasen <maclas@gmx.de>
1231 * gtk/gtkcombobox.c (gtk_combo_box_destroy): Don't leak the
1232 menu. (#148110, Tommi Komulainen)
1234 Wed Jul 21 22:24:10 2004 Matthias Clasen <maclas@gmx.de>
1236 * gtk/gtkcellview.c (gtk_cell_view_finalize): Don't leak
1237 tree model and tree row reference. (#148125, Crispin Flowerday)
1239 Wed Jul 21 22:17:06 2004 Matthias Clasen <maclas@gmx.de>
1241 * tests/testcombo.c (main): Don't leak models. (#148128,
1244 Wed Jul 21 21:26:08 2004 Matthias Clasen <maclas@gmx.de>
1246 * gtk/gtkviewport.c (viewport_set_adjustment): Don't leak
1247 the adjustments. (#148089, Tommi Komulainen)
1249 Wed Jul 21 21:20:21 2004 Matthias Clasen <maclas@gmx.de>
1251 * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't leak
1252 the adjustments. (#148073, Tommi Komulainen)
1254 Wed Jul 21 21:04:50 2004 Matthias Clasen <maclas@gmx.de>
1256 * gtk/gtktoolbar.c (gtk_toolbar_finalize): Don't leak the
1257 arrow. (#148064, Tommi Komulainen)
1259 2004-07-21 Matthias Clasen <mclasen@redhat.com>
1261 * gtk/gtkcalendar.c: Use the new text target functionality
1262 in GtkTargetList instead of hardcoding a subset of text targets.
1264 Tue Jul 20 23:11:23 2004 Matthias Clasen <maclas@gmx.de>
1266 * gdk/x11/gdkevents-x11.c: Hook up gtk-menu-bar-accel to
1267 an XSetting, Gtk/MenuBarAccel. (#120859, Scott James Remnant)
1269 Tue Jul 20 22:26:29 2004 Matthias Clasen <maclas@gmx.de>
1271 * gtk/gtkfilechooserutils.h:
1272 * gtk/gtktoolbutton.c:
1274 * gtk/gtkicontheme.c:
1275 * gtk/gtkcalendar.c:
1276 * demos/gtk-demo/ui_manager.c:
1277 * demos/gtk-demo/appwindow.c: Remove trailing commas
1278 from enumerations. (#148035)
1280 2004-07-20 Federico Mena Quintero <federico@ximian.com>
1282 * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Fix the
1283 documentation comment for the editing-started signal.
1285 * gtk/gtkmarshalers.list: Added VOID:OBJECT,STRING for
1286 GtkCellRenderer::editing-started.
1288 2004-07-20 Matthias Clasen <mclasen@redhat.com>
1290 * tests/testactions.c (main):
1291 * tests/testmerge.c (main): Add some refcount debugging.
1293 * gtk/gtkuimanager.c (update_node, free_node): Ref an sink
1294 all proxies, so that we can properly clean up floating proxies
1295 which the app didn't adopt. (#147926, Tommi Komulainen)
1297 2004-07-20 Matthias Clasen <mclasen@redhat.com>
1299 Allow custom initialization of cell editables. (#147221)
1301 * gtk/gtkcellrenderer.h (struct _GtkCellRendererClass):
1302 * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Add a
1303 ::editing-started signal as a hook for setting up the
1305 (gtk_cell_renderer_start_editing): ...and emit it here.
1307 Mon Jul 19 23:51:50 2004 Matthias Clasen <maclas@gmx.de>
1309 * gtk/gtktreeview.c (gtk_tree_view_button_press): Set drag_pos
1310 before grabbing the focus, since we may reenter into
1311 gtk_tree_view_motion_resize_column() which requires drag_pos
1312 to be set. (#147913, Guilherme Salgado, patch by John Finlay)
1314 Mon Jul 19 23:51:50 2004 Matthias Clasen <maclas@gmx.de>
1316 * gtk/gtktreeview.c (gtk_tree_view_enter_notify): Don't
1317 use uninitialized node pointer. (#147911, Peter Zelezny)
1319 Tue Jul 20 04:34:56 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1321 * configure.in: Bump version number
1323 Sun Jul 18 17:21:10 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1325 * === Released 2.5.0 ===
1329 * tests/testcombo.c: Fix compilation
1331 2004-07-19 Matthias Clasen <mclasen@redhat.com>
1333 * gtk/gtkentrycompletion.c (gtk_entry_completion_set_popup_completion):
1336 2004-07-19 Matthias Clasen <mclasen@redhat.com>
1338 Make GtkCellView public, since people seem to have uses for it,
1339 it is clean API and we were just conservative in not making it
1340 public initially. At the same time, get rid of GtkCellViewMenuItem,
1341 which doesn't have any function which can't be served by a
1342 GtkMenuItem with a GtkCellView child. (#136637, Padraig O'Briain)
1344 * gtk/gtk.h: Include gtkcellview.h
1346 * gtk/Makefile.am (gtk_public_h_sources):
1348 * gtk/Makefile.am (gtk_private_h_sources):
1349 (gtk_c_sources): Remove gtkcellviewmenuitem.[hc]
1350 * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by
1351 GtkMenuItem with a GtkCellView child.
1353 * gtk/gtkcellviewmenuitem.[hc]: Removed.
1355 2004-07-19 Matthias Clasen <mclasen@redhat.com>
1357 Support inline autocompletion in entries (#135953)
1359 * gtk/gtkentryprivate.h:
1360 * gtk/gtkentrycompletion.h:
1361 * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
1362 Add a new signal ::insert-prefix which can be used to override
1363 the default inline-completion behaviour. Add two new boolean
1364 properties, :popup_completion and :inline_completion which
1365 determine how the possible completions should be presented.
1366 (gtk_entry_completion_insert_prefix): New function to request
1369 * gtk/gtkentry.c: Add the necessary glue for inline completion.
1371 Sun Jul 18 15:28:24 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1373 * gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an
1374 empty target list if targets is NULL.
1376 * configure.in: Add check for X11/extensions/sync.h. (#147416,
1379 Sun Jul 18 01:24:31 2004 Matthias Clasen <maclas@gmx.de>
1381 * NEWS: Updates for 2.5.0
1383 Sat Jul 17 23:11:04 2004 Matthias Clasen <maclas@gmx.de>
1385 * gtk/gtkiconview.h:
1386 * gtk/gtkiconview.c (gtk_icon_view_class_init):
1387 * gtk/gtkiconview.c (gtk_icon_view_set_orientation):
1388 * gtk/gtkiconview.c (gtk_icon_view_get_orientation):
1389 * gtk/gtkiconview.c (gtk_icon_view_calculate_item_size):
1390 * gtk/gtkiconview.c (gtk_icon_view_layout_single_row):
1391 Add a new :orientation property to determine whether text
1392 is positioned below or beside icons. (#147463)
1394 Sat Jul 17 23:03:30 2004 Matthias Clasen <maclas@gmx.de>
1396 * gtk/gtkiconview.c (gtk_icon_view_paint_item):
1397 * gtk/gtkiconview.c (gtk_icon_view_calculate_item_size):
1398 * gtk/gtkiconview.c (gtk_icon_view_layout_single_row): Draw
1399 focus indicator outside the selection, respect focus
1400 line width. (#147460)
1402 Sat Jul 17 01:17:33 2004 Matthias Clasen <maclas@gmx.de>
1404 * gdk/x11/gdkdnd-x11.c (xdnd_check_dest): Fix a warning
1407 Sat Jul 17 00:48:27 2004 Matthias Clasen <maclas@gmx.de>
1409 Support text/plain selection target (#55117, Owen Taylor)
1411 * gtk/gtkselection.h:
1413 * gtk/gtkselection.c (gtk_target_list_add_text_targets):
1414 * gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
1415 * gtk/gtkdnd.c (gtk_drag_source_add_text_targets): New
1416 functions to facilitate handling of text targets.
1419 * gtk/gtktextview.c: Use the new text target handling
1420 functions instead of hardwiring the list of supported
1421 text targets everywhere.
1423 * gtk/gtkselection.c (gtk_selection_data_get_text):
1424 (gtk_selection_data_set_text):
1425 Support the targets text/plain, text/plain?charset=utf-8
1426 and text/plain?charset=<LOCALE-CHARSET> as outlined in
1428 For text/plain send only ASCII, but accept 8-bit text
1429 and treat it as ISO-8859-1 as specified by the Xdnd spec.
1430 Always send CRLF terminators. Accept either and convert
1431 into the native terminator for the platform.
1433 Fri Jul 16 23:20:34 2004 Matthias Clasen <maclas@gmx.de>
1435 Support themed window icons. (#92346, Calum Benson)
1437 * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes): New
1438 function to obtain information about the sizes in which an
1442 * gtk/gtkwindow.c (gtk_window_class_init):
1443 (gtk_window_set_icon_name):
1444 (gtk_window_get_icon_name): Add an "icon_name" property
1445 (gtk_window_set_default_icon_name): ...and a default icon name.
1446 (icon_list_from_theme):
1447 (update_themed_icon): New auxiliary functions to create a
1448 list of all available sizes of a themed icon and update the
1449 window icon list from it.
1451 2004-07-16 Matthias Clasen <mclasen@redhat.com>
1453 * gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make
1454 scrolling work if no item is selected.
1455 (gtk_cell_editable_key_press): Don't eat space.
1457 Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez)
1459 * gtk/gtkcellrenderercombo.[hc]: New Files.
1462 * gtk/Makefile.am (gtk_public_h_sources, gtk_c_sources):
1465 * gtk/gtkcombobox.[hc]: Implement GtkCellEditable, add a
1466 :has-frame property for suppressing the frame around
1467 the child and redo the size allocation logic to take
1468 focus width into account.
1470 * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init):
1471 Acknowledge the GtkComboBox:has-frame property and make
1472 the entry fill its allocation vertically.
1474 * gtk/gtkmarshalers.list: Add BOOLEAN:STRING.
1476 * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Queue
1477 a draw here to keep non-widget windows from leaving
1480 2004-07-16 Matthias Clasen <mclasen@redhat.com>
1482 * gtk/gtkcombobox.c (gtk_combo_box_forall): Don't iterate
1483 multiple times over some of the children.
1485 Thu Jul 15 22:19:40 2004 Matthias Clasen <maclas@gmx.de>
1487 Fix #60128, #58307, #144706:
1489 * gtk/gtkstyle.c (gtk_style_real_copy): Handle references
1490 to bg_pixmaps properly.
1491 (gtk_style_real_unrealize): Don't keep dangling references
1493 (gtk_style_attach): Split the loop into two loops, first
1494 looking for a matching style, then for an empty one.
1495 (gtk_style_finalize):
1496 (gtk_style_duplicate): Add comments explaining the handling
1499 Thu Jul 15 20:31:28 2004 Matthias Clasen <maclas@gmx.de>
1501 * gtk/gtkspinbutton.c (start_spinning): Install the timeout
1502 before changing the value, so that a ::value_changed handler
1503 has a chance to remove it. (#122427, Elke Meier)
1505 Thu Jul 15 19:20:05 2004 Matthias Clasen <maclas@gmx.de>
1507 * gdk/x11/gdkgtk+/im-x11.c (_gdk_x11_initialize_locale):
1508 * gtk/gtkcalendar.c (gtk_calendar_class_init): Use 'cannot'
1509 instead of 'can not' in messages. (#144226, Morten Welinder)
1511 2004-07-15 Matthias Clasen <mclasen@redhat.com>
1513 * gtk/gtktreeview.c (gtk_tree_view_class_init):
1514 * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init):
1515 Correct the declared default values of several properties
1516 to be in sync with the actual initial values.
1518 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init):
1519 Make spacing a property, correct the declared default values
1520 of several properties to be in sync with the actual initial
1521 values. (#147654, Matthias Clasen)
1523 * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Don't reparent
1524 back to menu->toplevel if it is already gone because we're
1525 shutting down. (#147656, John Cupitt)
1527 2004-07-14 Federico Mena Quintero <federico@ximian.com>
1531 * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw a focus
1532 indicator along the edge of the bin_window when the tree is empty.
1533 (grab_focus_and_unset_draw_keyfocus): New helper function.
1534 (gtk_tree_view_button_press): Remove a bit of superfluous code.
1535 Use the helper function to save on duplicated code.
1536 (gtk_tree_view_button_press): Grab the focus if the tree is empty.
1537 (gtk_tree_view_focus): Allow focusing into an empty tree.
1539 2004-07-14 Matthias Clasen <mclasen@redhat.com>
1541 * gtk/gtkaboutdialog.c (add_credits_page): Don't use
1542 gcc extensions for the ternary ?: operator. (#147590,
1545 2004-07-14 Federico Mena Quintero <federico@ximian.com>
1547 Fix #144405, patch by Padraig O'Briain <padraig.obriain@sun.com>:
1549 * gtk/gtkfilechooserdefault.c (shortcuts_list_create): Set the
1550 accessible object name for the tree view.
1551 (create_file_list): Likewise.
1553 Tue Jul 13 21:53:08 2004 Matthias Clasen <maclas@gmx.de>
1555 * gtk/gtkicontheme.c (free_unthemed_icon): Don't leak
1556 no_svg_filename. (#147399, Kjartan Maraas)
1558 2004-07-13 Matthias Clasen <mclasen@redhat.com>
1560 * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes):
1561 Make this work in RTL context.
1563 2004-07-13 Federico Mena Quintero <federico@ximian.com>
1565 * gtk/gtkfilechooserdefault.c (shortcuts_activate_volume): Set a
1566 busy cursor while mounting the volume. Also, ref the chooser
1567 while mounting, as we may re-enter. Fixes #139376.
1569 2004-07-13 Matthias Clasen <mclasen@redhat.com>
1571 * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed):
1572 Prepare to handle composite implementations of
1573 GtkCellEditable, but recursively poking at
1574 allocation->y (hack stolen from GtkCList).
1575 (check_expander_max): Tweak the warning.
1577 * gtk/gtkmain.h: Add gtk_parse_args(), its a public
1578 function. (#147476, Owen Taylor)
1580 * gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't
1581 crash if unrealized.
1583 Tue Jul 13 01:50:06 2004 Matthias Clasen <maclas@gmx.de>
1585 * gtk/gtkaboutdialog.c (display_credits_dialog): Don't
1586 display untranslated translator credits.
1588 Tue Jul 13 01:15:05 2004 Matthias Clasen <maclas@gmx.de>
1590 * gtk/gtkiconview.c: Some documentation updates.
1592 Tue Jul 13 00:40:29 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1594 * gdk/gdkwindow.c (gdk_window_process_updates_internal): Do an
1595 empty begin_paint_region()/end_paint() for windows without
1598 * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_unset_bg,
1599 _gdk_x11_window_tmp_reset_bg): Remove checks for EXPOSURE_MASK.
1601 2004-07-12 Matthias Clasen <mclasen@redhat.com>
1603 * demos/gtk-demo/appwindow.c: Use a GtkAboutDialog.
1605 * gtk/gtkaboutdialog.h:
1606 * gtk/gtkaboutdialog.c: New widget: GtkAboutDialog.
1608 * gtk/Makefile.am (gtk_public_h_sources, gtk_c_sources):
1609 * gtk/gtk.h: Add GtkAboutDialog. (#109435, Paolo Borelli,
1610 patch by Matthias Clasen)
1612 * gtk/gtkrc.c (_gtk_rc_init): Apply the gtk-default-menu-item-style
1613 to cell view menu items as well. (#147405, John Cupitt)
1615 * gtk/gtkentrycompletion.c: Warning fixes. (#147420,
1618 * gtk/gtkcombobox.c (gtk_combo_box_destroy): Pop down
1619 first. (#147399, John Cupitt)
1621 Mon Jul 12 01:56:26 2004 Matthias Clasen <maclas@gmx.de>
1623 * gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
1624 Include the update_counter check in the HAVE_XSYNC condition,
1625 since update_counter isn't present in the !HAVE_XSYNC case.
1627 Mon Jul 12 00:52:04 2004 Matthias Clasen <maclas@gmx.de>
1629 * gtk/stock-icons/Makefile.am:
1630 * gtk/stock-icons/stock_about_{16,24}.png:
1631 * gtk/stock-icons/stock_connect_{16,24}.png:
1632 * gtk/stock-icons/stock_disconnect_{16,24}.png:
1633 * gtk/stock-icons/stock_edit_{16,24}.png:
1634 * gtk/stock-icons/stock_media_forward_{16,24}.png:
1635 * gtk/stock-icons/stock_media_next_{16,24}.png:
1636 * gtk/stock-icons/stock_media_pause_{16,24}.png:
1637 * gtk/stock-icons/stock_media_play_{16,24}.png:
1638 * gtk/stock-icons/stock_media_previous_{16,24}.png:
1639 * gtk/stock-icons/stock_media_record_{16,24}.png:
1640 * gtk/stock-icons/stock_media_rewind_{16,24}.png:
1641 * gtk/stock-icons/stock_media_stop_{16,24}.png:
1642 * gtk/gtkstock.h (GTK_STOCK_ABOUT):
1643 * gtk/gtkstock.h (GTK_STOCK_CONNECT):
1644 * gtk/gtkstock.h (GTK_STOCK_DISCONNECT):
1645 * gtk/gtkstock.h (GTK_STOCK_EDIT):
1646 * gtk/gtkstock.h (GTK_STOCK_MEDIA_FORWARD):
1647 * gtk/gtkstock.h (GTK_STOCK_MEDIA_NEXT):
1648 * gtk/gtkstock.h (GTK_STOCK_MEDIA_PAUSE):
1649 * gtk/gtkstock.h (GTK_STOCK_MEDIA_PLAY):
1650 * gtk/gtkstock.h (GTK_STOCK_MEDIA_PREVIOUS):
1651 * gtk/gtkstock.h (GTK_STOCK_MEDIA_RECORD):
1652 * gtk/gtkstock.h (GTK_STOCK_MEDIA_REWIND):
1653 * gtk/gtkstock.h (GTK_STOCK_MEDIA_STOP):
1654 * gtk/gtkiconfactory.c (get_default_icons):
1655 * gtk/gtkstock.c (builtin_items): Add a number of new stock
1656 items. (#102530, #68015, #109811, Jordi Mallach, Benjamin Otte,
1659 Sun Jul 11 15:24:03 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1661 Bug 143330, support update counter spec.
1663 * configure.in: Add check for the Sync extension
1665 * gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and
1666 gdk_window_configure_finished()
1668 * gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure().
1669 * gtk/gtkwindow.c (gtk_window_realize): Automatically enable
1670 synchronized configures.
1672 * gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current
1673 and pending counter values.
1675 * gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function.
1676 * gdk/x11/gdkwindow-x11.c
1677 (gdk_window_enable_synchronized_configure): New function.
1678 * gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
1679 Delete update counter.
1680 * gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise
1681 _NET_WM_SYNC_REQUEST when Sync is available
1683 * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle
1684 _NET_WM_SYNC_REQUEST messages
1685 * gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter
1686 value for use by gdk_window_configure_finished() when receiving
1689 * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag
1690 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync
1691 extension is available
1692 * gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and
1693 _NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms.
1695 * gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add
1696 stubs for enable_synchronized_configure() and configure_finished()
1698 Sat Jul 10 23:35:13 2004 Matthias Clasen <maclas@gmx.de>
1700 * gtk/gtkentry.c (paste_received): Make middle-button pasting
1701 work as expected inside the entry. (#116789, Scott Bronson)
1703 Sat Jul 10 22:13:53 2004 Matthias Clasen <maclas@gmx.de>
1705 * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): Update
1706 clipboards. (#142805, Mikael Hallendal)
1708 Sun Jul 11 01:38:48 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1710 * gtk/gtkpaned.c (gtk_paned_expose): Remove clip-region computing
1711 code. Just use &paned->handle_pos.
1713 Sun Jul 11 01:12:50 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1717 * gtk/gtknotebook.c (gtk_notebook_size_allocate): Remove an
1718 unnecessary redraw..
1720 * gtk/gtknotebook.c (gtk_notebook_page_allocate): Remove some
1723 Sat Jul 10 01:33:25 2004 Matthias Clasen <maclas@gmx.de>
1725 * docs/RELEASE-HOWTO: Updates.
1727 Sat Jul 10 01:55:29 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1729 * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{re|un}set_bg):
1730 Insert checks for root window. The root window is never mapped.
1732 Sat Jul 10 01:06:05 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1734 * gdk/x11/gdkwindow-x11.c (post_unmap): Fix a warning
1735 * gdk/x11/gdkwindow-x11.c (show_window_internal): Actually unset
1738 Sat Jul 10 00:37:45 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1742 * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{un|re}set_bg):
1743 New functions that can do a recursive unset/reset bg.
1745 * gdk/x11/gdkgeometry-x11.c: Remove
1746 gdk_window_tmp_{un|re}set_bg().
1748 * gdk/x11/gdkwindow-x11.c (pre_unmap, post_unmap): New functions
1749 called before and after unmapping a window. They unset the
1750 background of all other windows to prevent flicker from the X
1751 server repainting the background. post_unmap() also invalidates
1752 the parent of the unmapped window to draw it without roundtrips.
1754 * gdk/x11/gdkwindow-x11.c (show_window_internal): Unset
1755 background of newly mapped windows and all desendants to prevent
1758 Fri Jul 9 15:33:55 2004 Manish Singh <yosh@gimp.org>
1760 * gdk/gdkevents.c: have a dummy case GDK_OWNER_CHANGE in switch
1761 statements to avoid gcc warnings about not all enum values handled.
1763 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): ignore should live in
1766 Fri Jul 9 23:26:09 2004 Soeren Sandmann <sandmann@daimi.au.dk>
1770 * gdk/x11/gdkwindow-x11.h (struct _GdkWindowImplX11): Add an
1771 "override_redirect" bit.
1773 * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set it here.
1775 * gdk/x11/gdkwindow-x11.c (gdk_window_move, gdk_window_resize,
1776 gdk_window_move_resize):
1777 Update the local size/position cache
1778 immediately for override redirect windows.
1780 * gdk/x11/gdkwindow-x11.c (show_window_internal): Invalidate
1781 newly mapped child and override redirect windows.
1783 2004-07-09 Federico Mena Quintero <federico@ximian.com>
1787 * gtk/gtkfilesystemunix.c (get_fallback_icon): New helper
1788 function, fetches a stock icon as a fallback.
1789 (gtk_file_system_unix_volume_render_icon): Fall back to a stock
1791 (gtk_file_system_unix_render_icon): Fall back to a stock icon.
1792 Use helper functions rather than being a mega-function.
1793 (get_icon_name_for_directory): Renamed from
1794 get_icon_for_directory().
1795 (get_icon_type_from_path): New helper function; code pulled out
1796 from gtk_file_system_unix_render_icon().
1797 (get_special_icon): Likewise.
1798 (get_icon_for_mime_type): Likewise.
1800 2004-07-09 Federico Mena Quintero <federico@ximian.com>
1802 * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Fix typo; tmp_event ->
1805 2004-07-09 Matthias Clasen <mclasen@redhat.com>
1807 * gtk/gtktooltips.c (gtk_tooltips_paint_window): Use the
1808 requisition of the widget instead of relying on the style
1809 drawing function to supply the size of the drawable. (#146531)
1811 2004-07-09 Matthias Clasen <mclasen@redhat.com>
1813 Make GtkEntry work harder to protect passwords: (#143955,
1816 * gtk/gtkentry.c (gtk_entry_destroy): Add a destroy handler
1817 to clear the password even if the widget is leaked.
1819 * gtk/gtkentry.c (gtk_entry_real_delete_text):
1820 * gtk/gtkentry.c (gtk_entry_finalize): Zero out the memory
1823 * gtk/gtkentry.c (gtk_entry_real_insert_text): Zero and free
1824 the old memory instead of just reallocating it.
1826 * gtk/gtkentry.c (gtk_entry_create_layout): Don't leak text
1827 direction information for passwords.
1829 2004-07-09 Matthias Clasen <mclasen@redhat.com>
1831 * gtk/gtkstyle.c: Fix some cases where style functions were
1832 not handling widget == NULL properly. (#146282)
1834 Thu Jul 8 22:38:58 2004 Matthias Clasen <maclas@gmx.de>
1836 * gtk/gtktreeview.c: Improve the EXPANDER_MAX warning.
1838 2004-07-08 Federico Mena Quintero <federico@ximian.com>
1842 * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Add a
1843 GError argument. Do check for errors when getting the
1844 GtkFileFolder: get the folder and read the children before
1845 actually creating the model. Removed obsolete code that handled
1846 roots-changed on the file system.
1847 (file_model_node_get_info): Assert that we don't reach the old
1848 case to display file system roots.
1849 (roots_changed_callback): Removed.
1851 * gtk/gtkfilechooserdefault.c (set_list_model): Add a GError
1852 argument, and a boolean return value. Return an error if we
1853 cannot create the file system model. On error, set a NULL model
1855 (gtk_file_chooser_default_set_current_folder): Use the error value
1856 from set_list_model().
1857 (gtk_file_chooser_default_set_property): Set the show_hidden
1858 property only if the browse_files_model exists.
1859 (gtk_file_chooser_default_unselect_path): Only operate if the
1860 browse_files_model exists.
1861 (check_preview_change): Check whether we have the sort_model.
1862 (change_folder_and_display_error): Copy the path we get passed
1863 before using it. There's a comment in there that explains why we
1864 need to copy it; basically, if the passed path belongs to the
1865 model, the model may go away in the middle of this function and
1866 we'll be left with a dangling pointer.
1867 (install_list_model_filter): Assert that the model is not NULL.
1868 (set_current_filter): Check whether the model exists.
1870 * gtk/gtktreeselection.c (gtk_tree_selection_get_selected): Don't
1871 g_return_if_fail if the model is NULL.
1872 (gtk_tree_selection_get_selected_rows): Likewise.
1873 (gtk_tree_selection_count_selected_rows): Likewise.
1874 (gtk_tree_selection_selected_foreach): Likewise.
1875 (gtk_tree_selection_path_is_selected): Likewise; rather just
1877 (gtk_tree_selection_select_all): Likewise.
1878 (gtk_tree_selection_unselect_all): Likewise.
1879 (gtk_tree_selection_select_range): Do g_return_if_fail() if the
1881 (gtk_tree_selection_unselect_range): Likewise.
1883 * gtk/gtkfilesystemunix.c (fill_in_names): Return immediately if
1884 g_dir_open() fails: there is no need to set the error ourselves,
1885 as g_dir_open() already does it.
1887 2004-07-08 Matthias Clasen <mclasen@redhat.com>
1889 * gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Allow
1890 to restore the default search function. (#145365, John Finlay)
1892 * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Don't leak
1893 references to the drag context. (#144324, Alex Larsson)
1895 Thu Jul 8 00:31:34 2004 Matthias Clasen <maclas@gmx.de>
1897 * gtk/gtktreeview.c (gtk_tree_view_set_model): Stop editing
1898 when a new model is set. (#145566, Dmitry M. Shatrov)
1900 Wed Jul 7 23:44:32 2004 Matthias Clasen <maclas@gmx.de>
1902 * gtk/gtkimage.c (gtk_image_expose): Make sure that subpixbufs
1903 are properly aligned for gdk_pixbuf_saturate_and_pixelate(),
1904 in order to avoid rendering artifacts from misaligned
1905 pixelation patterns. (#145585, Felipe Heidrich, Billy Biggs)
1907 2004-07-07 Matthias Clasen <mclasen@redhat.com>
1909 * gtk/gtktreeview.c:
1910 * gtk/gtktreeview.h: Small documentation fixes.
1912 2004-07-07 Matthias Clasen <mclasen@redhat.com>
1914 Support separators in combo boxes and more generally in tree
1917 * gtk/gtkcombobox.h:
1918 * gtk/gtkcombobox.c (gtk_combo_box_get_row_separator_column):
1919 * gtk/gtkcombobox.c (gtk_combo_box_set_row_separator_column):
1920 Add a ::row-separator-column property with getter and setter,
1921 which can indicate a boolean model column to determine which
1922 rows are separators.
1924 * gtk/gtkcombobox.c: Display separator rows as separator menu
1925 items in menu mode, and by using the new treeview separator
1926 functionality in list mode.
1928 * gtk/gtktreeview.h:
1929 * gtk/gtktreeprivate.h:
1930 * gtk/gtktreeview.c (gtk_tree_view_get_row_separator_func):
1931 * gtk/gtktreeview.c (gtk_tree_view_set_row_separator_func):
1932 Add a callback to determine whether a row is a separator.
1934 * gtk/gtktreeview.c (gtk_tree_view_bin_expose):
1935 * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
1936 * gtk/gtktreeview.c (validate_row): Use the new callback
1937 to determine whether a row is a separator, and draw it
1938 as a separator then. Since separators should take up less
1939 vertical space than regular rows, this requires removing
1940 the redundant MAX(...,expander_size) calls which appear in
1941 many places. Instead, the MAX() is now only done in
1942 validate_row(), and only if the row is not a separator.
1943 To catch possible side effects of this intrusive change,
1944 I have left EXPANDER_MAX() calls in place of the MAX() calls
1945 which will emit a warning if something breaks. They should
1946 be removed before 2.6.
1948 * gtk/gtktreeselection.c (row_is_selectable): Don't let
1949 separator rows be selected.
1951 * tests/testcombo.c (create_blaat): Add a separator column.
1953 Tue Jul 6 22:58:00 2004 Matthias Clasen <maclas@gmx.de>
1955 * gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Fix
1956 a 64bit alignment issue. (#144302, Sunil)
1958 2004-07-07 Tor Lillqvist <tml@iki.fi>
1960 * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text)
1961 * gdk/win32/gdkfont-win32.c (gdk_text_extents)
1962 * gdk/win32/gdkproperty-win32.c (find_common_locale,
1963 gdk_property_change)
1964 * gdk/win32/gdkselection-win32.c (gdk_selection_convert): Use
1965 g_utf8_to_utf16() instead of the removed _gdk_utf8_to_ucs2() (see
1968 * gdk/win32/gdkglobals-win32.c
1969 * gdk/win32/gdkmain-win32.c (_gdk_windowing_init)
1970 * gdk/win3/gdkprivate-win32.h: Add a variable for the TARGETS
1971 atom. Initialize it. Declare it. Drop the variable for the
1974 * gdk/win32/gdkim-win32.c (gdk_wcstombs): Don't return UTF-8. This
1975 function is supposed to return the string in the locale's charset
1976 and encoding. Use g_convert().
1978 (gdk_mbstowcs): Similarily, don't take an UTF-8 string, but a
1979 string in the locale's charset. Use g_convert().
1981 (_gdk_ucs2_to_utf8, _gdk_utf8_to_wcs, _gdk_utf8_to_ucs2):
1982 Delete. The UCS-2 functions didn't handle surrogates anyway. Use
1983 GLib's UTF-16 functions instead. Windows uses UTF-16.
1985 * gdk/win32/gdkprivate-win32.h: Remove declarations of the deleted
1986 functions mentioned above.
1988 * gdk/win32/gdkproperty-win32.c (gdk_property_change): Use CF_TEXT
1989 also if the string is of type STRING, i.e. ISO-8859-1, and the
1990 current codepage is 1252, and contains no C1 chars. Accept
1993 * gdk/win32/gdkselection-win32.c (_gdk_selection_property_store):
1994 Mark as static. When storing STRING data, convert to
1996 (gdk_selection_owner_set_for_display): Now that STRING is always
1997 ISO-8859-1, use UTF8_STRING when sending the selection request
2000 (gdk_selection_convert): Handle also UTF8_STRING. (#140537, John
2003 (gdk_text_property_to_text_list_for_display): Make work more like
2004 X11 version. Do obey the encoding parameter.
2006 (gdk_string_to_compound_text_for_display,
2007 gdk_utf8_to_compound_text_for_display): Don't even pretend
2008 supporting COMPOUND_TEXT.
2010 (gdk_utf8_to_string_target): Convert to ISO-8859-1, like on X11.
2012 (sanitize_utf8): Zero-terminate string.
2014 2004-07-06 Matthias Clasen <mclasen@redhat.com>
2016 * gtk/stock-icons/Makefile.am: Add stock_file_16.png,
2017 stock_file_24.png, stock_directory_16.png and stock_directory_24.png.
2019 * gtk/gtkstock.h (GTK_STOCK_FILE, GTK_STOCK_DIRECTORY):
2020 * gtk/gtkiconfactory.c (get_default_icons): New stock icons as
2021 fallbacks for gtkfilechooser. Currently these are the same images
2022 as the "new" and "open" items...
2024 Tue Jul 6 10:00:22 2004 Jonathan Blandford <jrb@redhat.com>
2026 Fix for #136496, Pawel Salek:
2028 * gtk/gtktreeview.c (gtk_tree_view_row_changed): Queue a redraw on
2029 a node when it changes in fixed_height mode.
2031 (gtk_tree_view_node_queue_redraw): new function to queue a redraw
2034 2004-07-06 Matthias Clasen <mclasen@redhat.com>
2036 * gtk/gtkmenu.c (gtk_menu_position): Make sure
2037 private->monitor_num is a valid monitor number before
2038 using it. (#139187, Michael Natterer)
2040 Tue Jul 6 02:00:28 2004 Matthias Clasen <maclas@gmx.de>
2042 * gtk/gtkfilechooserdefault.c (popup_position_func):
2043 * gtk/gtkentry.c (popup_position_func):
2044 * gtk/gtktextview.c (popup_position_func): Improve positioning
2045 of keyboard-activated menus with Xinerama.
2047 Tue Jul 6 00:29:03 2004 Matthias Clasen <maclas@gmx.de>
2049 * gtk/gtkuimanager.c (do_updates):
2050 (do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
2051 when called from an idle handler. (#145429, Jan-Marek Glogowski)
2053 Mon Jul 5 23:47:38 2004 Matthias Clasen <maclas@gmx.de>
2055 * gtk/gtkfilechooserutils.c (delegate_notify): Use
2056 the less efficient g_object_interface_find_property () instead
2057 of the param_id range check, since the GParamSpecs we're
2058 dealing with are the overridden onces on the interface, whose
2059 param_id is always zero. (#145312, Alex Roitman, fix proposed
2062 2004-07-05 Lorenzo Gil Sanchez <lgs@sicem.biz>
2064 * gtk/gtklayout.c (gtk_layout_add): added a default method for the add
2065 virtual method of GtkContainer.
2066 (gtk_layout_class_init): assign gtk_layout_add to the 'add' virtual
2067 method slot of the container class.
2069 2004-07-05 Anders Carlsson <andersca@gnome.org>
2071 * gtk/gtkiconview.c: (gtk_icon_view_set_markup_column):
2072 * gtk/gtkiconview.h:
2073 Use gint, not int in gtk_icon_view_set_markup_column,
2076 2004-07-05 Anders Carlsson <andersca@gnome.org>
2078 * gtk/gtkiconview.c: (gtk_icon_view_class_init),
2079 (gtk_icon_view_real_select_cursor_item),
2080 (gtk_icon_view_real_activate_cursor_item):
2081 * gtk/gtkiconview.h:
2082 Add an "activate_cursor_item" action signal
2083 and bind it to the return key.
2085 2004-07-04 Anders Carlsson <andersca@gnome.org>
2087 * demos/gtk-demo/Makefile.am:
2088 * demos/gtk-demo/gnome-fs-directory.png:
2089 * demos/gtk-demo/gnome-fs-regular.png:
2090 * demos/gtk-demo/iconview.c: (load_pixbufs), (fill_store),
2091 (sort_func), (create_store), (item_activated), (up_clicked),
2092 (home_clicked), (do_iconview):
2093 Add a simple file browser based on the icon view.
2096 Add gtk/gtkiconview.h
2098 * gtk/gtkiconview.c: (gtk_icon_view_layout),
2099 (gtk_icon_view_item_new), (gtk_icon_view_item_activated):
2100 Fix a few bugs discovered while writing the demo.
2102 2004-07-04 Anders Carlsson <andersca@gnome.org>
2106 * gtk/gtkiconview.h:
2107 Add GtkIconView to the build, remove debugging output.
2109 Sun Jul 4 01:29:35 2004 Matthias Clasen <maclas@gmx.de>
2111 * gtk/gtkcalendar.c (gtk_calendar_drag_data_get):
2112 (gtk_calendar_drag_data_received): Fix off-by-one error.
2113 GDate month is one-based and GtkCalendar month is zero-based.
2114 (#145134, William Jon McCann)
2116 Sun Jul 4 01:11:07 2004 Matthias Clasen <maclas@gmx.de>
2118 * gtk/gtktreestore.c (gtk_tree_store_move): Don't crash if
2119 somebody tries to move a node after itself in a list of
2120 length 1. (#145291, Sampo Nurmentaus)
2122 Sat Jul 3 23:43:23 2004 Matthias Clasen <maclas@gmx.de>
2124 * docs/faq/gtk-faq.sgml:
2125 * gtk/gtkwindow.c: Fix links to www.freedesktop.org. (#145210,
2128 Sat Jul 3 02:09:51 2004 Matthias Clasen <maclas@gmx.de>
2130 * gtk/gtksocket.c (gtk_socket_end_embedding): Reset current_width
2131 and current_height to 0 when ending the embedding. (#143675,
2132 Nickolay V. Shmyrev)
2134 Sat Jul 3 01:48:19 2004 Matthias Clasen <maclas@gmx.de>
2136 * gtk/gtkentry.c (gtk_entry_move_visually): Let the cursor move
2137 to the right end of the entry text, even if it ends in combining
2138 marks. (#141728, Theppitak Karoonboonyanan)
2140 Fri Jul 2 23:34:33 2004 Matthias Clasen <maclas@gmx.de>
2142 * gtk/gtkcombobox.c (gtk_combo_box_unset_model): Unset the displayed
2143 row when unsetting the model. (#138560, Christian Persch)
2145 Fri Jul 2 23:01:07 2004 Matthias Clasen <maclas@gmx.de>
2147 * gtk/gtkcombobox.c (update_menu_sensitivity): Don't crash if there
2150 Fri Jul 2 22:41:27 2004 Matthias Clasen <maclas@gmx.de>
2152 * gtk/gtkimage.c (gtk_image_expose): Properly align mask and
2153 pixbuf if a subarea is exposed. (#135423, fix by John Ehresman)
2155 Fri Jul 2 21:40:21 2004 Matthias Clasen <maclas@gmx.de>
2157 * gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events
2158 to the event mask, set a scroll_event handler.
2159 * gtk/gtknotebook.c (gtk_notebook_scroll): Handle scroll events
2160 by switching tabs. (#145244, Gabriel de Perthuis)
2162 2004-07-02 Anders Carlsson <andersca@gnome.org>
2164 * gtk/gtktreeview.c (gtk_tree_view_set_model):
2165 Make sure we check for a NULL model first.
2167 2004-07-01 J. Ali Harlow <ali@juiblex.co.uk>
2169 * gdk/win32/gdkinput-win32.c (_gdk_input_ungrab_pointer): Fix
2170 win32 build problem w/o wintab. Fixed #145242
2172 2004-06-30 Anders Carlsson <andersca@gnome.org>
2174 * gtk/gtktreeview.c (gtk_tree_view_set_model): Use
2175 g_return_if_fail to make sure that the model is a GtkTreeModel.
2177 Sat Jun 26 17:41:10 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2179 * gtk/gtk[hv]separator.c (gtk_[hv]separator_expose): Draw line with the
2180 current state, not GTK_STATE_NORMAL
2182 * gtk/gtkframe.c (gtk_frame_paint): Fix a rounding error
2184 Sat Jun 26 15:07:25 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2186 * gtk/gtkstyle.c, gtk/gtkrc.c: small color tweak. (#141173)
2188 Sat Jun 26 01:15:40 2004 Matthias Clasen <maclas@gmx.de>
2190 * gdk/x11/gdkwindow-x11.c (set_initial_hints): Handle
2191 _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW. (#144851,
2194 Sat Jun 26 01:04:31 2004 Matthias Clasen <maclas@gmx.de>
2196 * gtk/gtkiconfactory.c (clear_cache): Prevent unwanted
2197 recursion by resetting icon_set->cache before freeing
2198 the cache. (#144947, Tim Janik)
2200 Sat Jun 26 00:40:02 2004 Matthias Clasen <maclas@gmx.de>
2202 * gtk/gtkiconfactory.c (render_icon_name_pixbuf):
2203 * gtk/gtkiconfactory.c (gtk_icon_set_render_icon):
2204 * gtk/gtkstyle.c (gtk_default_render_icon): Accept a NULL
2207 Sat Jun 26 00:04:36 2004 Matthias Clasen <maclas@gmx.de>
2209 * gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
2210 * gtk/gtkcombobox.c (gtk_combo_box_set_model): Reflect the
2211 last change in the docs.
2213 Fri Jun 25 23:35:42 2004 Matthias Clasen <maclas@gmx.de>
2215 * gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
2216 * gtk/gtkcombobox.c (gtk_combo_box_set_model): Allow passing
2217 NULL to unset the model. (#137211, patch by Mariano Suárez-Alvarez)
2219 Fri Jun 25 23:33:05 2004 Matthias Clasen <maclas@gmx.de>
2221 * gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Fix the
2222 placement policy for GtkComboBoxEntry to be: if it fits below,
2223 place below, if it fits above place above, else place in the
2224 larger space and scroll so that the scroll arrow appear at the
2225 far end. (#144362, David A. Knight)
2227 Fri Jun 25 22:49:58 2004 Matthias Clasen <maclas@gmx.de>
2229 * gtk/gtktreestore.c (gtk_tree_store_move): Avoid uninitialized
2230 use of &parent_iter. (#145007, John Finlay)
2232 2004-06-25 Bastien Nocera <hadess@hadess.net>
2234 reviewed by: Matthias Clasen <maclas@gmx.de>
2236 * gdk/x11/gdkkeys-x11.c: (get_symbol), (update_keymaps),
2237 (gdk_keymap_lookup_key), (translate_keysym): fix keys parsing when
2238 the number of keysyms per keycode is odd. Fixes #144808.
2240 2004-06-25 Matthias Clasen <mclasen@redhat.com>
2242 * gtk/gtkfontbutton.c (gtk_font_button_update_font_info): Avoid
2243 a crash if the font doesn't exist. (#144967, Yevgen Muntyan)
2245 Fri Jun 25 00:32:15 2004 Matthias Clasen <maclas@gmx.de>
2247 * gtk/gtktreestore.c (gtk_tree_store_swap): Commit the change
2248 which was mentioned below.
2250 Thu Jun 24 23:35:09 2004 Matthias Clasen <maclas@gmx.de>
2252 * gtk/gtknotebook.c (gtk_notebook_class_init): Fix a typo,
2253 string change. (#139503, Baris Cicek)
2255 2004-06-22 Federico Mena Quintero <federico@ximian.com>
2257 * gtk/gtkfilechooserdefault.c (location_popup_handler): Use a Save
2258 or an Open stock button for the C-l dialog depending on the action
2259 in which the file chooser operates. Fixes #141753.
2261 2004-06-22 Federico Mena Quintero <federico@ximian.com>
2263 Fixes the GTK+ part of #142308:
2265 * gtk/gtkfilesystemunix.c (gtk_file_system_unix_filename_to_path):
2266 Use filename_to_path().
2267 (gtk_file_system_unix_uri_to_path): Likewise.
2268 (filename_to_path): Use remove_trailing_slash().
2270 2004-06-22 Matthias Clasen <mclasen@redhat.com>
2272 * gtk/gtktextview.c (gtk_text_view_class_init): Improve docs
2273 for the ::move_cursor signal.
2275 * gtk/gtkaccelmap.c (_gtk_accel_path_is_valid): Accept
2276 "<WINDOWTYPE>" as a valid accel path. (#144427, Philip
2279 * gtk/gtkselection.c (GTK_SELECTION_MAX_SIZE): Make sure
2280 this gets defined for all backends, so linux-fb has a
2281 chance of compiling.
2283 * gdk/x11/gdkgc-x11.c:
2284 * gdk/gdkgc.c: Move function docs inline, add hints about
2285 obtaining rgb colors from gcs. (#144688, Steve Chaplin)
2287 * gtk/gtktreestore.c (gtk_tree_store_swap): Make this work
2288 for children of the root. (#139785, Jean-François Wauthy,
2289 patch by John Finlay)
2291 * gtk/gtkicontheme.h (GTK_ICON_THEME_GET_CLASS): Typo
2292 fix. (#144750, Jeff Franks)
2294 2004-06-21 Michael Natterer <mitch@gimp.org>
2297 * gdk/x11/gdkdrawable-x11.[ch]: made convert_format() utility
2298 function public as _gdk_x11_convert_to_format().
2300 * gdk/x11/gdkcursor-x11.c (create_cursor_image): premultiply
2301 the pixels from the GdkPixbuf when putting them in the
2302 Xcursor image. Fixes bug #144350.
2304 2004-06-16 Federico Mena Quintero <federico@ximian.com>
2306 * gtk/gtkfilesystemmodel.c (do_files_added): When inserting a
2307 visible node, free the old path before creating the new one.
2310 Tue Jun 15 01:10:32 2004 Matthias Clasen <maclas@gmx.de>
2312 * gtk/gtkcombobox.c: Make GtkComboBox work without model.
2313 (#144198, Mariano Suárez-Alvarez)
2315 Fri Jun 11 22:05:56 2004 Matthias Clasen <maclas@gmx.de>
2317 * gtk/gtkfilechooserdefault.c: Don't use
2318 contractions like "don't" or "isn't" in error messages.
2319 It isn't nice to use them in log entries either...
2320 (#137774, Morten Welinder, patch by Alexander Winston)
2322 2004-06-11 Federico Mena Quintero <federico@ximian.com>
2326 * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_add_editable):
2327 Don't ref the editable node.
2328 (_gtk_file_system_model_remove_editable): Don't unref the editable node.
2329 (_gtk_file_system_model_remove_editable): Ahem, free the node.
2331 * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
2332 Added fields for edited_idle and edited_new_text.
2333 (renderer_edited_cb): Queue the
2334 creation of the folder in an idle handler.
2335 (renderer_editing_canceled_cb): Likewise for the cancellation.
2336 (gtk_file_chooser_default_finalize): Free the impl->edited_new_text.
2338 Thu Jun 10 22:12:26 2004 Matthias Clasen <maclas@gmx.de>
2340 * gtk/gtkmain.c (gtk_parse_args): Typo fix.
2342 2004-06-10 Federico Mena Quintero <federico@ximian.com>
2344 Fixes #144110, patch by Bastien Nocera <hadess@hadess.net>.
2346 * gtk/gtkfilechooser.c (gtk_file_chooser_list_shortcut_folders):
2347 Refer to gtk_file_chooser_add_shortcut_folder().
2348 (gtk_file_chooser_list_shortcut_folder_uris): Refer to
2349 gtk_file_chooser_add_shortcut_folder_uri().
2351 Thu Jun 10 00:36:15 2004 Matthias Clasen <maclas@gmx.de>
2353 * gtk/gtkcalendar.c (gtk_calendar_main_button): Start
2354 the drag before focusing the selected.day.
2355 * gtk/gtkcalendar.c (gtk_calendar_state_changed): Stop
2356 a beginning drag if the widget becomes insensitive.
2358 Thu Jun 10 00:09:06 2004 Matthias Clasen <maclas@gmx.de>
2360 * gtk/gtkcalendar.c (gtk_calendar_button_press): Start
2361 spinning before calling arrow_action(), so that a signal
2362 handler triggered from arrow_action() has a chance to
2363 stop the spinning. (#143966, Davyd Madeley)
2365 Wed Jun 9 23:11:23 2004 Matthias Clasen <maclas@gmx.de>
2367 * gtk/gtkstyle.c (_gtk_style_init_for_settings): Fix a
2368 typo. (#144070, Kent Sandvik)
2370 Thu Jun 10 00:22:51 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2372 * gtk/gtkmenu.c: Revert the "drag select" part of
2375 Mon Jun 7 23:07:40 2004 Matthias Clasen <maclas@gmx.de>
2377 * gtk/gtkcombobox.c (gtk_combo_box_remeasure): Handle
2378 priv->model being NULL. (#143856, Mariano Suárez-Alvarez)
2380 2004-06-07 Federico Mena Quintero <federico@ximian.com>
2382 * gtk/gtktreeview.c (gtk_tree_view_button_press): Revert the patch
2383 from 2003/Sep/12. This kept DnD in tree views within modal
2384 dialogs from working, which is especially bad for the file
2385 chooser. Fixes #135168.
2387 Sun Jun 6 23:57:21 2004 Matthias Clasen <maclas@gmx.de>
2389 Make the entry context menu work in editable text cells. The changes
2390 are based on a patch by Kristian Rietveld, which implemented an
2391 approach outlined by Owen Taylor. (#50075)
2393 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
2394 Ignore focus out if the entry menu is posted.
2395 (gtk_cell_renderer_text_populate_popup): Mark the entry menu as
2396 posted, and set up a signal handler to clear the flag if the menu
2398 (gtk_cell_renderer_text_popup_unmap): Clear the in_entry_menu flag,
2399 set up a timeout to stop editing if the focus is lost.
2400 (popdown_timeout): Stop editing if the entry doesn't have focus anymore.
2401 (gtk_cell_renderer_text_start_editing): Connect to the populate_popup
2402 signal on the entry and keep a pointer to the entry.
2403 (gtk_cell_renderer_text_editing_done): Disconnect from popuplate_popup,
2404 clear the pointer to the entry.
2406 Sun Jun 6 23:24:43 2004 Matthias Clasen <maclas@gmx.de>
2408 * gtk/gtktexttag.c (gtk_text_tag_class_init): Improve the description
2409 of the ::language property. (#143802, Owen Taylor)
2411 Sat Jun 5 23:07:30 2004 Matthias Clasen <maclas@gmx.de>
2413 * gtk/gtkentrycompletion.c: (gtk_entry_completion_init),
2414 (gtk_entry_completion_list_enter_notify),
2415 (gtk_entry_completion_list_motion_notify),
2416 (_gtk_entry_completion_popup), (_gtk_entry_completion_popdown):
2417 * gtk/gtkentryprivate.h: Add an ignore_enter flag and
2418 use it as in the menu code to avoid the initial selection if
2419 the window pops up under the pointer. (Anders Carlsson)
2421 Sat Jun 5 20:05:39 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2423 * tests/testmerge.c: Add a checkbox to queue an
2424 merge/unmerge. Patch from Matthias Clasen.
2426 * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Add a new flag
2428 (rebuild_menu): New function that rebuilds the overflow menu and
2429 makes sure it doesn't start or end with a separator.
2430 (toolbar_content_new_tool_item)
2431 (toolbar_content_remove)
2432 (toolbar_content_new_compatibility): Set the rebuild_needed flag
2433 (gtk_toolbar_size_allocate): Only show the overflow arrow when we
2434 have actually overflown an item with a proxy menu item. Also make
2435 sure we rebuild the menu if needed.
2437 Fix #125504, #142377, #143463
2439 * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose):
2440 Obey the "priv->draw" flag. (#143692)
2442 2004-06-04 Matthias Clasen <mclasen@redhat.com>
2444 * docs/widget_geometry.txt: Add a note about the !CAN_FOCUS
2445 quirk in the button size allocation code.
2447 * gtk/gtkbutton.c (gtk_button_size_allocate): Give the space
2448 requested for drawing the focus indicator to the child in the
2449 !CAN_FOCUS case. This should fix issues which the Gimp has with
2450 the button allocation changes in 2.4.2.
2452 Thu Jun 3 21:17:29 2004 Matthias Clasen <maclas@gmx.de>
2454 * gtk/gtkentry.c (gtk_entry_completion_timeout): Calculate the
2455 length of the entry contents in characters, not in bytes.
2457 * gtk/gtkentry.c (paste_received): Don't pop up the completion
2458 window on paste, noticed by Anders Carlsson.
2460 Thu Jun 3 20:56:19 2004 Matthias Clasen <maclas@gmx.de>
2462 * gtk/gtkcombobox.c (gtk_combo_box_class_init): Fix the allowed
2463 values and default value for the ::active property. (#143669,
2466 2004-06-03 Michael Natterer <mitch@gimp.org>
2468 * gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition()
2469 instead of accessing item->image->allocation.width/height
2470 directly. Makes widgets which only have a requisition set using
2471 gtk_widget_set_size_request() work and fixes bug #142789.
2473 Thu Jun 3 08:07:59 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2475 * gtk/gtkmenu.c: Revert previous commit. It caused the problem
2476 of sticky right click menus to return.
2478 Wed Jun 2 01:56:02 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2480 * gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
2481 better handle the "click" case. bug Better fix for #141169.
2483 2004-06-02 Federico Mena Quintero <federico@ximian.com>
2485 * gtk/gtktreeview.c (gtk_tree_view_search_init): Bail out if the
2486 model is empty. Fixes #143536.
2488 2004-06-02 Matthias Clasen <mclasen@redhat.com>
2490 * gtk/gtkfontsel.c (gtk_font_selection_size_focus_out): Don't
2491 close the dialog on focus out of the size entry. (#143505,
2494 2004-06-02 Federico Mena Quintero <federico@ximian.com>
2498 * gtk/fnmatch.c (_gtk_fnmatch): Take a no_leading_period argument.
2499 (gtk_fnmatch_intern): Likewise; also implement this option.
2501 * gtk/gtkprivate.h (_gtk_fnmatch): Updated prototype.
2503 * gtk/gtkfilesel.c (find_completion_dir): Pass TRUE for the
2504 no_leading_period argument of _gtk_fnmatch().
2505 (attempt_file_completion): Likewise.
2507 * gtk/gtkfilefilter.c (gtk_file_filter_filter): Pass FALSE for the
2508 no_leading_period argument of _gtk_fnmatch().
2510 Wed Jun 2 00:47:11 2004 Matthias Clasen <maclas@gmx.de>
2512 * gtk/gtkselection.c (_gtk_selection_request): Remove leftover
2515 Wed Jun 2 00:13:57 2004 Matthias Clasen <maclas@gmx.de>
2517 * gtk/gtktreeselection.c (gtk_tree_selection_select_range): Don't
2518 allow unless selection mode is multiple. (#142634, John Finlay)
2520 Tue Jun 1 23:00:20 2004 Matthias Clasen <maclas@gmx.de>
2524 * gtk/gtkentrycompletion.h:
2525 * gtk/gtkentrycompletion.c:
2526 * gtk/gtkcombobox.h:
2527 * gtk/gtkcombobox.c: Rename function parameters from
2528 index to index_ to prevent clash with BSD index(). (#143001)
2530 Tue Jun 1 22:45:42 2004 Matthias Clasen <maclas@gmx.de>
2532 * gtk/gtkmenu.c (get_accel_path): Handle accel_closure being
2533 NULL on an accel label. (#139641, Sam Stephenson, patch by
2536 Tue Jun 1 22:19:55 2004 Matthias Clasen <maclas@gmx.de>
2538 * gtk/gtkicontheme.c (theme_subdir_load): Prevent icon
2539 lookup finding icons in the wrong prefix. (#143328,
2542 Wed Jun 2 00:39:58 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2546 * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Make menus
2547 only stay up if you release within 500 milliseconds.
2548 (gtk_menu_shell_button_press): Set the activate_time to the event
2549 time when a button is pressed.
2551 * gtk/gtkmenu.c (gtk_menu_motion_notify, gtk_menu_enter_notify):
2552 Interprete button releases as activate when we have seen both an
2553 enter an a motion event.
2555 2004-06-01 Federico Mena Quintero <federico@ximian.com>
2557 * gtk/gtkfilesystemmodel.c (do_files_removed): Don't insert a
2558 dummy node if there is no parent node. Fixes #143362.
2560 2004-05-31 Federico Mena Quintero <federico@ximian.com>
2562 * gtk/gtkfilechooserdefault.c (renderer_edited_cb): Change to the
2563 newly-created folder. Fixes #138932.
2564 (trap_activate_cb): Only return TRUE if we did handle the event.
2565 Fixes #143359; patch by jylefort@brutele.be.
2567 Mon May 31 02:39:32 2004 Matthias Clasen <maclas@gmx.de>
2569 * gtk/gtkimage.c (gtk_image_new_from_pixmap): Fix typo in
2570 docs. (#142892, Tommi Komulainen)
2572 Mon May 31 02:16:37 2004 Matthias Clasen <maclas@gmx.de>
2574 * gtk/gtkhandlebox.c: Make detached handleboxes work when their
2575 parent is minimized, porting the fix from 1.2. (#1923, #57182)
2577 Mon May 31 02:03:17 2004 Matthias Clasen <maclas@gmx.de>
2579 * gtk/gtkwindow.c (gtk_window_show): Make moving realized,
2580 unmapped windows work.
2582 Mon May 31 00:27:33 2004 Matthias Clasen <maclas@gmx.de>
2584 * gtk/gtkfilechooserutils.c (_gtk_file_chooser_set_delegate): Fix
2587 Mon May 31 00:23:55 2004 Matthias Clasen <maclas@gmx.de>
2589 * gtk/gtkfilechooser.c (gtk_file_chooser_set_preview_widget):
2590 Refer to ::update-preview, not ::selection-changed.
2592 2004-05-29 Christian Rose <menthos@menthos.com>
2594 * configure.in: Added "tk" to ALL_LINGUAS.
2596 Fri May 28 15:00:01 2004 Matthias Clasen <maclas@gmx.de>
2598 * gtk/gtkwidget.c (gtk_widget_set_parent): Add informative
2599 messages for common problems. (#137974, Owen Taylor)
2601 Fri May 28 14:20:17 2004 Matthias Clasen <maclas@gmx.de>
2603 * gdk/x11/gdkevents-x11.c: Fix off-by-one allocation
2604 errors. (#143337, Billy Biggs)
2606 Thu May 27 16:36:22 2004 Owen Taylor <otaylor@redhat.com>
2608 * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): Set
2609 bits within visual->depth that aren't used for color to
2610 1s, in case they are alpha.
2612 2004-05-27 Anders Carlsson <andersca@gnome.org>
2614 * gtk/gtkfilechooserdefault.c (save_folder_combo_create):
2615 Make separator rows insensitive.
2617 Thu May 27 00:48:16 2004 Matthias Clasen <maclas@gmx.de>
2619 * gtk/gtkentrycompletion.c (gtk_entry_completion_set_text_column):
2622 Thu May 27 00:45:07 2004 Matthias Clasen <maclas@gmx.de>
2624 * gtk/gtkentrycompletion.h:
2625 * gtk/gtkentrycompletion.c (gtk_entry_completion_get_text_column):
2626 Getter for text_column. Also make ::text_column a property.
2628 Thu May 27 00:11:01 2004 Matthias Clasen <maclas@gmx.de>
2630 * gtk/gtkmenuitem.c (gtk_menu_item_size_request): Fix a typo.
2632 Thu May 27 00:07:47 2004 Jonathan Blandford <jrb@gnome.org>
2634 * gtk/gtkcombobox.c (gtk_combo_box_list_destroy): only remove the
2635 signal if the box exists.
2637 Wed May 26 23:26:51 2004 Matthias Clasen <maclas@gmx.de>
2639 Support insensitive cells in tree views and combo boxes:
2641 * gtk/gtkcellrenderer.h:
2642 * gtk/gtkcellrenderer.c: Add a ::sensitive property.
2644 * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2645 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
2646 * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2647 Support drawing insensitive.
2649 * gtk/gtkcellview.h:
2650 * gtk/gtkcellview.c (gtk_cell_view_get_cell_renderers): New
2651 function to obtain the cell renderers from a cell view. Also
2652 export gtk_cell_view_set_cell_data().
2654 * gtk/gtktreeselection.c (tree_column_is_sensitive):
2655 * gtk/gtktreeselection.c (row_is_selectable): Helper functions
2656 to determine whether all visible cells in a row are insensitive
2657 and whether a row is selectable. A row is not selectable if the
2658 user function says so or if all visible cells are insensitive.
2659 * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
2660 * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
2661 Use row_is_selectable().
2663 * gtk/gtkcombobox.c (row_is_sensitive):
2664 * gtk/gtkcombobox.c (tree_column_row_is_sensitive):
2665 * gtk/gtkcombobox.c (menu_row_is_sensitive): Helper functions
2666 to determine row sensitivity in menu or list mode.
2668 * gtk/gtkcombobox.c (update_menu_sensitivity): Helper function
2669 to set up sensitivity menu items from the underlying rows.
2671 * gtk/gtkcombobox.c (gtk_combo_box_popup):
2672 * gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): Use
2673 update_menu_sensitivity().
2675 * gtk/gtkcombobox.c (gtk_combo_box_list_setup): Setup the cell
2678 * gtk/gtkcombobox.c (gtk_combo_box_key_press): Skip insensitive
2681 * tests/testcombo.c (main): Make some rows insensitive.
2683 2004-05-26 Robert Ögren <gtk@roboros.com>
2685 * gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Send key
2686 modifiers (shift, ctrl etc) in button and motion events from the
2689 2004-05-26 Robert Ögren <gtk@roboros.com>
2691 * gdk/win32/gdkinput-win32.c (gdk_device_get_state): Simple
2692 implementation for extended input devices using last known
2693 device state (#143237)
2695 Tue May 25 21:54:00 2004 Matthias Clasen <maclas@gmx.de>
2697 * gtk/gtkframe.c: Move docs inline, fixing them on the
2698 way. (#143029, Steve Chaplin)
2700 2004-05-11 Robert Ögren <gtk@roboros.com>
2702 * gdk/win32/gdkevents-win32.c (propagate): Don't propagate mouse
2703 events to windows that want extended input events. (#142943)
2704 (gdk_event_translate): Move check for extended input devices to
2705 propagate, new parameter to propagate.
2706 (gdk_pointer_grab, gdk_display_pointer_ungrab): Enable calls to
2707 _gdk_input_(un)grab_pointer. (#142943)
2709 * gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Check for
2710 input grab. [Fix missing update of impl in "dijkstra" event
2711 propagation loop] Drop the parallel "impl" pointer, just use a
2712 cast. Don't propagate beyond windows that want normal input
2714 (gdk_input_grab_pointer, gdk_input_ungrab_pointer): Limited
2715 implementation of input grab. (#142943)
2717 2004-05-22 Tor Lillqvist <tml@iki.fi>
2719 * gdk/win32/gdkinput-win32.c (print_lc): Remove duplicated
2720 line. (Spotted by Benoît Carpentier.)
2722 2004-05-18 Matthias Clasen <mclasen@redhat.com>
2724 * configure.in: Check for XFIXES extension.
2726 * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
2727 a gboolean have_xfixes member.
2729 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register
2730 XFIXES events and set have_xfixes.
2732 * gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE.
2733 (GdkEventOwnerChange): New event struct for owner change events.
2734 (GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange.
2736 * gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate
2737 XFixesSelectionNotify events into GdkEventOwnerChange events.
2740 * gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification):
2741 (gdk_display_request_selection_notification): New api
2742 to support selection ownership notification.
2744 * gtk/gtkclipboard.h:
2745 * gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private
2746 api to handle owner change events.
2747 (clipboard_peek): Refactored out the body of
2748 gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event().
2750 * gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events
2751 by calling _gtk_clipboard_handle_event().
2753 2004-05-18 Matthias Clasen <mclasen@redhat.com>
2755 * gtk/gtkintl.h: Include glib/gi18n-lib.h and only define
2756 the P_() macros ourselves.
2758 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
2759 Restrict the width of the popup to be no larger than the
2760 monitor. (#142678, DmD Ljungmark)
2762 * gtk/gtkbutton.c: Go back to the initial fix for the
2763 focus-overdrawing problem, which was actually correct
2764 according to docs/widget_geometry.txt.
2766 * gtk/gtkarrow.c (gtk_arrow_class_init): Bump the initial
2767 arrow size from 11 to 15 to compensate for that.
2769 * gtk/gtktextview.c (gtk_text_view_class_init): Document the
2770 arguments of the ::move-cursor signal. (#142725)
2772 2004-05-17 Matthias Clasen <mclasen@redhat.com>
2776 * gtk/gtkbutton.c (gtk_button_size_request)
2777 (gtk_button_size_allocate, _gtk_button_paint): Allocate
2778 space for the focus rectangle only if necessary. (#142668,
2781 Sun May 16 23:11:47 2004 Matthias Clasen <maclas@gmx.de>
2785 * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove two useless
2786 lines. (#142479, Morten Welinder)
2788 Sun May 16 22:27:17 2004 Matthias Clasen <maclas@gmx.de>
2790 * gtk/gtkintl.h (Q_): Add a Q_() macro.
2792 * gtk/gtkcellrendererprogress.h: Remove GTK_PROGRESS_CELL_UNKNOWN
2793 and GTK_PROGRESS_CELL_FAILED. With the ability the set the label,
2794 they are not really needed.
2796 * gtk/gtkcellrendererprogress.c: Use the xpad and ypad properties
2797 instead of hardwired padding, use Q_() for the default label,
2798 compute a reasonable minimal size. (#142571, #142572, #142573,
2799 Tommi Komulainen, Christian Persch)
2801 2004-05-15 Tor Lillqvist <tml@iki.fi>
2803 * gdk/win32/gdkdnd-win32.c: Put back the ref_count field in the
2804 GdkDragContextPrivateWin32 struct (but inside ifdef OLE2_DND this
2805 time). It is used by the OLE2_DND code, which is unfinished and
2806 presumably horribly broken, but still, let's not make it not
2807 compile on purpose. Silence some gcc warnings in the OLE2_DND
2810 2004-05-14 Matthias Clasen <mclasen@redhat.com>
2812 * gtk/gtktreeview.c (gtk_tree_view_tree_window_to_tree_coords):
2813 New function to go from tree window to tree coordinates, kept
2814 static for now until we figure out the multiple coordinate
2815 system mess in GtkTreeView API-wise.
2816 (gtk_tree_view_scroll_to_cell): Transform the coordinates
2817 from tree window to tree coordinates, using the new function.
2818 Previously, the x coordinate was wrongly transformed. (#142494)
2820 * gdk/gdktypes.h (GdkModifierType): Add a comment about unused
2823 * gtk/gtkstock.c (real_add, gtk_stock_lookup): Use an unused
2824 modifier bit to mark stock item which need to be freed
2825 eventually. (#140654, Michal Pasternak, Scott Tsai)
2827 2004-05-11 Robert Ögren <gtk@roboros.com>
2829 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Add missing
2830 call to g_object_ref in Wintab code. (#138341)
2832 * gdk/win32/gdkinput-win32.c: Fix numerous Wintab problems
2833 including unallocated buffers for event->motion.axes and
2834 event->button.axes, unsigned wraparound problem in the code for
2835 detecting missing press/release events and assigning min instead
2836 of max when setting up axes.
2838 2004-05-12 Matthias Clasen <mclasen@redhat.com>
2840 * tests/testtreeedit.c: Add a progress column.
2842 * gtk/Makefile.am: Add gtkcellrendererprogress.[hc] in the right
2845 * gtk/gtk.h: Include gtkcellrendererprogress.h.
2847 * gtk/gtkcellrendererprogress.[hc]: A progress cell renderer,
2848 based on the one found in Epiphany.
2850 2004-05-11 Michael Natterer <mitch@gimp.org>
2852 * gtk/gtkcombobox.c (gtk_combo_box_popup)
2853 (gtk_combo_box_menu_button_press): don't allocate the popup
2854 smaller than the combobox. Fixes bug #59660.
2856 2004-05-11 Matthias Clasen <mclasen@redhat.com>
2858 * gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Revert the
2859 previous change to this function, clarify the docs instead.
2861 * gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use
2862 GTK_SELECTION_BROWSE.
2864 * gtk/gtktreeview.c: Make hover selection work for
2865 GTK_SELECTION_BROWSE as well.
2867 Tue May 11 00:38:25 2004 Matthias Clasen <maclas@gmx.de>
2869 * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init):
2870 Document the ::toggled signal.
2872 Mon May 10 23:04:25 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2874 * gtk/gtkwidget.h: Add prototype for _gtk_widget_grab_notify()
2876 2004-05-10 Matthias Clasen <mclasen@redhat.com>
2878 * gtk/gtkwindow.c (get_screen_icon_info): Make static.
2880 * gdk/gdkdisplay.c (singlehead_...):
2881 * gdk/x11/gdkkeys-x11.c (get_effective_keymap):
2882 * gdk/x11/gdkgeometry-x11.c (expose_serial_predicate):
2883 * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Make static.
2885 * gtk/gtktreeview.c (gtk_tree_view_set_fixed_height_mode): Add a
2886 note about COLUMN_FIXED restriction.
2888 * gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
2889 Set the entry in the default handler of the ::match-selected signal.
2892 * gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): If we don't
2893 do the move-selected-item below pointer thingie, do the
2894 place-below-or-above one.
2896 * tests/testentrycompletion.c: Make the second example use the
2897 ::match-selected signal to make it actually work.
2899 * gtk/gtkentrycompletion.c (gtk_entry_completion_init):
2900 * gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
2901 mode. (#127648, Dave Bordoley)
2903 * gtk/gtktreeview.h:
2904 * gtk/gtktreeview.c: Add a new property "hover_selection", which
2905 when TRUE makes the selection follow the mouse. Also add setter
2906 and getter for the fixed_height property.
2908 2004-05-10 Matthias Clasen <mclasen@redhat.com>
2910 * gtk/gtkcombobox.c (gtk_combo_box_popup)
2911 (gtk_combo_box_menu_button_press): Make sure the menu pops up
2912 as wide as the combobox. (#59660, Havoc Pennington)
2914 2004-05-10 Matthias Clasen <mclasen@redhat.com>
2916 * gtk/gtkcombobox.h:
2917 * gtk/gtkcombobox.c: Support tearoffable combo boxes (in menu
2918 mode). Add a new property, add-tearoffs, for this. (#135956)
2920 * gtk/gtkfontsel.c (list_row_activated): Make Return activate the
2921 default button. (#118921)
2923 Mon May 10 15:03:50 2004 Soeren Sandmann <sandmann@daimi.au.dk>
2925 * gtk/gtkwidget.c (_gtk_widget_grab_notify): New internal function
2926 that emits the grab notify signal.
2928 * gtk/gtkmain.c (gtk_grab_notify_foreach): Use it here.
2930 Mon May 10 00:48:08 2004 Matthias Clasen <maclas@gmx.de>
2932 * gtk/gtkmenu.c: Make destruction of a torn off menu work
2933 like un-tearing off.
2935 Sun May 9 21:05:38 2004 Matthias Clasen <maclas@gmx.de>
2939 * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
2940 Allow to suppress the stock accelerator by using "". (#142196,
2943 Sun May 9 02:01:13 2004 Matthias Clasen <maclas@gmx.de>
2947 * gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
2948 In list mode, accept the same mouse/wheel bindings on
2949 the cellview as on the button. (#136967)
2951 Sun May 9 01:25:37 2004 Matthias Clasen <maclas@gmx.de>
2953 * gtk/gtkiconfactory.c (add_to_cache): Actually count the
2954 cached icons. (#135888, Crispin Flowerday)
2956 Sun May 9 00:03:03 2004 Matthias Clasen <maclas@gmx.de>
2958 * gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
2959 that we actually return menus for nodes of type menu, not the
2960 menuitems they're attached to.
2962 Sat May 8 22:50:55 2004 Matthias Clasen <maclas@gmx.de>
2964 * gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain):
2965 Add a note regarding UTF-8 requirements, proposed by
2966 Mariano Suárez-Alvarez.
2968 Sat May 8 22:43:11 2004 Matthias Clasen <maclas@gmx.de>
2970 * gtk/gtktearoffmenuitem.h:
2971 * gtk/gtktearoffmenuitem.c: Put the torn_off flag back
2972 into the GtkTearoffMenuItem struct, since it is used
2973 by the Gimp, and keep it synchronized with the
2974 tearoff_state property of the parent menu.
2976 2004-05-08 Hans Breuer <hans@breuer.org>
2978 * gtk/gtkfilesystemwin32.c (extract_icon) : finally also
2979 create the correct mask for 'pseudo mime' icons
2981 * gdk/win32/gdkwindow-win32.c(show_window_internal) : also
2982 take focus_on_map into account
2984 * gtk/gtkselection.c : g_message() only with DEBUG_SELECTION
2986 * gtk/gtkactiongroup.c gtk/gtkcombobox.c :
2987 ... must return a value
2989 * gdk/gdk.def gtk/gtk.def demos/gtk-demo/makefile.msc.in : updated
2991 2004-05-07 Matthias Clasen <mclasen@redhat.com>
2993 * gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
2994 draw over the focus rectangle.
2996 * gtk/gtkhsv.c: Draw focus indication in the color wheel using
2997 standard focus style. (#63071, Bill Haneman, idea for new
2998 style by Owen Taylor)
3000 * gtk/gtkstyle.c (gtk_default_draw_focus): Support drawing on
3001 focus on the colorwheel via details.
3003 2004-05-06 Matthias Clasen <mclasen@redhat.com>
3007 * gtk/gtkcombobox.c (gtk_combo_box_menu_state_changed): Remove
3008 this no longer needed signal handler. (#141817, Paul Pogonyshev)
3010 Fri May 7 00:41:46 2004 Matthias Clasen <maclas@gmx.de>
3012 * gtk/gtktearoffmenuitem.h:
3013 * gtk/gtktearoffmenuitem.c: Make the tearoff
3014 functionality model/view, the tearoffmenuitem being
3015 the view and the tearoff_state property of the menu
3016 being the model. (#101185, Owen Taylor)
3018 * gtk/gtkmenu.c: Add a tearoff_state property.
3020 Thu May 6 23:52:13 2004 Matthias Clasen <maclas@gmx.de>
3024 * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Also
3025 popup the submenu for items in torn off menus. (#122051)
3027 2004-05-06 Sven Neumann <sven@gimp.org>
3029 * gtk/gtkexpander.c (gtk_expander_size_allocate): in RTL mode,
3030 position the title lable next to the arrow just as we do for LTR
3031 rendering. Fixes bug #141825.
3033 2004-05-06 Matthias Clasen <mclasen@redhat.com>
3035 * docs/RELEASE-HOWTO: Document the new policy of
3036 bumping version numbers after release.
3038 * configure.in: Bump version number to 2.5.0.
3040 2004-05-06 Padraig O'Briain <padraig.obriain@sun.com>
3043 * gtk/gtkmenu.c: Add new function gtk_menu_get_for_attach_widget.
3046 Thu May 6 00:24:11 2004 Matthias Clasen <maclas@gmx.de>
3048 * gtk/gtkactiongroup.h:
3049 * gtk/gtkactiongroup.c (gtk_action_group_translate_string):
3050 New function to translate a string with translate_func.
3053 Thu May 6 00:02:21 2004 Matthias Clasen <maclas@gmx.de>
3055 * gtk/gtkcombobox.c (gtk_combo_box_get_wrap_width):
3056 (gtk_combo_box_get_row_span_column):
3057 (gtk_combo_box_get_column_span_column): Add missing getters
3058 for readwrite properies. (#135649)
3060 Wed May 5 23:42:42 2004 Matthias Clasen <maclas@gmx.de>
3062 * gtk/gtkcombobox.h:
3063 * gtk/gtkcombobox.c (gtk_combo_box_get_active_text):
3064 Add gtk_combo_box_get_active_text() convenience
3065 function. (#136372, Christian Neumeir, patch by Olivier Andrieu)
3067 2004-05-05 Elijah Newren <newren@math.utah.edu>
3069 Changes to support do-not-focus-on-map hint in conjunction with
3070 _NET_WM_USER_TIME (#115650):
3072 * gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
3075 * gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
3078 * gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
3079 and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().
3081 * gdk/win32/gdkwindow-win32.c (gdk_window_new):
3082 * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3083 * gdk/x11/gdkwindow-x11.c (gdk_window_new):
3084 Initialize the focus_on_map field to TRUE.
3086 * gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
3087 * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
3088 * gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
3089 * gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
3090 Implementations for the various backends. The Win32 and linux-fb
3091 implementations set the focus_on_map field, but don't use it yet
3092 to actually implement noinput windows. The X implementation sets
3093 _NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).
3095 * gdk/x11/gdkwindow-x11.h:
3096 * gdk/x11/gdkevents-x11.c (set_user_time):
3097 * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
3098 * gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
3099 s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
3100 since we want that function to be part of the public API.
3102 Wed May 5 22:20:21 2004 Matthias Clasen <maclas@gmx.de>
3106 * gtk/gtkiconfactory.c (icon_source_clear): Don't
3107 call g_free() on a pixbuf. (#141961, Crispin Flowerday)
3109 2004-05-05 Matthias Clasen <mclasen@redhat.com>
3113 * gtk/gtkuimanager.c (print_node): Make the output
3114 parseable. (#141929, Sven Neumann)
3116 2004-05-05 Tor Lillqvist <tml@iki.fi>
3118 * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add
3119 multi-monitor offset. (#141842, John Ehresman)
3121 2004-05-04 Federico Mena Quintero <federico@ximian.com>
3123 Fixes #139562, based on a patch by Christian Neumair.
3125 * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
3126 a filter_combo_hbox field to contain the filter combo.
3127 (show_filters): Show/hide the filter_combo_hbox.
3128 (create_filename_entry_and_filter_combo): Removed.
3129 (file_pane_create): Create the filter_combo_hbox here.
3131 2004-05-04 Matthias Clasen <mclasen@redhat.com>
3133 * modules/input/gtkimcontextxim.c: Fix the recent
3134 string_conversion_callback change to work on
3135 Solaris. (#141190, Padraig O'Briain)
3137 * gtk/gtkselection.c: Disable debug logging again.
3139 2004-05-03 Matthias Clasen <mclasen@redhat.com>
3141 * gtk/gtkselection.c: Make the chunk size for
3142 incremental transfers depend on the maximal request
3143 size, capped at 256k. This should allow most selections
3144 to be transferred nonincrementally, avoiding many
3145 roundtrips and protocol overhead.
3147 2004-05-03 Federico Mena Quintero <federico@ximian.com>
3149 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Call
3150 g_signal_new() correctly and initialize the signal fields. Fixes
3151 #141749; patch based on Michael Natterer's.
3153 u2004-05-03 Matthias Clasen <mclasen@redhat.com>
3155 * gtk/gtkselection.c (_gtk_selection_request): Fix
3156 a debug message to show correct information.
3157 (_gtk_selection_incr_event): Make INCRemental transfer
3158 of MULTIPLE targets work. This was broken since 1997!
3160 2004-05-02 Hans Breuer <hans@breuer.org>
3162 * gdk/win32/gdkdrawable-win32.c (draw_segments) : don't
3163 modify the passed in GdkSegment(s) in place, we may get
3164 them again to draw at the same place. Fixes bug #129095,
3166 (draw_segments) draw the end pixel again to get the
3167 pixmap mask right, fixes bug #126710, #130202
3169 * gdk/win32/gdkwindow-win32.c : use SetForegroundWindow,
3170 fixes bug #106013, John Ehresman
3172 * gtk/makefile.msc.in : don't try to link gtk.res but
3173 use gtk-win32.res (as supposed to be fixed below :)
3175 2004-05-01 Hans Breuer <hans@breuer.org>
3177 * tests/Makefile.am : tests/makefile.msc is in CVS for
3178 a long time, finally added to EXTRA_DIST : fixes bug
3179 #141334, John Ehresman
3181 2004-04-30 Matthias Clasen <mclasen@redhat.com>
3183 * === Released 2.4.1 ===
3185 * configure.in: Version 2.4.1, interface age 1.
3189 2004-04-29 Federico Mena Quintero <federico@ximian.com>
3193 * gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): New
3194 function; moved the code over from
3195 remove_bookmark_button_clicked_cb().
3196 (remove_selected_bookmarks): Now, getting a non-removable bookmark
3197 is not an error, as we may be called as a result of hitting the
3199 (shortcuts_key_press_event_cb): New handler; delete the bookmark
3200 if the user presses Backspace, Delete, or KP_Delete.
3202 2004-04-29 Matthias Clasen <mclasen@redhat.com>
3204 * gtk/gtkaction.c (closure_accel_activate): Use
3205 _gtk_action_emit_activate() instead of directly
3206 emitting the activate signal. (#141429, Jody Goldberg)
3208 * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
3209 Warn people when the accelerator can not be
3210 parsed. (#141429, Jody Goldberg)
3212 2004-04-29 Matthias Clasen <mclasen@redhat.com>
3214 * tests/testentrycompletion.c (main): Add a missing
3215 cat. (#141070, Chris Sherlock)
3217 * gtk/gtkrc.c (gtk_rc_check_pixmap_dir): Remove unused
3218 variable. (#141022, Chris Sherlock)
3220 * gtk/gtkcombo.c (gtk_combo_popup_list): Add a missing
3221 cast. (#141013, Chris Sherlock)
3223 * gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Remove
3224 unused variable. (#141011, Chris Sherlock)
3226 2004-04-29 Tor Lillqvist <tml@iki.fi>
3228 * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Plug memory
3229 leak. (#140775, John Ehresman)
3231 Thu Apr 29 01:09:50 2004 Matthias Clasen <maclas@gmx.de>
3233 * gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Use depth - 1
3234 to index the cached gcs, not depth. (#139494)
3236 2004-04-28 Matthias Clasen <mclasen@redhat.com>
3238 * gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Docs typo fix.
3240 Sun Apr 25 15:36:02 2004 Soeren Sandmann <sandmann@daimi.au.dk>
3242 * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget): Fix
3243 cut'n'paste-o from previous commit. (#141046, Torsten Schoenfeld).
3245 2004-04-24 Theppitak Karoonboonyanan <thep@linux.thai.net>
3247 Patch to add support for string conversion callbacks to
3248 GtkIMContextXIM (#101814)
3250 * modules/input/gtkimcontextxim.c: Set the string conversion callback
3251 if supported by the XIC.
3253 (struct _GtkIMContextXIM): Add string_conversion_callback member.
3255 (struct _GtkXIMInfo, setup_im): Check and keep flag inidicating
3256 whether string conversion callback is supported.
3258 (gtk_im_context_get_ic, +set_string_conversion_callback,
3259 +string_conversion_callback): Also initialize string conversion
3260 callback, if supported, along with the IC initialization.
3262 * modules/input/imxim.c: Make "xim" module default for Thai as well.
3264 2004-04-23 Matthias Clasen <mclasen@redhat.com>
3266 * gtk/gtkclipboard.c (gtk_clipboard_wait_for_targets): Correctly
3267 initialize targets. (#139883, John Finlay)
3269 * gdk/gdkdraw.c (gdk_draw_drawable): Small doc improvement.
3271 * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
3272 Don't recommend gtk_tree_row_reference_new_proxy(). (#138309,
3275 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_cell_data):
3276 Remove an excessive g_return_if_fail().
3278 * gdk/x11/gdkevents-x11.c (set_user_time): Make set_user_time()
3280 * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
3281 _-prefix calls of gdk_x11_window_set_user_time().
3283 2004-04-22 Matthias Clasen <mclasen@redhat.com>
3285 * gtk/gtkuimanager.c (update_node): Make sure the separators
3286 used to demarkate placeholder ends don't show up on
3287 show_all(). (#140496, Murray Cumming)
3289 * gtk/gtkspinbutton.c (spin_button_at_limit): Make spinbuttons
3290 work with negative increments. (#137975, Tim Gerla)
3292 Wed Apr 21 21:38:03 2004 Soeren Sandmann <sandmann@daimi.au.dk>
3294 * gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget,
3295 gtk_tool_button_set_icon_widget): Remove the old widget from the
3296 tool button before overwriting it with the new widget.
3298 (#140508, Todd Goyen)
3300 2004-04-22 Tor Lillqvist <tml@iki.fi>
3302 Fix the file chooser on Windows. I can't make it misbehave or
3303 crash any more now. But presumably there are still corner cases
3304 not handled. I haven't really checked behaviour of UNC paths, for
3307 * gtk/gtkfilesystemwin32.c: Accept both backslash and slash in
3308 several places. Use G_IS_DIR_SEPARATOR macro (which could be added
3311 (gtk_file_system_win32_get_parent): Like the Unix version, assert
3312 filename is absolute, and avoid one unnecessary string allocation
3315 (canonicalize_filename,gtk_file_system_win32_parse): Handle drive
3316 letters more correctly.
3318 (gtk_file_system_win32_render_icon): Assure correct syntax is used
3319 for root folder of a drive. (#137962, Morten Welinder)
3321 (filename_is_some_root): New function that accepts also root
3322 without any drive specified.
3324 (filename_is_drive_root): Rename from filename_is_root.
3326 * gtk/gtkfilechooserentry.c (completion_match_func): Casefold on
3329 2004-04-21 Matthias Clasen <mclasen@redhat.com>
3331 * gtk/gtkentry.c (gtk_entry_completion_timeout): Pop down the
3332 completion window if there are no completions anymore.
3334 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
3335 Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
3336 It doesn't like that. (#140642, Christian Persch)
3338 * demos/gtk-demo/expander.c (do_expander): A new demo.
3340 * demos/gtk-demo/Makefile.am (demos): Add expander.c.
3342 2004-04-20 Matthias Clasen <mclasen@redhat.com>
3344 * gtk/gtktextview.c (gtk_text_view_allocate_children): Make
3345 sure anchored children get size allocated, even if the layout
3346 is valid. (#122323, Andrew E. Makeev)
3347 (gtk_text_view_scroll_pages):
3348 (gtk_text_view_scroll_hpages): Don't scroll to cursor position
3349 if we already have pending scrolls. Bandaid fix for #78513.
3351 Mon Apr 19 17:59:17 2004 Owen Taylor <otaylor@redhat.com>
3353 * INSTALL.in: Update libpng and libjpeg URLs, remove
3354 note about building without since that's not the normal
3357 Sun Apr 11 09:45:11 2004 Owen Taylor <otaylor@redhat.com>
3359 * gtk/gtkicontheme.c (load_themes): Fix a couple of typos in
3360 handling of SVG/non-SVG unthemed icons.
3362 2004-04-19 Morten Welinder <terra@gnome.org>
3364 * gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of
3367 2004-04-19 Matthias Clasen <mclasen@redhat.com>
3369 * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag):
3370 Don't stop the iteration up to the tag_root too
3371 early. (#109945, Dongho Shin)
3373 Sun Apr 18 17:06:03 2004 Soeren Sandmann <sandmann@daimi.au.dk>
3375 * gdk/x11/gdkkeys-x11.c (get_effective_keymap): Make
3376 gdk_keymap_translate_keyboard_state() handle NULL
3377 keymaps. (#139715, Torsten Schoenfeld).
3379 Sun Apr 18 16:59:21 2004 Soeren Sandmann <sandmann@daimi.au.dk>
3381 * configure.in: Don't erase GDK_EXTRA_CFLAGS. Fixes bug 139586,
3382 reported by Pedro RODRIGUEZ, about compilation problems when
3383 Xcursor is installed in a non-standard location.
3385 Sun Apr 18 16:15:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
3387 Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah
3390 * gdk/x11/gdkwindow-x11.[ch]: Add new internal function
3391 _gdk_x11_set_user_time() to set the _NET_WM_USER_TIME property.
3393 * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add user_time field
3395 * gdk/x11/gdkdisplay-x11.c: Add _NET_WM_USER_TIME to list of
3398 * gdk/x11/gdkinput-x11.c, gdk/x11/gdkevents-x11.c: Set the
3399 property on user interaction.
3401 2004-04-15 Federico Mena Quintero <federico@ximian.com>
3403 * gtk/gtkfilesel.c (open_new_dir): Tell the user to use
3404 G_FILENAME_ENCODING, not G_BROKEN_FILENAMES. Fixes #114065.
3406 * gtk/gtkfilechooserdefault.c (split_uris): Use a variant of the
3407 code from gtkfilesel.c to parse a "text/uri-list" blob. Fixes
3410 2004-04-15 Matthias Clasen <mclasen@redhat.com>
3412 * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init):
3413 * gtk/gtkbutton.c (gtk_button_class_init): Doc fixes.
3415 2004-04-14 Matthias Clasen <mclasen@redhat.com>
3417 * gtk/gtkcombobox.c:
3419 Make all style properties readonly.
3421 2004-04-14 Matthias Clasen <mclasen@redhat.com>
3423 * gtk/gtkcolorsel.c: Add a11y relations between the color
3424 wheel and the spin buttons. (#132745, Padraig O'Briain)
3426 * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): Document
3427 the meaning of size == -1.
3429 * gtk/gtkwidget.c (gtk_widget_render_icon): Explicitly accept
3430 a size of -1. (#137436, Brian Cameron)
3432 * gtk/gtkcombobox.c: Make the arrow and separator regular
3433 children of an hbox inside the button, and propagate state
3434 changes from the button to the cell view. (part of the fix
3435 for #138650, should also fix #137535)
3437 * gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
3438 state to gtk_cell_renderer_render() when prelighted. (part
3439 of the fix for #138650)
3441 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
3442 Use PRELIGHT state when appropriate. (part of the fix for
3445 * gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit
3446 out warnings if called before the combo box is
3447 realized. (#139742, Philip Langdale)
3449 Wed Apr 14 03:45:39 2004 Jonathan Blandford <jrb@gnome.org>
3451 * gtk/gtktreeview.c (gtk_tree_view_expose): propagate expose
3454 Wed Apr 14 03:32:58 2004 Jonathan Blandford <jrb@gnome.org>
3456 * gtk/gtkpathbar.c (make_directory_button): remove spurious
3459 Tue Apr 13 16:19:23 2004 Jonathan Blandford <jrb@redhat.com>
3461 * gtk/gtkpathbar.c (make_directory_button): patch from Owen to
3462 make the buttons sized by a bold label. This makes the text
3463 'swim' a little, but stops the buttons from resizing, #137210
3465 2004-04-13 Matthias Clasen <mclasen@redhat.com>
3467 * gtk/gtkuimanager.c (get_child_node): Don't crash if a node
3469 (start_element_handler): Accept separators without unique
3470 names. (#133302, Anders Carlsson)
3472 * gtk/gtkactiongroup.c (gtk_action_group_add_action): Document
3473 possible accelerator gotcha when using this function. (#139641,
3476 * gtk/gtkuimanager.c (node_remove_ui_reference): Don't leak
3477 list nodes. (#138862, Morten Welinder)
3479 Tue Apr 13 12:24:49 2004 Jonathan Blandford <jrb@redhat.com>
3481 * gtk/gtktreeview.c (gtk_tree_view_destroy): remove unused
3483 (gtk_tree_view_button_press): If we activated the row we don't
3484 want to grab focus back, as moving focus to another widget is
3485 pretty common, #138458
3487 2004-04-12 Federico Mena Quintero <federico@ximian.com>
3489 * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Added
3490 documentation to all the signals.
3492 2004-04-12 Matthias Clasen <mclasen@dhcp64-228.boston.redhat.com>
3494 * gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref
3495 model if it is NULL. (#139770)
3497 * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix.
3499 * gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add
3500 a shadow inside the scrolled window, add it around the vbox.
3502 * gtk/gtkentryprivate.h:
3503 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
3504 Return a boolean indicating whether the popup is positioned above
3505 or below. Scroll the completions to the beginning or the end,
3506 depending on the positioning.
3508 * gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav
3509 wrap around in the entry completion popup, and allow GDK_UP to
3510 enter the popup. (#137440)
3512 2004-04-12 Matthias Clasen <mclasen@redhat.com>
3514 * gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is
3515 there before using it.
3517 Sun Apr 11 15:08:45 2004 Jonathan Blandford <jrb@gnome.org>
3519 * gtk/gtktreeprivate.h: Moved search entries into priv data.
3521 * gtk/gtktreeview.c: Prep for type-ahead support.
3523 (gtk_tree_view_destroy): Destroy the search window explicitly.
3524 (gtk_tree_view_key_press): Minor change; prep for type-ahead
3525 (gtk_tree_view_ensure_interactive_directory): New function
3526 (gtk_tree_view_focus_out): Rework to handle new entry life-cycle.
3527 (gtk_tree_view_real_start_interactive_search): rework
3528 (gtk_tree_view_search_dialog_hide): ditto
3529 (gtk_tree_view_search_delete_event): ditto
3530 (gtk_tree_view_search_button_press_event): ditto
3531 (gtk_tree_view_search_key_press_event): ditto
3532 (gtk_tree_view_search_move): ditto
3533 (gtk_tree_view_search_init): ditto
3535 * gtk/gtktreeviewcolumn.c:
3536 (gtk_tree_view_column_cell_layout_clear): remove unused variable.
3538 * tests/testfilechooser.c: (main): change
3540 2004-04-11 Hans Breuer <hans@breuer.org>
3542 * gdk/win32/gdkspawn-win32.c : workaround for bug #137496,
3543 the real fix would involve just another small API breakage,
3544 i.e. gdk_spawn_* using GPid not just gint.
3546 * gtk/makefile.msc.in : build gtk-win32.res, not gtk.res
3548 2004-04-10 Tor Lillqvist <tml@iki.fi>
3550 * gdk/win32/gdkkeys-win32.c (gdk_keymap_translate_keyboard_state):
3551 If both Shift and CapsLock pressed, ignore the shift only for
3552 letters (that would have been affected by the CapsLock). (#139095)
3554 * gdk/win32/gdkglobals-win32.c: Disable tablet support by default,
3555 seems to be even buggier now than it used to be. (#138341)
3556 Initialize _gdk_input_ignore_wintab to TRUE.
3558 * gdk/win32/gdkmain-win32.c: Add --use-wintab switch and
3559 GDK_USE_WINTAB environment variable to turn on tablet support.
3561 2004-04-09 Christian Persch <chpe@cvs.gnome.org>
3563 * gtk/gtkuimanager.c: (gtk_ui_manager_insert_action_group),
3564 (gtk_ui_manager_remove_action_group): Terminate
3565 g_object_[dis]connect() calls with NULL instead of 0.
3568 2004-04-09 Guntupalli Karunakar <karunakar@freedomink.org>
3570 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
3572 2004-04-07 Federico Mena Quintero <federico@ximian.com>
3576 * gtk/gtkfilesystem.c (gtk_file_system_parse): Ensure that the
3577 passed-in 'str' is not NULL.
3579 * gtk/gtkfilesystemunix.c (expand_tilde): New helper function;
3580 expands "~/" or "~foo/" at the beginning of a filename.
3581 (gtk_file_system_unix_parse): Use expand_tilde() before doing
3584 * gtk/gtkfilechooserentry.c
3585 (gtk_file_chooser_entry_maybe_update_directory): Take in a
3586 force_reload argument.
3587 (gtk_file_chooser_entry_changed): If gtk_file_system_parse()
3588 returns an error, set the file_part_pos to -1.
3589 (load_directory_callback): Only populate the model if the
3590 file_part_pos is not -1.
3592 2004-04-06 Pablo Saratxaga <pablo@mandrakesoft.com>
3594 * configure.in: Added Icelandic (is) to ALL_LINGUAS
3596 2004-04-05 Federico Mena Quintero <federico@ximian.com>
3598 * gtk/gtkfilechooserdefault.c (location_popup_handler): Use a
3599 title for SAVE and CREATE_FOLDER modes. Fixes #137272.
3601 * gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Look
3602 for G_DIR_SEPARATOR in the display_name, and err out if it is
3603 present; use the same error message as Nautilus. Fixes #136467.
3605 * gtk/gtkfilechooserdefault.c (file_pane_create): Make the
3606 new-folder button say "Create Fo_lder" rather than "Create
3607 _Folder", so that the mnemonic doesn't conflict with the "Save in
3608 _folder" label. Fixes #136975.
3610 2004-04-05 Federico Mena Quintero <federico@ximian.com>
3612 * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Ref/sink the
3613 buttons. Also, free them correctly upon failure. Based on a
3614 patch by Morten Welinder, fixes #137956.
3616 2004-04-05 Anders Carlsson <andersca@gnome.org>
3618 * gdk/gdk.c (gdk_arg_context_parse): Handle '--' correctly.
3620 Fri Apr 2 17:57:33 2004 Jonathan Blandford <jrb@redhat.com>
3622 * gtk/gtktreeview.c (gtk_tree_view_row_inserted): set the height
3623 correctly for fixed height when inserting a node, #138082
3625 2004-04-01 Federico Mena Quintero <federico@ximian.com>
3629 * gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a
3630 "child_is_hidden" boolean argument to the "path-clicked" signal.
3632 * gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden
3634 (make_directory_button): Take a file_is_hidden argument; put it in
3636 (_gtk_path_bar_set_path): See whether each path component path is
3638 (gtk_path_bar_class_init): Add the file_is_hidden argument to the
3639 "path-clicked" signal.
3640 (button_clicked_cb): See if the downwards button represents a
3641 hidden file for the file_is_hidden argument in the signal
3644 * gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN.
3646 * gtk/gtkfilechooserdefault.c
3647 (gtk_file_chooser_default_select_path): If we fail to switch
3648 folders, don't try to select the path in the file system model.
3649 Also, return the result from _gtk_file_system_model_path_do().
3650 (gtk_file_chooser_default_select_path): Turn on show_hidden in the
3651 file system model if we are asked to select a hidden file.
3652 (path_bar_clicked): Show hidden files based on whether the
3653 immediate downwards folder in the path bar is a hidden file
3655 (struct _GtkFileChooserDefault): Added fields
3656 browse_files_popup_menu and browse_files_popup_menu_hidden_files_item.
3657 (create_file_list): Set an object data key of
3658 "GtkFileChooserDefault" on the tree view so that we can find the
3659 impl from the popup menu callbacks. Also, hook up to the
3660 "button-press-event" and "popup-menu" signals in the file list to
3661 bring up a popup menu.
3662 (list_popup_menu_cb): New callback.
3663 (list_button_press_event_cb): New callback.
3667 * gtk/gtkfilesystemmodel.c
3668 (_gtk_file_system_model_new): Oops, connect_object to
3671 2004-03-31 Tor Lillqvist <tml@iki.fi>
3673 * configure.in: Move AC_CANONICAL_HOST earlier, before the check
3674 for native Win32. (#136559, J. Ali Harlow)
3676 * gdk/win32/gdkdrawable-win32.c (draw_arc): Use X11 semantics for
3677 angles. Thanks to Tim Newsham.
3679 2004-03-29 Federico Mena Quintero <federico@ximian.com>
3683 * gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
3684 for an ::is_finished_loading() method and a ::finished_loading()
3685 signal at the end of the struct.
3687 * gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
3688 "finished-loading" signal.
3689 (gtk_file_folder_is_finished_loading): New function.
3691 * gtk/gtkfilesystemunix.c
3692 (gtk_file_folder_unix_is_finished_loading): Implement.
3694 * gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
3695 slot for a "finished-loading" signal.
3696 (gtk_file_system_model_class_init): Create the "finished-loading"
3698 (struct _GtkFileSystemModel): New field
3699 idle_finished_loading_source. We emit the "finished-loading"
3700 signal in an idle if the root folder was done loading right in
3701 _gtk_file_system_model_new(), so that the caller has a chance to
3702 connect to the signal.
3703 (_gtk_file_system_model_new): Connect to the normal signals of the
3704 folder even if the initial _list_children() fails. Also, see if
3705 the folder is finished loading; connect to the "finished-loading"
3707 (gtk_file_system_model_finalize): Remove the idle handler.
3709 * gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
3710 and connect to the model's "finished-loading" signal.
3711 (get_toplevel): New helper function.
3712 (error_message): Use get_toplevel().
3713 (trap_activate_cb): Likewise.
3714 (location_popup_handler): Likewise.
3715 (set_busy_cursor): New function.
3716 (browse_files_model_finished_loading_cb): New callback.
3718 2004-03-25 Federico Mena Quintero <federico@ximian.com>
3720 * gtk/gtkfilechooserdefault.c (check_preview_change): Just use the
3721 file under the cursor; we don't need the logic from
3722 GtkFileSelection after all. Fixes #132255.
3724 2004-03-25 Federico Mena Quintero <federico@ximian.com>
3726 * gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
3727 location entry with the display name of the file under the cursor
3728 for Open mode, or the typed filename in Save mode.
3730 2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
3732 * gtk/gtkfilesystemwin32.c
3733 (filename_is_root): Bare drive designators (eg., "c:") are
3734 no longer considered as root filenames. Fixed #137942
3736 2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
3738 * gtk/gtkfilesystemwin32.c
3739 (gtk_file_system_win32_create_folder): Invert test for error in
3740 mkdir. Fixes #137945
3742 2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
3744 Fixed #138004 using Federico's code from #132327.
3746 * gtk/gtkfilesystemwin32.c (struct _GtkFileSystemWin32): Add a
3747 folder_hash field to keep a list of live folder objects.
3748 (gtk_file_system_win32_init): Create the folder_hash.
3749 (gtk_file_system_win32_finalize): Destroy the folder_hash.
3750 (gtk_file_system_win32_get_folder): Ref and return an existing
3751 folder if we have it around, otherwise return a new folder object.
3752 (struct _GtkFileFolderWin32): Add a field for the parent file system.
3753 (gtk_file_folder_win32_finalize): Remove the folder from the file
3754 system's hash table.
3755 (gtk_file_system_win32_create_folder): Emit "files-added" on the
3756 newly-created folder's parent. Fixes #138004.
3758 2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
3760 * gtk/gtkfilesystemwin32.c
3761 (gtk_file_system_win32_get_folder): Test that path is actually
3762 a directory and throw error if not. Fixed bug #137950
3764 2004-03-22 J. Ali Harlow <ali@juiblex.co.uk>
3766 * gtk/gtkfilesystemwin32.c
3767 (gtk_file_system_win32_volume_get_display_name): Ignore empty
3768 volume labels; assume that GetVolumeInformation would fail if
3769 GetVolumeInformationW does; catches a small memory leak;
3770 pass the buffer size to GetVolumeInformationW in wide
3771 characters instead of bytes. Fixes bug #137543
3772 (list_volumes): Cope with the theoretical possibility of
3773 more than 26 logical drives. Fixes bug #137940
3774 (bookmarks_serialize): Now actually removes bookmarks.
3777 2004-03-22 Guntupalli Karunakar <karunakar@freedomink.org>
3779 * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
3781 2004-03-21 Tor Lillqvist <tml@iki.fi>
3783 * gtk/gtkfilesystemwin32.c
3784 (gtk_file_system_win32_volume_get_base_path): Include the
3785 backslash. Otherwise gtk_file_system_win32_path_to_uri() returns
3786 NULL for a volume base path, as g_filename_to_uri() requires an
3787 absolute path, and just a drive letter and colon isn't. (#137543)
3789 2004-03-20 Hans Breuer <hans@breuer.org>
3791 * gtk/gtkfilesystemwin32.c : applied the undisputable and
3792 required [due to recent gtkfilesystem internal api semantic
3793 changes] part of patches to fix bug #137543 (Tor Lillqvist,
3796 * gdk/gdkevents-win32.c (handle_configure_event) :
3797 (gdk_event_translate), WM_WINDOWPOSCHANGED : initialize
3798 GdkWindowObject::x, y with screen coords to make
3799 gdk_window_get_position () return the right thing and thus fix
3800 drag and drop positioning (e.g. Gimp tabs, fixes bug #137192)
3802 2004-03-19 Federico Mena Quintero <federico@ximian.com>
3804 * Revert the patch to #137520, as 2.4.1 is for conservative bug
3805 fixes only. The patch is attached to the bug report, for
3808 2004-03-19 Morten Welinder <terra@gnome.org>
3810 * gtk/gtkfilechooserdefault.c
3811 (gtk_file_chooser_default_set_current_folder): Test existance of
3812 the path after checking for locality, if needed.
3814 2004-03-19 Federico Mena Quintero <federico@ximian.com>
3818 * gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
3819 for an ::is_finished_loading() method and a ::finished_loading()
3820 signal at the end of the struct.
3822 * gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
3823 "finished-loading" signal.
3824 (gtk_file_folder_is_finished_loading): New function.
3826 * gtk/gtkfilesystemunix.c
3827 (gtk_file_folder_unix_is_finished_loading): Implement.
3829 * gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
3830 slot for a "finished-loading" signal.
3831 (gtk_file_system_model_class_init): Create the "finished-loading"
3833 (struct _GtkFileSystemModel): New field
3834 idle_finished_loading_source. We emit the "finished-loading"
3835 signal in an idle if the root folder was done loading right in
3836 _gtk_file_system_model_new(), so that the caller has a chance to
3837 connect to the signal.
3838 (_gtk_file_system_model_new): Connect to the normal signals of the
3839 folder even if the initial _list_children() fails. Also, see if
3840 the folder is finished loading; connect to the "finished-loading"
3842 (gtk_file_system_model_finalize): Remove the idle handler.
3844 * gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
3845 and connect to the model's "finished-loading" signal.
3846 (get_toplevel): New helper function.
3847 (error_message): Use get_toplevel().
3848 (trap_activate_cb): Likewise.
3849 (location_popup_handler): Likewise.
3850 (set_busy_cursor): New function.
3851 (browse_files_model_finished_loading_cb): New callback.
3853 Thu Mar 18 12:10:45 2004 Owen Taylor <otaylor@redhat.com>
3855 * gtk/gtktreeitem.c (gtk_tree_item_forall): Include
3856 eventbox for expander. (#137564, reported by
3859 2004-03-18 Guntupalli Karunakar <karunakar@freedomink.org>
3861 * mr.po: Added "mr" for Marathi to ALL_LINGUAS.
3863 2004-03-17 Morten Welinder <terra@gnome.org>
3865 * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free
3866 volumes not actually put into the shortcut list.
3868 * tests/prop-editor.c (object_changed): Plug leak.
3870 * tests/testfilechooser.c (main): Plug some leaks and expose
3873 * tests/prop-editor.c (create_prop_editor): Don't leak the tooltip
3874 object. Fixed #136652.
3876 * gtk/gtkfilechooserdefault.c (check_icon_theme): Do nothing if we
3877 have no screen. Fixes #137260.
3878 (shortcuts_add_bookmark_from_path): Simplify using check_is_folder
3879 thereby fixing leak. Fixes #137259.
3881 * gtk/gtkpathbar.c (gtk_path_bar_forall): Make this work when the
3882 slider buttons have been destroyed.
3883 (gtk_path_bar_remove): Make this work for slider buttons too.
3886 2004-03-15 Morten Welinder <terra@gnome.org>
3888 * gtk/gtkfilechooserdefault.c (shortcuts_add_bookmark_from_path):
3889 Sanitize and plug leak.
3890 (check_icon_theme): Only do something if the widget has a screen.
3892 Wed Mar 17 01:20:28 2004 Matthias Clasen <maclas@gmx.de>
3894 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
3895 Move the repositioning logic from _gtk_entry_completion() popup
3896 over here. Fixes #137355, reported by Niklas Knutsson.