1 2006-01-03 Matthias Clasen <mclasen@redhat.com>
3 * gtk/gtkdnd.c: Make it compile
5 * gtk/gtkdnd.c (gtk_drag_begin_internal): Call gtk_drag_update
6 for non-motion events. (#325443, Peter Harvey)
8 * gtk/gtkaction.c: Avoid connecting to notify on our own
11 2006-01-02 Matthias Clasen <mclasen@redhat.com>
13 * gtk/gtkentry.c (gtk_entry_delete_from_cursor): When deleting
14 words, delete preceding whitespace as well. (#325358, Akkana Peck)
16 2006-01-02 Anders Carlsson <andersca@imendio.com>
18 * gdk/quartz/GdkQuartzWindow.c:
19 (-[GdkQuartzWindow canBecomeMainWindow]):
20 (-[GdkQuartzWindow canBecomeKeyWindow]):
21 Have these return TRUE
23 * gdk/quartz/gdkevents-quartz.c:
24 (pointer_grab_internal):
27 (find_child_window_by_point_helper):
28 Fix bug in offset calculation
30 (find_window_for_event):
31 Use grab window toplevel when a grab is in effect
33 (gdk_event_translate):
34 Don't call _gdk_event_button_generate on mouse up
36 * gdk/quartz/gdkgc-quartz.c:
40 * gdk/quartz/gdkwindow-quartz.c:
42 Make TEMP windows borderless
47 (gdk_window_get_origin):
50 2006-01-02 Tor Lillqvist <tml@novell.com>
52 * gdk/win32/gdkwindow-win32.c
53 (gdk_window_impl_win32_get_visible_region): Make identical to the
54 X11 implementation. (#322264, John Ehresman)
56 * gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): Get the
57 invalidated region from ScrollWindowEx() instead of an incorrect
58 attempt to calculate it ourselves. Fix by John Ehresman. (#323666)
60 * gdkevents-win32.c: Make _gdk_win32_hrgn_to_region() non-static.
62 * gdkprivate-win32.h: Declare it.
64 2005-12-31 Matthias Clasen <mclasen@redhat.com>
67 * gtk/gtkentry.c: Connect to notify instead of multiple
70 2005-12-30 Matthias Clasen <mclasen@redhat.com>
74 * gdk/gdkcairo.c: Add gdk_cairo_set_source_pixmap. (#318805,
77 * gdk/gdkdisplaymanager.c (gdk_display_manager_set_property): Call
78 gdk_display_manager_set_default_display() to change the default
79 display. (#153623, Stefan Kost)
81 * gtk/gtkmessagedialog.c (gtk_message_dialog_init):
82 (setup_type): Alert dialogs should not have titles and should
83 not be displayed in the taskbar. (#310443, Carlos Garnacho Parro,
86 2005-12-29 Matthias Clasen <mclasen@redhat.com>
89 * gtk/gtktreestore.c: Always call the get_path and get_iter
90 implementations directly, rather than the current mixture whith
91 some calls going through the GtkTreeModel interface.
93 * gtk/gtktreemodelsort.c:
95 * gtk/gtktreestore.c: Remove excessive g_return_if_fail() checks
98 * gtk/gtktreedatalist.c: Use the slice allocater for
99 GtkTreeDataSortHeader.
101 * gtk/gtktreedatalist.h:
102 * gtk/gtktreedatalist.c (_gtk_tree_data_list_set_header): New function.
104 * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func):
105 * gtk/gtkliststore.c (gtk_list_store_set_sort_func):
106 * gtk/gtktreestore.c (gtk_tree_store_set_sort_func): Use it here.
108 2005-12-27 Matthias Clasen <mclasen@redhat.com>
110 * gtk/gtkbindings.h (GtkBindingSignal):
111 * gtk/gtkbindings.c (binding_signal_new): Make the
112 args a flexible array inside the struct, and allocate them
115 Wed Dec 28 00:45:46 2005 Tim Janik <timj@gtk.org>
117 * gtk/gtkctree.c (row_delete): delete GtkCTreeRow as GtkCTreeRow, not
118 clist rows which crashes in gslice later on.
120 2005-12-27 Federico Mena Quintero <federico@ximian.com>
122 * gtk/gtkfilefilter.c (gtk_file_filter_filter): In the case for
123 FILTER_RULE_PIXBUF_FORMATS, check that filter_info->mime_type is
124 not NULL. Fixes bug #317687.
126 2005-12-27 Matthias Clasen <mclasen@redhat.com>
128 * gdk/x11/gdkevents-x11.c (check_transform): Fix a typo.
129 (gdk_screen_get_setting): Avoid relocations for the settings
132 * gdk/x11/gdkproperty-x11.c: Avoid relocations for the list
135 * gtk/gtkbindings.c (gtk_binding_set_new): Avoid copying
136 the set_name by interning it.
138 2005-12-26 Matthias Clasen <mclasen@redhat.com>
140 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Precache atoms
141 before calling gdk_window_new().
143 * gtk/gtktextbtree.c: Use the slice allocator for some other small
144 auxiliary structures as well.
146 * gtk/gtkimcontext.c (gtk_im_context_filter_keypress): Clarify
149 * gtk/gtktextbtree.c (gtk_text_btree_get_tag_info)
150 (gtk_text_btree_remove_tag_info): Use the slice allocator for
153 * README.in: Mention the stripping of (_F) suffixes.
155 * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Strip a suffix of
156 the form "(_<single character>)", since this is the preferred way
157 for some languages to indicate accelerators. (#323956, Yang Hong)
159 * gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
161 (gtk_label_grab_focus): And use it here to select the contents of
162 the label when appropriate.
163 (gtk_label_class_init): Use the same keybindings for select all/
164 unselect all as GtkEntry and GtkTextView.
166 * gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
167 focus, avoid leaving a selection in a label.
169 2005-12-25 Matthias Clasen <mclasen@redhat.com>
171 * gtk/gtkwindow.c: Documentation fixes. (#324815,
174 * configure.in: Require GLib 2.9.2
176 2005-12-24 Matthias Clasen <mclasen@redhat.com>
178 * gdk/gdkregion-generic.c:
179 * gdk/gdkpolyreg-generic.c:
181 * gdk/gdkrectangle.c: Inline docs, use g_assert(), avoid
182 extra allocation for rectangular regions.
184 Thu Dec 22 18:53:14 2005 Tim Janik <timj@gtk.org>
186 * gtk/gtkobject.[hc]: renamed GUnowned to GInitiallyUnowned.
188 Thu Dec 22 17:55:11 2005 Tim Janik <timj@gtk.org>
190 * gtk/gtkobject.h: parent type fixups in structure declarations.
192 Thu Dec 22 16:01:27 2005 Tim Janik <timj@imendio.com>
194 * gtk/gtkobject.c: derive GtkObject from GUnowned,
195 so it initially has a floating reference count.
196 gtk_object_class_init(): installa floating flag handler with
197 libgobject, so for GtkObjects the flag is stored as GTK_FLOATING
198 in the ->flags member.
200 * tests/floatingtest.c: test floating flag uses.
202 2005-12-21 Matthias Clasen <mclasen@redhat.com>
204 * gdk/gdkregion-generic.c: Use the slice allocator
205 for regions. Still todo: avoid extra allocations for
206 the single-rectangle case.
208 * gtk/gtksettings.c (gtk_settings_class_init): Update
209 class_n_properties after installing color-hash, since
210 other classes install settings, too.
213 * gtk/gtkclist.c: Fix some mistakes in the conversion
214 from mem chunks to slice allocator.
216 * gtk/gtkiconview.c (adjust_wrap_width): Adjust the
217 wrap-width also if an explicit item width is set.
218 (#322475, Alex Graveley)
220 2005-12-20 Matthias Clasen <mclasen@redhat.com>
222 * gtk/gtkiconview.c (gtk_icon_view_button_press): Reset
223 pressed_button to -1 after handling a double click, so that
224 motion events occurring between here and the release event
225 don't trigger DND. (#324588, Dave Andreoli)
227 2005-12-19 Matthias Clasen <mclasen@redhat.com>
229 * gtk/gtkcellrenderer.c:
230 * gtk/gtkselection.c:
232 * gtk/gtkitemfactory.c:
234 * gdk/gdkpixbuf-render.c: Documentation updates
236 * gtk/gtktreemodel.c:
238 * gtk/gtkwindow.c: Documentation fixes.
240 2005-12-19 Michael Natterer <mitch@imendio.com>
242 * gtk/gtkentry.c: implement boolean property "truncate-multiline"
243 which, when enabled, truncates multi-line pastes or drops to their
244 first line. Fixes bug #322252.
246 * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): enable
247 truncate-multiline here.
249 2005-12-17 Matthias Clasen <mclasen@redhat.com>
251 * gtk/gtksettings.c (get_color_hash): Don't crash if
252 there is no color scheme. (#324429, Diego Gonzalez)
254 2005-12-16 Matthias Clasen <mclasen@redhat.com>
256 * gtk/gtkfilesystem.c (gtk_file_system_module_load):
257 * gtk/gtkimmodule.c (gtk_im_module_load):
258 * gtk/gtkthemes.c (gtk_theme_engine_load):
259 * gtk/gtkmodules.c (find_module): Use G_MODULE_BIND_LAZY when
262 * gtk/gtksettings.[hc]: Rework the way the color scheme setting
263 is inherited. Now the overriding is done on a per-color basis,
264 rather than for the setting as a whole. This has the effect
265 that themes can declare defaults for all the symbolic colors they
266 use by specifying a value for the gtk-color-scheme setting in
267 their rc file, while still allowing the XSetting to override
268 "standard" symbolic colors. The hash table is now available
269 through the color-hash property.
271 * gtk/gtkrc.c: Use the new color-hash property.
273 2005-12-14 Matthias Clasen <mclasen@redhat.com>
275 * gtk/gtkcontainer.c (_gtk_container_focus_sort): Skip unrealized
276 children when doing focus sorting. (#323995, Dan Winship)
278 2005-12-14 Rodney Dawes <dobey@novell.com>
280 * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
281 Default to "drive-harddisk" and then fall back to gnome-dev-harddisk
282 (get_icon_for_mime_type): Look up the mime type icons according to the
283 Icon Naming Specification and then fall back to the gnome-mime- prefix
284 for the mime type icons
288 2005-12-14 Matthias Clasen <mclasen@redhat.com>
290 * gtk/gtkdnd.c (gtk_drag_set_icon_name): Warn if the icon
291 cannot be loaded. (#323504, Kjartan Maraas)
293 * gtk/gtktreeview.c (gtk_tree_view_class_init): Add docs
294 for the row-activated signal. (#324044, Davyd Madeley)
296 2005-12-14 Michael Natterer <mitch@imendio.com>
298 * tests/test-images/valid_jpeg_progressive_test: new test image.
300 Tue Dec 13 09:47:20 2005 Tim Janik <timj@gtk.org>
302 * README.in: added a link to the floating reference docs in the
303 2.10 release NEWS section.
305 2005-12-12 Matthias Clasen <mclasen@redhat.com>
307 * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_index):
308 Speed this function up, using the fact that visibility is
309 constant across segments. (#321548, Paolo Borelli)
311 * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets):
312 * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Speed up
313 stepping backwards. (#320638, Larry Ewing, Paolo Borelli)
315 * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
316 _GTK_LOAD_ICONTHEMES if we detect a real theme change, not
317 upon initial theme load. (#323876, Peter Lund)
319 * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register
320 the size-changed signal correctly. (#323848, Murray Cumming)
322 * gtk/gtkmarshalers.list: Add necessary marshaller.
324 * gtk/gtktextview.c (gtk_text_view_get_border_window_size): Don't
325 fall thru to the wrong window types. (#323843)
327 Make the gtk-color-scheme setting work.
330 * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
331 that takes care of initializing the color hash if it is not
334 * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get):
337 2005-12-10 Matthias Clasen <mclasen@redhat.com>
339 * gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
342 2005-12-09 Matthias Clasen <mclasen@redhat.com>
344 * gtk/gtkselection.c (gtk_selection_data_get_uris): Don't
345 leak list[0]. (#323629, Markku Vire)
347 * gtk/gtktextbuffer.c (paste_from_buffer): Unref the buffer
348 when freeing the RequestData. (#323577)
350 2005-12-07 Matthias Clasen <mclasen@redhat.com>
352 * demos/gtk-demo/iconview_edit.c (set_cell_color): Don't
355 * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a
356 variable name clash. (#323475, Ross Burton)
358 2005-12-07 Ross Burton <ross@burtonini.com>
360 * docs/reference/gtk/tmpl/gtkenums.sgml:
361 * gtk/gtktoolbutton.c:
362 If the toolbar mode is ICONS and there is no icon set then show
363 the label, and vice versa (#322019)
365 2005-12-07 Matthias Clasen <mclasen@redhat.com>
367 * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a
368 variable name clash. (#323475, Ross Burton)
370 * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
371 window when synthesizing the key event. (#323077,
372 Sadrul Habib Chowdhury)
374 (gtk_tree_view_search_key_press_event): Also listen for
375 GDK_ISO_Left_Tab. (#323077, Sadrul Habib Chowdhury)
377 * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
378 Only scroll if we have focus. (#316310, Paolo Borelli)
380 * gtk/gtkfilesystemunix.c (cb_fill_in_mime_type): Fix a C99ism,
381 spotted by Crispin Flowerday.
383 2005-12-06 Behdad Esfahbod <behdad@gnome.org>
385 * gtk/gtksettings.c (settings_update_font_options): Turn metrics
386 hinting on (part of #307196)
388 2005-12-06 Matthias Clasen <mclasen@redhat.com>
390 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
391 commit from reset, it upstets GtkTextView.
393 * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
394 careful when turning blinking on and off.
395 (gtk_text_view_focus_out_event): Make the cursor really invisible
396 when the focus goes away. (#323087, Sadrul Habib Chowdhury)
397 (cursor_blinks): Check the gtk-cursor-blink setting first.
399 * gtk/gtktreeview.c (gtk_tree_view_key_press): Fix refcounting
400 issues with new_event and its window.
402 * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
403 as a detach func. (#323386, Jorn Baayen)
405 * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
406 the libdate routines. (#323045, Kazuki Iwamoto)
408 * gdk/gdk.c (gdk_parse_args):
409 * gtk/gtkmain.c (gtk_parse_args): Don't ignore errors
410 from g_option_context_parse().
412 Tue Dec 6 11:37:59 2005 Tim Janik <timj@gtk.org>
414 * gdk/gdkevents.c (gdk_event_new): fix missing hash table
417 Tue Dec 6 10:32:17 2005 Tim Janik <timj@gtk.org>
419 * gtk/gtkstatusbar.c: ported memchunk uses to g_slice, so the code
422 2005-12-05 Federico Mena Quintero <federico@ximian.com>
424 * gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
425 modifiers", not "event->state && modifiers". Patch by Sadrul
426 Habib Chowdhury <imadil@gmail.com>. Fixes bug #323073.
428 2005-12-05 Matthias Clasen <mclasen@redhat.com>
431 * gtk/gtkuimanager.c:
432 * gtk/gtktreedatalist.c:
435 * gtk/gtkitemfactory.c:
436 * gtk/gtkseparator.[hc]:
439 * gtk/gtkgc.c: Use g_slice instead of mem chunks.
441 2005-12-05 Michael Natterer <mitch@imendio.com>
443 * gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
444 "timeout-initial", "timeout-repeat", "color-scheme" and
445 "enable-animations" to X settings.
447 2005-12-05 Matthias Clasen <mclasen@redhat.com>
450 * gdk/gdkcolor.c: Use g_slice instead of mem chunks.
452 * gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
453 after sending it to the search entry. (#323209, Crispin Flowerday)
455 * README.in: Add a note about GTK_FLOATING.
457 * gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.
459 2005-12-02 Matthias Clasen <mclasen@redhat.com>
461 * gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
462 a pixbuf. (#323024, Paolo Borelli)
464 2005-12-02 Matthias Clasen <mclasen@redhat.com>
466 * gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
467 if mime_type is NULL. (#322998, Sadrul Habib Chowdhury)
469 2005-12-02 Michael Natterer <mitch@imendio.com>
471 * gtk/gtkmenu.c: applied modified patch from maemo-gtk which
472 adds a "horizontal-padding" style property. Fixes bug #323036.
474 2005-12-01 Michael Natterer <mitch@imendio.com>
476 Merged modified patch from maemo-gtk that allows to disable
477 toolbar animations. Addresses bug #142582.
479 * gtk/gtksettings.c: added boolean property "gtk-enable-animations".
480 (patch from Christian Neumair)
482 * gtk/gtktoolbar.c: don't animate toolbar changes if the settings
483 property is FALSE. Replaced the individual "notify::foo"
484 connections to GtkSettings by a single "notify" callback and
487 2005-12-01 Michael Natterer <mitch@imendio.com>
489 * gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
490 assignment of widget_class->motion_notify_event.
492 2005-11-29 Matthias Clasen <mclasen@redhat.com>
494 * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add
495 an active property. (#322673, Jorn Baayen)
497 Properly handle model changes in GtkTreeSelection: (#322569,
500 * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
501 Get a reference to the model, and stop the iteration if the model
502 of the treeview is changed on the way.
504 * gtk/gtktreeprivate.h:
505 * gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New
506 private function to emit the GtkTreeSelection::changed signal.
508 * gtk/gtktreeview.c (gtk_tree_view_set_model): Call
509 _gtk_tree_selection_emit_changed() when the model changes.
511 2005-11-28 Federico Mena Quintero <federico@ximian.com>
513 Fixes the critical warnings from bug #317999, thus fixing the bug
516 * gtk/gtkfilechooserdefault.c
517 (gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
518 use _gtk_file_chooser_get_current_folder_path() instead of fetching the
519 impl->current_folder directly. The latter may be null if we are
520 in RELOAD_NONE state.
522 2005-11-28 Federico Mena Quintero <federico@ximian.com>
524 Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
526 * gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
527 current_folder to the pending select paths here; the path bar will
529 (path_bar_clicked): Add the child_path to the pending select paths
531 (show_and_select_paths): Don't filter out folders.
532 (show_and_select_paths): Don't take separate arguments for
533 only_one_path and multiple paths.
535 * tests/autotestfilechooser.c (test_folder_switch_and_filters):
536 New test about preserving the filters when we change folders.
538 2005-11-28 Matthias Clasen <mclasen@redhat.com>
540 * gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
541 -20 to come out as 20- in RTL locales. (#322571, Tze'ela Hebron)
543 * gtk/gtkaction.c (gtk_action_sync_button_stock_id)
544 (connect_proxy): Buttons use the label property for stock ids. (#322565,
547 * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
548 handle the cell list and indices into it. (#321856)
550 2005-11-28 Matthias Clasen <mclasen@redhat.com>
552 * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
553 the timeout is done. (#322291, Jean-Yves Lefort)
555 2005-11-28 Matthias Clasen <mclasen@redhat.com>
557 * gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
558 F2 work for renaming bookmarks. (#320822, Jaap A. Haitsma, patch
561 2005-11-28 Tor Lillqvist <tml@novell.com>
563 * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
564 Implement the conditional use of FlashWindowEx() properly for MSVC
565 compilations. The code was confusingly assuming that if compiled
566 with a "new" compiler, it will only be run on "new" Windows
567 versions. We want it to run on "old" versions, too, even if
568 compiled with a "new" compiler. There are two orthogonal issues:
569 whether the compiler defines the necessary API in its headers, and
570 whether it is present at run-time. (#318077)
572 * gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
573 Windows to get the localized weekday and month names. strftime()
574 in the Microsoft C library returns strings in the default codepage
575 for the locale of the process, not the system codepage. Thus
576 g_locale_to_utf8() isn't useable on the return value from
577 strftime(). (#322603)
579 2005-11-27 Matthias Clasen <mclasen@redhat.com>
581 * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup):
582 Fix an example. (#322493, Elie De Brauwer)
584 Fix two memory handling problems in GtkTreeView: (#322350,
587 * gtk/gtktreeview.c (gtk_tree_view_destroy)
588 (gtk_tree_view_set_model): Remove all references to nodes in
590 (gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
591 before removing the children.
593 * gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a
594 PangoLayout here. (#322505, Paolo Borelli)
596 2005-11-27 Tor Lillqvist <tml@novell.com>
598 Once again rework Win32 window decoration code. Doesn't break
599 #104514. The dialogs in gtk-demo now have the same decorations and
600 behaviour as on X11. Tried to fix #322516 but it seems very hard
601 to make the trivial sample program there behave as expected. OTOH,
602 simply moving the gtk_window_decorate() call in the #322516 sample
603 program after the call to gtk_widget_show() helps...
605 * gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
606 the correct semantics. Each call to gdk_window_set_decorations()
607 which calls this function is supposed to affect all decorations.
609 (decorate_based_on_hints): New function, looks at both geometry
610 hints and type hint and sets window decorations based on
611 that. Consolidate code from gdk_window_set_geometry_hints() and
612 gdk_window_set_type_hint() here.
614 (gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
615 decorate_based_on_hints().
617 2005-11-25 Dom Lachowicz <cinamod@hotmail.com>
619 * modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
620 Includes improved menu icon spacing, [+]/[-] expander drawing,
621 status-bar gippie drawing, and notebook tab drawing.
623 2005-11-24 Michael Natterer <mitch@imendio.com>
625 * gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
626 that used to hold signal handler IDs to two guint of padding.
628 * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
631 (gtk_toolbar_screen_changed): changed accordingly.
633 Wed Nov 23 18:55:47 2005 Tim Janik <timj@imendio.com>
635 * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
636 in terms of the GObject floating/sink API.
638 * gtk/gtkaboutdialog.c:
644 * gtk/gtkfilechooserdefault.c:
646 * gtk/gtkinvisible.c:
647 * gtk/gtkitemfactory.c:
650 * gtk/gtkmenutoolbutton.c:
654 * gtk/gtkspinbutton.c:
655 * gtk/gtkstatusicon.c:
659 * gtk/gtktoolbutton.c:
663 * gtk/gtktreeviewcolumn.c:
664 * gtk/gtkuimanager.c:
668 ported to use GObject's g_object_ref_sink().
671 * gtk/gtkfilechooserdefault.c:
672 * gtk/gtkaboutdialog.c:
673 fixed compiler warnings.
675 2005-11-23 Matthias Clasen <mclasen@redhat.com>
677 * gtk/gtksettings.c (gtk_settings_class_init): Add some docs
678 about gtk-color-scheme.
680 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
682 * configure.in (enable_explicit_deps): Fix typo when checking
683 libtool config deplibs_check_method. Moreover, enable explicit
684 deps if we get anything other than pass_all from libtool. (part of
687 2005-11-23 Matthias Clasen <mclasen@redhat.com>
689 * gtk/updateiconcache.c (write_csource): Don't create a big
690 string, since Visual C++ doesn't like strings longer than 64k.
691 (#322238, Kazuki IWAMOTO
693 * gtk/gtkentry.c: Include gtkimcontextsimple.h (#322235,
696 2005-11-23 Michael Natterer <mitch@imendio.com>
698 * gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
699 windows on other screens (correctly remove all temporary
702 2005-11-23 Michael Natterer <mitch@imendio.com>
704 Added symbolic themable colors. Patch is a merged version of
705 proposals from Matthias and maemo-gtk. Fixes bug #114355.
707 * configure.in: require glib >= 2.9.1 for refcountable hashtables.
709 * gtk/gtksettings.c: added property "color-scheme" which is a
710 string defining colors like "foreground:black\nbackground:grey".
711 Automatically provide a name->GdkColor hash table mapping for the
714 * gtk/gtkrc.[ch]: added list of color hashes that works like the
715 list of icon factories. Append the color scheme hash from
716 GtkSettings if it exists. Extended gtkrc syntax to allow defining
717 and referencing of logical colors. Also allow to modulate colors
718 in gtkrc by using arbitrary expressions of mix(), shade(),
719 lighter() and darker(). Added internal function
720 _gtk_rc_style_get_color_hashes().
722 * gtk/gtkstyle.[ch]: keep a private list of color hashes around.
723 Get the list from _gtk_rc_style_get_color_hashes(). Export
724 internal function _gtk_style_shade() (used by above color
725 expressions). Added public API gtk_style_lookup_color() which
726 looks up a logical color by name.
728 * gtk/gtk.symbols: add gtk_style_lookup_color
730 * tests/testgtkrc: use symbolic colors for making
733 2005-11-22 Michael Natterer <mitch@imendio.com>
735 Made button-press timeouts which work like key repeat timeouts
736 configurable. Addresses bug #142582:
738 * gtk/gtksettings.c: added properties "gtk-timeout-initial" and
739 "gtk-timeout-repeat" which defalt to 200/20 (ms).
741 Use the values from GtkSettings instead of hardcoding them
742 (the repeat value is either taken as-is for fast repeat or
743 multiplied by 5 for slow repeat). Changed all places to use these
744 two standard initial/repeat timings:
746 * gtk/gtkcalendar.c (unchanged 200/20)
747 * gtk/gtknotebook.c (unchanged 200/100)
748 * gtk/gtkpathbar.c (changed from 300/150 to 200/100)
749 * gtk/gtkrange.c (changed from 250/100 to 200/100)
750 * gtk/gtkspinbutton.c (unchanged 200/20)
752 2005-11-21 Anders Carlsson <andersca@imendio.com>
760 * docs/tools/Makefile.am:
761 Only build docshooter when the X11 backend is used.
763 * gtk/gtkplug-stub.c:
764 Include gtkplug.h here.
766 * gtk/gtksocket-stub.c:
767 Include gtksocket.h here.
769 2005-11-21 Matthias Clasen <mclasen@redhat.com>
771 * gtk/gtkinputdialog.c: Convert GtkInputDialog to
772 g_type_class_add_private.
774 * gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.
776 * gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.
779 * gtk/gtkcombobox.[hc]: Add a tearoff-title property,
780 with getter and setter. (#316482, Olexiy Avramchenko)
782 * tests/testcombo.c (main): Test gtk_combo_box_set_title
784 * gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
785 pointed out by Michael Natterer.
787 Fix for bug #321542, Benedikt Meurer:
789 * gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
792 (gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
793 g_signal_emit, not g_signal_emit_by_name.
795 2005-11-18 Matthias Clasen <mclasen@redhat.com>
797 Fix crashes in connection with pathbar scrolling (#321560,
800 * gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons):
801 Stop scrolling when desensitising slider buttons.
802 (gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press):
805 * gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
808 2005-11-18 Matthias Clasen <mclasen@redhat.com>
810 * gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
811 (#321777, Jens Granseuer)
813 * gtk/gtkaction.c (disconnect_proxy): Disconnect the
814 sync callback for the visibility property. (#321761,
817 Turn off input methods in invisible entries, since
818 they are confusing. (#317002, James Su)
820 * gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
821 methods if visibility changes.
822 (popup_targets_received): Don't show the input method
823 menu if the entry is invisible.
825 2005-11-17 Matthias Clasen <mclasen@redhat.com>
827 * README.in: Add a note about range arrow sensitivity.
829 * perf/treeview.c: const correctness fixes
830 found by Arjan van de Ven and gcc.
832 2005-11-16 Michael Natterer <mitch@imendio.com>
834 * gtk/gtkimage.c (animation_timeout): call
835 gtk_window_process_updates() so the animation keeps running even
836 if the main loop is busy with sources that eat a lot of cpu with
837 high priority. Fixes bug #321444.
839 (gtk_image_new_from_animation): document the fact that the
840 animation will stop running if the main loop is busy with sources
841 that have priorities higher than G_PRIORITY_DEFAULT.
843 * tests/testimage.c: added test case that shows an animation even
844 though a cpu-eating idle function is running.
846 2005-11-16 Michael Natterer <mitch@imendio.com>
848 * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
849 function which destroys the display's event source. Also removes
850 the source from the global display_sources list and unrefs it.
852 * gdk/x11/gdkprivate-x11.h: declare the function.
854 * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
855 instead of half-destroying the source here.
857 2005-11-15 Matthias Clasen <mclasen@redhat.com>
859 * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
860 leak. (#321032, Peter Zelezny)
862 2005-11-15 Michael Natterer <mitch@imendio.com>
864 * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
865 display->xid_ht as late as possible (right before XCloseDisplay)
866 because it still needs to be around when the display's screens are
869 2005-11-14 Matthias Clasen <mclasen@redhat.com>
871 * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
872 leak result. (#321441, Tommi Komulainen)
874 2005-11-14 Matthias Clasen <mclasen@redhat.com>
876 * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
877 Don't crash if there is no builtin icon.
879 2005-11-14 Michael Natterer <mitch@imendio.com>
881 * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
882 removed redundant calls to g_object_notify().
884 2005-11-13 Matthias Clasen <mclasen@redhat.com>
886 * gdk/gdkcolor.c (gdk_color_parse): Documentation
887 improvements. (#321338)
889 * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
890 limit an inclusive boundary. (#321299)
892 2005-11-12 Michael Natterer <mitch@imendio.com>
894 * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
897 2005-11-12 Dom Lachowicz <cinamod@hotmail.com>
899 * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32
900 theme's handling of toolbars, handleboxes, and menubars more in-line
901 with Microsoft's IE style.
902 * modules/engines/ms-windows/*.c: Indentation cleanups
904 2005-11-12 Matthias Clasen <mclasen@redhat.com>
906 Make builtin icons work in gtk_window_set_icon_name()
907 (#321046, Maxim Udushlivy)
909 * gtk/gtkicontheme.c (insert_theme): Always insert the default
911 (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
913 (theme_lookup_icon, find_builtin_icon): ...and not from here.
914 (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
915 (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
917 2005-11-12 Tor Lillqvist <tml@novell.com>
919 * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
920 dotfiles, no such convention on Win32. Just hide files with the
921 hidden attribute. (#314627)
923 2005-11-11 Federico Mena Quintero <federico@ximian.com>
925 * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
926 check whether the path is a folder. It is useful to bookmark
927 files as well (e.g. todo.txt), and this will also help
929 (shortcuts_add_bookmark_from_path): Likewise.
930 (shortcuts_activate_iter): Change folders or select files, as
933 2005-11-11 Federico Mena Quintero <federico@ximian.com>
935 * tests/autotestfilechooser.c (main): Use
936 g_log_set_default_handler() instead of explicitly setting a
937 handler for each domain.
939 * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
940 the base path of the volume if it is mounted.
942 2005-11-11 Michael Natterer <mitch@imendio.com>
944 Added per-stepper API for GtkRange's stepper sensitivity as
945 discussed in bug #321056:
947 * gtk/gtkenums.h: added GtkSensitivityType which can be
950 * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
951 and "upper-stepper-sensitivity" and public getters/setters for
952 them. Changed stepper drawing to honor the new properties.
954 * gtk/gtk.symbols: added the new symbols.
956 2005-11-10 Matthias Clasen <mclasen@redhat.com>
958 * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
959 emit them when the popup is shown or hidden. (#162531, Tommi
962 * tests/testcombo.c: Add an example of popuplating a combobox
965 * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
968 * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
971 Don't corrupt odd keymaps (#316638, Kean Johnston)
973 * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
974 handle frobbing keymaps with odd numbers of syms/code.
976 * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to
979 Improve navigation to parent folders. (#318444, Andrei Yurkevich)
981 * gtk/gtkpathbar.[hc]: Add a child_path argument to
982 the path_clicked signal.
983 * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
984 child_path, if it is provided.
985 * gtk/marshalers.list (path_bar_clicked): Add the necessary
988 * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
993 * gtk/gtktreeview.c: Implement a getter for headers-clickable.
994 (#163851, Richard Hult)
996 2005-11-10 Michael Natterer <mitch@imendio.com>
998 Applied patch from maemo-gtk that addresses many issues wrt
999 display migration and display closing (bug #85715).
1001 * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
1002 default display to NULL when it's closed. Instead set the most
1003 recently opened display as new default (if one exists).
1005 * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
1008 * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
1009 exist before unrefing them.
1011 * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
1012 is closed, allow destruction of the root window.
1014 * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
1015 dispose(), free stuff that was leaked before.
1017 * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
1018 the xsettings_client still exists before destroying it.
1020 * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
1023 * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
1024 dispose() implementation.
1026 * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
1027 dispose() and check if it still exists before unrefing it. Set
1028 their pointers to NULL/None *after* upchaining in dispose(),
1029 because X11 implementations of members of the parent class still
1030 need them for their own destruction.
1032 * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
1033 was g_error()ing when finalizing a visual.
1035 * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
1036 get_clipboard_widget() because it would create the widget if it
1037 doesn't exist. Use g_object_get_data() directly instead.
1039 * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
1042 2005-11-10 Simos Xenitellis <simos@gnome.org>
1044 * configure.in: Added Tatar (tt) to ALL_LINGUAS.
1046 Wed Nov 9 16:29:42 2005 Tim Janik <timj@imendio.com>
1048 * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
1049 to render its arrows insensitive when the adjustment is in
1050 its min or max position. this makes range arrow behaviour
1051 consistent with spin button behaviour. (#321056)
1053 2005-11-09 Tor Lillqvist <tml@novell.com>
1055 * gdk/gdkinternals.h
1056 * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
1057 the GdkDebugFlag enum.
1059 * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
1060 this file instead of MISC. Now asking for MISC will give mainly
1061 window manipulation debugging output with the Win32 backend.
1063 2005-11-09 Tor Lillqvist <tml@novell.com>
1065 * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
1067 (_gdk_win32_get_adjusted_client_rect): Remove this two-line
1068 function which was used only in one place.
1070 (get_outer_rect): Use _gdk_win32_adjust_client_rect().
1072 (gdk_window_set_geometry_hints): If we have identical minimum and
1073 maximum size hints, remove the resize and maximize
1074 decorations/functions. (#104514)
1076 If we have a maximum size hint, remove the maximize
1077 decoration/function but ensure the resize decoration/function is
1078 available. Otherwise ensure both resize and maximize
1079 decorations/functions are there.
1081 (set_or_clear_style_bits): Factored out common code from
1082 gdk_window_set_decorations() and gdk_window_set_functions().
1084 Hack the window style setting once more: Only touch the window
1085 style bits corresponding to the GdkWMDecoration or GdkWMFunction
1086 parameter bitmasks. Hopefully this finally is the correct thing to
1087 do. We used to clear all other bits than those that were being
1088 set, or set all other bits than those that were being cleared.
1090 Take into account that adding or removing decorations leaves the
1091 window's outer size unchanged, i.e., the client area's size and
1092 position change. This is apparently not what we want, so change
1093 also the window's (outer) position and size appropriately so that
1094 the client area's position and size stay constant.
1096 gtk-demo's color selector dialog is now non-resizable like on X11
1097 (I tested with metacity in GNOME). Torn off menus are shrinkable
1098 vertically but have a maximum size, and are not maximizable or
1099 minimizable, like on X11.
1101 (gdk_window_set_decorations, gdk_window_set_functions): Let
1102 set_or_clear_decorations() do most of the job.
1104 * gdk/win32/gdkprivate-win32.h: Remove declaration of
1105 _gdk_win32_get_adjusted_client_rect().
1107 2005-11-09 Tor Lillqvist <tml@novell.com>
1109 * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
1110 * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
1111 gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
1112 type hint. Implement gdk_window_get_type_hint() by just returning
1115 2005-11-09 Tor Lillqvist <tml@novell.com>
1117 * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1118 Remove code that has been permanently ifdeffed out for two years.
1120 2005-11-08 Matthias Clasen <mclasen@redhat.com>
1122 * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
1123 finalizing a gc. (#320789, Nickolay V. Shmyrev)
1125 * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
1126 icons if they would make the request large enough to cause
1127 Xlib to loose the connection. (#320909, Claudio Saavedra)
1129 2005-11-08 Michael Natterer <mitch@imendio.com>
1133 * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
1134 extracted from maemo-gtk). Fixes bug #320872.
1136 2005-11-07 Matthias Clasen <mclasen@redhat.com>
1138 * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
1139 looks the bookmark label when reordering. (#320720, Jeremy Cook)
1141 * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
1142 Don't grab focus when a slider button is pressed, instead, use
1143 a bit in the pathbar struct to determine whether to scroll up
1144 or down. (#314486, Carlos Garnacho)
1146 * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
1147 Don't popup the completions if the focus has already been
1148 moved somewhere else. (#319914, Christian Persch)
1150 * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured):
1151 Raise the drag_window after reconfiguring the
1152 toolbar. (#320803, Christian Persch)
1155 * gtk/gtkfilechooserbutton.h:
1156 * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
1157 with setter and getter. (#318945, Christian Persch)
1159 Mon Nov 7 16:15:16 2005 Tim Janik <timj@imendio.com>
1161 * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
1163 2005-11-07 Matthias Clasen <mclasen@redhat.com>
1165 * configure.in: Adjust to the stock icon changes.
1167 2005-11-07 Tor Lillqvist <tml@novell.com>
1169 * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
1170 Correct the calculation of maskstride. (#320152, Peter Zelezny)
1172 2005-11-06 Michael Natterer <mitch@imendio.com>
1174 * gtk/Makefile.am (icons): fixed rule to actually create the
1175 symlinks, erroring out if anything goes wrong.
1177 2005-11-06 Tor Lillqvist <tml@novell.com>
1179 * gtk/updateiconcache.c (build_cache): Can't rename a file if the
1180 target exists on Win32. First rename the target temporarily, then
1181 if the renaming of the source to target fails, restore the
1182 original name for the target.
1184 * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
1186 2005-11-06 Tor Lillqvist <tml@novell.com>
1188 (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
1189 like pixbuf_to_hbitmaps_normal().
1190 (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
1191 G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
1192 setting the G_WIN32_PRETEND_WIN9X environment variable.
1194 2005-11-06 Tor Lillqvist <tml@novell.com>
1196 Make icon masks work on Win98 (#320152, Peter Zelezny)
1198 * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
1199 parameter for the depth of the bitmap, so that this function can
1200 be used to create 1-bit bitmaps, too.
1201 (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
1202 and initialize it properly.
1204 2005-11-04 Matthias Clasen <mclasen@redhat.com>
1206 Store builtin stock icons in an icon cache, instead of
1207 populating a hash table with pixbufs at startup, to save both
1208 memory and startup time.
1210 * gtk/stock-icons/*: Reorganize the icons in a directory structure
1211 suitable for gtk-update-icon-cache, and rename them to match the
1214 * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
1215 add _gtk_icon_cache_has_icon_in_directory().
1217 * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
1218 to store the contents of the icon cache in a C header.
1220 * gtk/gtkbuiltincache.h: Generated private header which contains
1221 the icon cache for the builtin icons.
1223 * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
1224 icons, and use that in addition to the hash table whenever
1225 builtin icons are searched.
1227 * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
1228 use it for static stock ids.
1229 (get_default_icons): Don't add the builtin
1230 icons to the icon theme, just register the stock ids.
1231 (render_fallback_image): Take the fallback image out of the
1234 * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add
1235 the necessary machinery to rebuild gtkbuiltincache.h.
1237 2005-11-04 Michael Natterer <mitch@imendio.com>
1239 * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
1240 from maemo-gtk that changes the mtime check for rc files from
1241 '>' to '!=', otherwise theme changes go unnoticed when turning
1242 back the clock (Tommi Komulainen).
1244 2005-11-04 Tor Lillqvist <tml@novell.com>
1246 * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
1249 2005-11-03 Tor Lillqvist <tml@novell.com>
1251 * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
1252 the Win32 backend, check that GdkDisplay* parameters are equal to
1253 _gdk_display instead of using the unnecessarily general
1256 (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
1257 color bitmap to have "color" in their name, for similarity with
1258 pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
1259 too, instead of creating a b&w bitmap with CreateBitmap(). Set up
1260 the mask bitmap's contents, ones for those pixels in the color
1261 bitmap where the alpha is zero, zero for other pixels. We used to
1262 use an uninitialized mask bitmap! This meant that icons and
1263 cursors created presumably worked more or less by accident.
1264 Totally blank icons with zero alpha everywhere (as used by
1265 gtktrayicon.c) definitely did not work as expected.
1267 * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
1269 * gtk/gtkstatusicon.c: Implement for Win32. Use code from
1270 gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
1271 necessary and can be removed from CVS. It has never been mentioned
1272 in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
1273 are used on Win32. One label widget is used (but never shown) as
1274 gtk_widget_render_icon() needs a widget.
1276 Ifdefs used as necessary in several places. It might be cleaner to
1277 split out the backend-specific parts to separate files, or at
1278 least collect them into separate blocks in the file.
1280 (wndproc): New function. Window procedure to monitor mouse events
1281 in the system tray icon. Call gtk_status_icon_button_press() as
1283 (create_tray_observer): New function. Creates a hidden window that
1284 only serves as a tray icon message observer.
1286 * tests/teststatusicon.c (icon_activated): Position the dialog
1287 with GTK_WIN_POS_CENTER.
1288 (do_quit): New function, hide and unref the GtkStatusIcon, and
1289 call gtk_main_quit().
1290 (popup_menu): Add a Quit menu item that calls do_quit().
1292 2005-11-02 Tor Lillqvist <tml@novell.com>
1294 * gdk/win32/gdkcolor-win32.c
1295 * gdk/win32/gdkscreen-win32.c
1296 * gdk/win32/gdkwindow-win32.c: Whitespace consistency
1297 fixes. Remove superfluous test for GdkWindow* parameters being
1298 non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
1299 GdkScreen and one GdkDisplay in the Win32 backend, use those
1300 variables instead of the getter functions. For GdkDisplay* and
1301 GdkScreen* parameters, check that they are equal to the
1302 corresponding singleton variables instead of the more general
1303 GDK_IS_DISPLAY() or GDK_IS_SCREEN().
1305 2005-11-02 Matthias Clasen <mclasen@redhat.com>
1307 * gtk/gtktextview.c: Remove some g_return_if_fail() from
1308 static functions, replace some others by g_assert().
1310 * gtk/gtktextview.c (selection_motion_event_handler)
1311 (gtk_text_view_start_selection_drag): Keep track of the original
1312 selection boundaries during a drag selection, in order to correctly
1313 decide when to extend or shrink the selection. (#320167,
1314 reported by Arvind S N, patch by Paolo Borelli)
1316 * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets):
1317 * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
1318 manual offset calculations by g_utf8_offset_to_pointer().
1319 (#320360, Paolo Borelli)
1321 Tue Nov 1 16:18:24 2005 Tim Janik <timj@imendio.com>
1323 * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free
1324 nodes via the g_slice_*() API.
1325 _gtk_rbtree_new(): fixed wrong node allocation via g_new().
1327 2005-11-01 Tor Lillqvist <tml@novell.com>
1329 * gdk/win32/gdkprivate-win32.h
1330 * gdk/win32/gdkglobals-win32.c
1331 * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
1332 pre-interned GdkAtoms and pre-registered clipboard formats. Sort
1333 their declarations, definitions and assignments into a more
1334 logical and consistent order.
1336 * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
1337 CF_ prefix for the predefined clipboard format names. Put quotes
1338 around registered format names to distinguish them.
1340 * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
1341 immediately with a warning if the property type is STRING, TEXT,
1342 COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
1343 should never pretend to handle on Win32. Handle only UTF8_STRING
1344 here, other formats with delayed rendering. Use \uc1 instead of
1345 \uc0 when generating Rich Text Format for easier testability on
1346 XP, where WordPad misinterprets \uc0 encoded characters. Add more
1347 GDK_NOTE debugging output for Clipboard operations.
1349 * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
1350 (gdk_selection_convert): Don't pretent to handle STRING, just
1351 UTF8_STRING. Streamline error handling, don't unnecessarily have a
1352 GError which then isn't used for anything anyway if it gets set.
1353 (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
1354 COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
1356 * config.h.win32.in: Sync with what configure produces.
1358 * configure.in: Don't look for X_PACKAGES unless building for
1359 x11. (#313986, John Ehresman)
1361 2005-10-28 Erdal Ronahi <erdal.ronahi@gmail.com>
1363 * configure.in: Added ku (Kurdish) to ALL_LINGUAS
1364 Wondered why there was no ku there before??
1366 2005-10-28 Matthias Clasen <mclasen@redhat.com>
1368 * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
1369 window to the toplevels window group. (#319912, Christian Persch)
1371 2005-10-28 Kristian Rietveld <kris@gtk.org>
1373 * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
1376 2005-10-28 Matthias Clasen <mclasen@redhat.com>
1378 * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
1379 drag cursors. (#319200, Federico Mena Quintero)
1381 * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
1382 Shift-G to go to the previous match, like firefox. (#320061, Christian
1385 * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
1386 C99ism. (#320000, Kazuki Iwamoto)
1388 * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little
1389 stars. (#319985, Bastien Nocera)
1391 * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
1392 FALSE, so we don't flush repeatedly. (#319151, Alexander Larsson)
1394 2005-10-26 Michael Natterer <mitch@imendio.com>
1398 * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
1399 make sure that setting any of pixbuf/stock-id/icon-name resets the
1400 others because they are mutually exclusive, and that unsetting any
1401 of them only resets the pixbuf and nothing else. Also added
1402 some missing g_object_notify().
1404 (gtk_cell_renderer_pixbuf_get_property): simplified calls to
1405 g_value_set_object().
1407 (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
1408 (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
1409 g_object_notify ("pixbuf").
1411 2005-10-27 Matthias Clasen <mclasen@redhat.com>
1413 * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more
1414 careful about initializing cell_area. (#319382, Tommi
1417 * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
1418 Ctrl-PageUp/PageDown. (#318670, Christian Neumair)
1420 * demos/gtk-demo/clipboard.c (paste_received): Only set the
1421 text if it is not NULL. (#319930, Thomas Klausner)
1423 * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
1424 loader before trying to get the pixbuf. (#319930, Thomas Klausner)
1426 2005-10-26 Matthias Clasen <mclasen@redhat.com>
1428 * gtk/gtkfilesystem.c (gtk_file_system_module_load):
1429 * gtk/gtkthemes.c (gtk_theme_engine_load):
1430 * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
1431 when dlopening modules. (#319557, Laszlo Peter)
1433 2005-10-26 Matthias Clasen <mclasen@redhat.com>
1435 * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
1436 segments when determining text direction. (#319065, Tommi Komulainen)
1438 * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
1439 on duplicate destroy. (#318953, Gustavo Carneiro)
1441 * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog):
1442 Point out that destroy-with-parent is a bad idea for the dialog
1443 passed to this function. (#318943, Christian Persch)
1445 * */Makefile.am: use $(GLIB_MKENUMS) instead of
1446 glib-mkenums. (#318582, Damien Carbery)
1448 * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
1449 docs. (#317682, Christian Neumair)
1451 * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
1452 seem to affect the placement of the data in the readonly
1453 section, and causes problems with some compilers. (#317844)
1455 2005-10-25 Matthias Clasen <mclasen@redhat.com>
1457 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
1458 Fix some issues with background drawing in RTL. (#318781,
1461 * tests/Makefile.am:
1462 * tests/testentrycompletion.c: Apply a patch by Christian
1463 Persch to add property editors.
1465 * gtk/gtkstatusicon.c: Emit activate on single-click,
1466 not on double-click, change proposed by Milosz Derezynski.
1468 2005-10-25 Kristian Rietveld <kris@gtk.org>
1470 Fixes #311955, reported by Markku Vire; and a lot more.
1472 * gtk/gtktreemodelfilter.c: Made this thing work correctly.
1473 Levels can now have invisible nodes cached, functions have been
1474 rewritten/refactored to take this into account; also the logic in
1475 some functions has been corrected.
1477 Each referenced node now references all visible children or a single
1478 invisible child, in order to be able to monitor all changes in the
1479 child model required for correct operation.
1481 When a virtual root is set, all nodes on the virtual root level are
1484 At last, a bunch of random bug fixes and comment updates.
1486 2005-10-25 Matthias Clasen <mclasen@redhat.com>
1488 * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
1489 more docs. (#319722, Paolo Borelli)
1491 * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the
1492 initialization of screen_x11->xft_rgba more explicit. (#319627,
1495 * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
1496 in a blurb. (#319499, Francisco Javier F. Serrador)
1498 2005-10-24 Matthias Clasen <mclasen@redhat.com>
1500 Add settings to hide the input method and Unicode control character
1501 submenus in the context menus of GtkEntry and GtkTextView.
1503 * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
1505 * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
1507 * gtk/gtktextview.c (popup_targets_received):
1508 * gtk/gtkentry.c (popup_targets_received): Use the settings here.
1510 2005-10-24 Kristian Rietveld <kris@gtk.org>
1512 * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
1513 row-has-child-toggled when the level is not in the cache does not
1514 make sense. (This bug probably crept in during the early stages
1515 of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
1516 implementation yet),
1517 (gtk_tree_model_sort_real_unref_node): only get the child iter
1518 when we will actually also use it.
1520 2005-10-22 Michael Natterer <mitch@imendio.com>
1522 * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
1523 widget being realized, in addition to being visible, to avoid
1524 running into precondition check in gtk_tree_view_get_cell_area().
1527 2005-10-22 Dom Lachowicz <cinamod@hotmail.com>
1529 * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style):
1530 Experimentally, scrollbar steppers can shrink to 8 pixels on
1531 Win32. Reflect that in the theme.
1532 * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
1533 there is a 1-pixel border between a scrollbar and its child
1534 in ScrolledWindows on Win32. Reflect that in the theme.
1536 2005-10-20 Matthias Clasen <mclasen@redhat.com>
1538 * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
1539 for the selection window. (#318806, Alex Larsson)
1541 2005-10-18 Federico Mena Quintero <federico@ximian.com>
1545 * tests/autotestfilechooser.c
1546 (test_button_folder_states_for_action): Test that we have either
1547 $cwd or the explicitly-set folder.
1548 (test_reload_sequence): Likewise.
1550 * gtk/gtkfilechooserdefault.c
1551 (gtk_file_chooser_default_get_current_folder): If our reload_state
1552 is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
1554 2005-10-14 Tor Lillqvist <tml@novell.com>
1556 * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
1557 It didn't really do anything useful, and was just confusing and
1558 incomplete. Comments claimed we don't do delayed rendering, but in
1559 fact we do, for images. (The delayed rendering code has other
1560 problems, though, see #168173.) The clipboard viewer code was
1561 probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
1562 the message when necessary). It was just test code, it said so in
1563 a comment. Add something similar back later if necessary.
1565 (_win32_on_clipboard_change,
1566 _gdk_win32_register_clipboard_notification): Remove.
1568 (gdk_display_supports_selection_notification,
1569 gdk_display_request_selection_notification): Always just return
1570 FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
1572 2005-10-13 Tor Lillqvist <tml@novell.com>
1574 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
1575 Alt-Enter specially. It does not have any special meaning and
1576 should be passed on to the application. (#318378, Tim Evans)
1578 2005-10-13 Tor Lillqvist <tml@novell.com>
1580 Set visual depth to 24 for 32 bits-per-pixel devices on
1581 Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
1582 optimized composite_0888() function rather than the slower image
1583 dithering functions to draw pixbufs (#313993, John Ehresman)
1585 * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
1586 _gdk_windowing_get_bits_for_depth() to initialize
1587 GdkImage::bits_per_pixel.
1588 (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
1590 * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
1591 _gdk_windowing_get_bits_for_depth() to initialize
1592 BITMAPINFOHEADER::biBitCount.
1594 * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
1595 GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
1598 2005-10-12 Stefan Kost <ensonic@users.sf.net>
1600 * demos/gtk-demo/appwindow.c: (about_cb):
1601 use PACKAGE_VERSION,bump year (#318654)
1603 2005-10-11 Matthias Clasen <mclasen@redhat.com>
1605 * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off
1606 toggle here with the matching on toggle if it immediately follows.
1607 This is a common case, and handling it here prevents quadratic blowup
1608 in cleanup_line() below. (#317125)
1610 * gtk/gtktextsegment.h:
1611 * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
1612 the character counts into this function instead of computing them
1615 2005-10-10 Tommi Komulainen <tommi.komulainen@iki.fi>
1617 * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
1619 * gtk/gtkfilechooserdefault.c
1620 (gtk_file_chooser_default_add_shortcut_folder): Return an error code
1621 when the shortcut already exists in the sidebar. (#147521)
1623 2005-10-09 Matthias Clasen <mclasen@redhat.com>
1625 * tests/testcombo.c: Demonstrate how to use custom widgets in
1628 2005-10-07 Federico Mena Quintero <federico@ximian.com>
1632 * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
1633 the the result of gtk_file_chooser_get_folder() is NULL or
1634 non-NULL at the right times. Log the tests.
1635 (test_button_folder_states): New test for the initial states of
1636 the current folder in GtkFileChooserButton.
1637 (main): Test that the number of warnings/errors/critical errors is
1640 * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
1641 Clarify the documentation on when this can return NULL.
1642 (gtk_file_chooser_get_current_folder_uri): Likewise.
1644 * gtk/gtkfilechooserbutton.c (struct
1645 _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
1646 we use it to keep track of whether a folder has been set.
1647 (gtk_file_chooser_button_map): Implement. If no folder has been
1648 loaded before, we at least try to load $cwd here.
1649 (gtk_file_chooser_button_constructor): If the construct-time
1650 dialog already has a folder set, turn on our folder_has_been_set
1652 (dialog_current_folder_changed_cb): Turn on our
1653 folder_has_been_set flag.
1655 2005-10-07 Michael Natterer <mitch@gimp.org>
1657 * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
1658 PROFILE_FILE_CHOOSER because they break compilation after the
1659 removal of <unistd.h>.
1661 2005-10-07 Matthias Clasen <mclasen@redhat.com>
1663 * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
1664 by moving it out of the profiling ifdef.
1666 * gtk/gtkfilechooserdefault.c: Remove a redundant (and
1667 unconditional) include of unistd.h (#318211, Kazuki Iwamoto)
1669 * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
1670 g_return_val_if_fail(), not g_return_if_fail(). (#318412,
1673 2005-10-06 Matthias Clasen <mclasen@redhat.com>
1676 * gtk/gtktextbuffer.h:
1677 * gtk/gtktextbuffer.c: Add a readonly has-selection property
1678 with a getter. (#318161, Paolo Borelli)
1680 2005-10-05 Matthias Clasen <mclasen@redhat.com>
1682 * README.in: Start collecting release notes for 2.10.
1684 * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
1685 leak fix, since the assertion failures were traced to
1686 an xchat bug. (#314696)
1688 * gtk/gtkstyle.c (gtk_style_detach):
1689 (gtk_style_attach): Documentation improvements.
1690 (gtk_style_detach): Assert that the attach_count is > 0.
1692 2005-10-04 Federico Mena Quintero <federico@ximian.com>
1694 * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
1695 shortcut position, not a ShortcutsIndex, to make the function more
1697 (home_folder_handler): Pass the resolved index to
1698 switch_to_shortcut(), rather than just SHORTCUTS_HOME.
1699 (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
1700 (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
1701 binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0. These
1702 make the respective key switch to the first, second, ..., tenth
1704 (quick_bookmark_handler): Implement.
1706 2005-10-04 Federico Mena Quintero <federico@ximian.com>
1708 * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
1709 Desktop; just use their real names on the file system for the
1712 * gtk/gtkfilechooserdefault.c
1713 (gtk_file_chooser_default_class_init): Add a "desktop-folder"
1714 binding signal, and bind it to M-d by default.
1715 (desktop_folder_handler): Implement the default handler.
1716 (home_folder_handler): Use a helper function.
1717 (switch_to_shortcut): New helper function.
1718 (shortcuts_append_home): Don't special-case the name of "Home";
1719 just use the folder name.
1721 2005-10-04 Tor Lillqvist <tml@novell.com>
1723 * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
1724 HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
1726 2005-10-04 Matthias Clasen <mclasen@redhat.com>
1728 * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
1729 from yesterday, since it leads to assertion failures. (#317879,
1732 2005-10-03 Matthias Clasen <mclasen@redhat.com>
1734 * gtk/gtkcalendar.c (gtk_calendar_init): Call
1735 calendar_compute_days() after setting priv->week_start.
1737 2005-10-03 Matthias Clasen <mclasen@redhat.com>
1739 * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
1740 removing it from the hash table. (#314696, Benjamin Berg)
1742 2005-10-01 Tor Lillqvist <tml@novell.com>
1744 * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
1745 BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
1746 is that the the desktop isn't visible because the session has been
1747 switched, the screen is locked, or a terminal server session
1748 disconnected, so no error message necessary. (#137796)
1750 It is of course remotely possible that BitBlt() failing with
1751 ERROR_INVALID_HANDLE might also be caused by some other
1752 problem. We could strive for perfection and track whether the
1753 desktop is visible by using WTSRegisterSessionNotification() and
1754 handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
1755 this issue, though. If we would track desktop visibility, we
1756 should then avoid even trying to update the display at all while
1757 the desktop isn't visible.
1759 2005-09-30 Matthias Clasen <mclasen@redhat.com>
1761 * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
1762 to correct the calculations for the first week day. We may
1763 just have to remove this code if too many locales turn out
1764 to have broken data.
1766 * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
1767 some cases. (#317611, Tommi Komulainen)
1769 * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
1770 Prevent overflow when storing size hints in an unsigned
1771 short variable. Tracked down by Ray Strode and Søren Sandmann.
1773 2005-09-29 Matthias Clasen <mclasen@redhat.com>
1775 * gtk/gtkbutton.c (gtk_button_set_image): Check arguments. (#317491,
1778 * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
1779 grab shadowed. (#317332)
1781 2005-09-29 Tor Lillqvist <tml@novell.com>
1783 * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
1785 2005-09-28 Federico Mena Quintero <federico@ximian.com>
1787 * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
1788 if the unmap test fails.
1789 (test_reload_sequence): Use gtk_widget_show_now() instead of
1790 gtk_widget_show() for the dialog.
1791 Thanks to Tim Janik for noticing these.
1793 2005-09-28 Federico Mena Quintero <federico@ximian.com>
1795 * tests/testcellrenderertext.c: New file with a set of tests for
1796 GtkCellRendererText. The idea is to run a text renderer through
1797 most of its interesting property values to see that it works
1800 * tests/Makefile.am: Added testcellrenderertext.
1802 * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
1803 entry/exit of this function for profiling.
1804 (gtk_file_chooser_default_style_set): Mark the start/end of the
1805 calls to the parent class and the the signal emission for profiling.
1807 2005-09-29 Tor Lillqvist <tml@novell.com>
1809 * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
1810 passed to bindtextdomain() which isn't UTF-8-aware, so convert to
1811 system codepage using g_win32_locale_filename_from_utf8().
1812 (#317457, Kazuki Iwamoto)
1814 2005-09-28 Matthias Clasen <mclasen@redhat.com>
1816 * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms
1817 here. (#317039, Paolo Borelli)
1820 * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
1821 to make this function work as boxed copy function. (#317455,
1824 * gtk/gtkclipboard.c (request_image_received_func): Don't unref
1825 NULL. (#316828, Tor Lillqvist)
1827 2005-09-28 Tor Lillqvist <tml@novell.com>
1829 * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
1832 2005-09-27 Federico Mena Quintero <federico@ximian.com>
1834 Don't reload the current folder unnecessarily on ::map().
1836 * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
1837 the reloading state.
1838 (struct _GtkFileChooserDefault): Added a "reload_state" field.
1840 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
1841 Initialize impl->reload_state.
1842 (gtk_file_chooser_default_map): Check the impl->reload_state; load
1843 a default folder if no folder has been set, or reload the current
1844 one only if we had been unmapped first.
1845 (gtk_file_chooser_default_update_current_folder): Set the
1846 reload_state to RELOAD_HAS_FOLDER.
1847 (gtk_file_chooser_default_unmap): Implement, and set the
1848 reload_state to RELOAD_WAS_UNMAPPED.
1849 (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
1850 here; they'll get (re)loaded on ::map() anyway.
1852 * gtk/gtkfilechooserwidget.c
1853 (gtk_file_chooser_widget_constructor): Don't set a default folder here.
1855 * tests/autotestfilechooser.c (test_action_widgets): Don't take in
1856 a dialog; build it ourselves.
1857 (test_reload): New test to ensure that we don't load the default
1858 folder more than once, and that we reload it when
1859 unmapping/remapping.
1860 (get_impl_from_dialog): New utility function.
1861 (test_widgets_for_current_action): Use get_impl_from_dialog().
1863 2005-09-27 Federico Mena Quintero <federico@ximian.com>
1865 * gtk/gtkfilechooserdefault.c
1866 (gtk_file_chooser_default_constructor): Mark the entry/exit of
1867 this function for profiling.
1868 (check_icon_theme): Likewise.
1869 (change_icon_theme): Likewise.
1870 (settings_notify_cb): Likewise.
1871 (gtk_file_chooser_default_screen_changed): Likewise.
1872 (update_chooser_entry): If the selection is empty, clear the file
1873 name entry only if we are in CREATE_FOLDER mode. In SAVE mode,
1874 nothing will be selected when the user starts typeahead in the
1875 treeview, and we don't want to clear the file name entry in that
1876 case --- the user could be typing-ahead to look for a folder name.
1877 Fixes bug #308332, patch by Jürg Billeter.
1879 2005-09-27 Matthias Clasen <mclasen@redhat.com>
1881 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
1882 Pop below the entry if there's more free space below the entry
1883 than above. (#316948, Tommi Komulainen)
1885 2005-09-26 Federico Mena Quintero <federico@ximian.com>
1887 Do not create the save mode-specific widgets in the open modes, so
1888 that we don't carry their baggage around.
1890 * gtk/gtkfilechooserdefault.c
1891 (gtk_file_chooser_default_constructor): Don't create the
1893 (save_widgets_create): Set the impl->save_widgets directly here,
1894 instead of passing the widgets back to the caller. Also, pack
1895 them into the impl's box.
1896 (update_appearance): Create or destroy the save widgets as
1897 appropriate. Set the action of the save_file_name_entry here.
1898 (shortcuts_add_current_folder): Set the active item in the
1899 save_folder_combo only if it exists.
1900 (gtk_file_chooser_default_set_property): Don't set the action of
1901 the save_file_name_entry here.
1902 (gtk_file_chooser_default_update_current_folder): Set the base
1903 folder of the save_file_name_entry only if the entry exists.
1904 (shortcuts_drag_data_received_cb): Cast the selection_data->data
1905 to (const char *) since that's what shortcuts_drop_uris() expects.
1906 (file_list_drag_data_received_cb): Likewise, for
1907 g_uri_list_extract_uris().
1909 2005-09-26 Tor Lillqvist <tml@novell.com>
1911 * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
1912 the shaped flag here, too. (#316871)
1913 (gdk_window_shape_combine_region): Currently unimplemented, so
1914 don't do anything to the shaped flag here.
1916 2005-09-26 Matthias Clasen <mclasen@redhat.com>
1918 Fix #316871, reported by Dan Winship:
1920 * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
1922 * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask)
1923 (gdk_window_shape_combine_region): Set it here.
1925 * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
1926 remove the child area for shaped windows.
1928 2005-09-23 Matthias Clasen <mclasen@redhat.com>
1930 * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
1931 Don't leak expander pixbufs. (#316946, Tommi Komulainen)
1933 2005-09-22 Michael Natterer <mitch@imendio.com>
1935 Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
1936 consistent with GTK+ terminology:
1938 * gtk/gtkcellrendererkeys.[ch]
1939 * tests/testkeys.c: removed...
1941 * gtk/gtkcellrendereraccel.[ch]
1942 * tests/testaccel.c: ...and added.
1947 * tests/Makefile.am: changed accordingly.
1949 2005-09-22 Matthias Clasen <mclasen@redhat.com>
1951 * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
1952 for the grab-broken-event signal, noticed by Damon Chaplin.
1954 2005-09-21 Tor Lillqvist <tml@novell.com>
1956 * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
1957 gdk_text_property_to_text_list_for_display,
1958 gdk_text_property_to_utf8_list_for_display,
1959 gdk_win32_selection_add_targets,
1960 _gdk_win32_selection_convert_to_dib): Free return value from
1962 (gdk_text_property_to_text_list_for_display): Drop GError variable
1963 that isn't actually used after being set.
1965 2005-09-20 Johan Dahlin <jdahlin@async.com.br>
1967 * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in
1970 2005-09-20 Tor Lillqvist <tml@novell.com>
1972 * gdk/win32/gdkselection-win32.c
1973 (gdk_selection_owner_get_for_display): Do return the correct owner
1974 for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
1975 a window GDK knows about). The reason to return NULL seems to have
1976 gone when in the fix for bug #163702 the artificial
1977 GDK_SELECTION_CLEAR event generation was removed from
1978 gdk_selection_send_notify_for_display(). Fixes bug #316552.
1980 2005-09-20 Matthias Clasen <mclasen@redhat.com>
1982 Avoid unnecessary XkbGetState() calls and XkbStateNotify
1983 events. (#151555, Søren Sandmann)
1985 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use
1986 XkbSelectEventDetails() to select XkbStateNotify events
1987 for only the state we care about.
1989 * gdk/x11/gdkprivate-x11.h:
1990 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
1991 the event into the function and update the keymap state from
1992 the state information contained in the event. Adjust all callers.
1994 2005-09-19 Matthias Clasen <mclasen@redhat.com>
1996 * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
1997 in multiple places to avoid segfaults if the index is out of range.
1998 (#316422, Guillaume Cottenceau)
1999 (gtk_icon_view_set_drag_dest_item):
2000 (gtk_icon_view_scroll_to_path): Fix a typo in the docs. (#316419,
2001 #316424, Guillaume Cottenceau)
2003 2005-09-18 Hans Breuer <hans@breuer.org>
2005 * gtk/gtktrayicon-win32.c : now handling events by hard-coded
2006 g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
2008 2005-09-18 Hans Breuer <hans@breuer.org>
2010 * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
2011 _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
2012 * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
2013 the icon and is blinking with teststatusicon. More to come ...
2015 2005-09-18 Hans Breuer <hans@breuer.org>
2017 * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
2018 cause gtkprogressbar.c has #include <config.h> conditionally; less
2019 noise from generated gtk.def
2020 * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
2022 * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
2023 For me it works as well as the *NIX implemenation, that is not at all.
2025 * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
2027 * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
2028 only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
2029 back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
2030 again - if compiled properly.
2032 * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
2033 already coming with Gtk+. Makes it compile on win32.
2035 2005-09-18 Guilherme de S. Pastore <gpastore@cvs.gnome.org>
2037 * README.cvs-commits: fixed some tiny typos
2039 2005-09-16 Tor Lillqvist <tml@novell.com>
2041 * modules/engines/ms-windows/msw_style.c (draw_extension,
2042 draw_box_gap): Check whether the widget actually is a GtkNotebook
2043 before treating it as such. Drop some unneeded local variables,
2044 use parameter with same information instead. (#316412)
2046 2005-09-15 Federico Mena Quintero <federico@ximian.com>
2048 * tests/autotestfilechooser.c: Start a set of automated tests for
2049 the file chooser. The only test in there right now doesn't pass
2050 yet. It specifies the intended behavior of the first optimization
2051 of a series which I'll do on the file chooser (see
2052 http://primates.ximian.com/~federico/news-2005-09.html#14 for the
2053 details of this optimization).
2055 * tests/Makefile.am: Added autotestfilechooser.c.
2057 * gtk/gtkfilechooserprivate.h (struct
2058 _GtkFileChooserDialogPrivate): Move all the file chooser's private
2059 structures to here, so that they can be accessed by
2060 tests/autotestfilechooser.c: _GtkFileChooserDialogPrivate,
2061 _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
2063 * gtk/gtkfilechooserdialog.c: See above.
2065 * gtk/gtkfilechooserwidget.c: See above.
2067 * gtk/gtkfilechooserdefault.c: See above.
2069 Thu Sep 15 15:27:55 2005 Tim Janik <timj@imendio.com>
2072 gtk_window_map_event(): new function to work around lost unmap requests.
2075 2005-09-14 Federico Mena Quintero <federico@ximian.com>
2077 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
2078 an easy-to-find profiling marker when starting to create a file
2080 (browse_files_model_finished_loading_cb): Likewise, for when the
2081 chooser is finished loading.
2083 2005-09-14 Tristan Van Berkom <tvb@cvs.gnome.org>
2085 * gtk/gtkcolorbutton.c: Check "color" argument in
2086 gtk_color_button_set_color ()
2088 2005-09-14 Matthias Clasen <mclasen@redhat.com>
2090 * gtk/gtklabel.c (gtk_label_get_type):
2091 * gtk/gtkbutton.c (gtk_button_get_type):
2092 * gtk/gtkwindow.c (gtk_window_group_get_type): No point in
2093 using a mem chunk for window groups, buttons, labels.
2095 * gtk/updateiconcache.c (foreach_remove_func): Fix
2096 a use-after-free bug. (#316256, Alexander Nedotsukov)
2098 2005-09-13 Matthias Clasen <mclasen@redhat.com>
2100 * gtk/*.c: Various cleanups. (#315360, Kjartan Maraas)
2102 * gdk/*.c: Various cleanups. (#315359, Kjartan Maraas)
2104 2005-09-13 Matthias Clasen <mclasen@redhat.com>
2106 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
2107 Let GDK_Return pass through in some more cases.
2109 * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
2110 activating the entry.
2112 * gtk/gtkiconview.c (gtk_icon_view_class_init):
2113 (gtk_icon_view_get_dest_item_at_pos): Fix typos in the
2114 docs. (#316008, #316027, #316121, Guillaume Cottenceau)
2116 * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
2117 (#316001, Guillaume Cottenceau)
2119 * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
2120 mistake in the docs. (#315993, Guillaume Cottenceau)
2122 * tests/testentrycompletion.c (create_simple_completion_model): Add
2123 some strings containing multibyte characters.
2125 * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix):
2126 Fix prefix insertion for multibyte characters. (#316095,
2129 * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
2130 * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
2131 return NULL if the widget is not realized. (#316023,
2132 Guillaume Cottenceau)
2134 2005-09-11 Matthias Clasen <mclasen@redhat.com>
2137 * gdk/gdkproperty.h:
2138 * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string):
2139 New function to avoid pointless strdups when creating atoms
2140 from static strings.
2143 * gtk/*.c: Use gdk_atom_intern_static_string() where
2146 2005-09-09 Matthias Clasen <mclasen@redhat.com>
2148 * gtk/gtkcellrendererkeys.h:
2149 * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
2150 and editing accelerators, a port of EggCellRendererKeys .
2154 * gtk/Makefile.am: Add the keys cell renderer.
2156 * tests/Makefile.am:
2157 * tests/testkeys.c: Test GtkCellRendererKeys
2159 2005-09-09 Matthias Clasen <mclasen@redhat.com>
2161 Make it possible to determine if a key event is for a
2164 * gdk/x11/gdkprivate-x11.h:
2165 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier):
2166 New function to determine if a keycode is mapped to a modifier.
2167 (get_xkb): Get the modmap.
2169 * gdk/x11/gdkevents-x11.c (translate_key_event): Set the
2170 is_modifier bit by calling _gdk_keymap_key_is_modifier().
2172 * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
2175 2005-09-09 Matthias Clasen <mclasen@redhat.com>
2177 * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an
2178 unused variable, noticed by Kjartan Maraas.
2180 2005-09-09 Matthias Clasen <mclasen@redhat.com>
2182 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event):
2183 Make drag reordering work properly for columns other than the
2184 first. (#315054, Dan Winship)
2186 * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle
2187 invalid fontnames better. (#136926, Michael R. Walton)
2189 Stop cursor blinking in non-editable regions of a text view.
2190 (#311508, Torbjörn Andersson)
2192 * gtk/gtktextview.c (gtk_text_view_check_cursor_blink):
2193 (cursor_blinks): Take editability into account when deciding
2194 whether the cursor blinks.
2195 (gtk_text_view_button_release_event):
2196 (gtk_text_view_move_cursor_internal): Update cursor blinking here.
2198 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
2199 Use connect_after to connect to the focus_out event. This
2200 ensures that the entry has already stopped blinking by the time
2201 we emit the edited signal. (#315229, Thomas Leonard)
2203 * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
2205 * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
2206 unsigned ints to -1. (#315481, Kjartan Maraas)
2208 * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
2209 to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
2210 (#314473, Stanislav Brabec)
2212 2005-09-09 Matthias Clasen <mclasen@redhat.com>
2214 * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
2215 memory handling. (#314975, Torsten Schoenfeld)
2217 * gtk/gtkiconview.c (gtk_icon_view_class_init):
2218 * gtk/gtkfilesel.c (gtk_file_selection_class_init):
2219 * gtk/gtkcombobox.c (gtk_combo_box_class_init):
2220 * gtk/gtklabel.c (gtk_label_class_init):
2221 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
2222 Stylistic improvements and clarifications for some blurbs.
2223 (#315520, Clytie Siddall)
2225 2005-09-09 Tor Lillqvist <tml@novell.com>
2227 * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
2228 display name. There is only one GdkDisplay on Win32, and
2229 constructing the display name isn't entirely trivial, so cacheing
2230 is probably worth it. For instance GIMP calls this function a lot.
2231 (gdk_display_open): Call gdk_display_get_name() to prime the
2233 (gdk_display_get_n_screens, gdk_display_get_screen,
2234 gdk_display_get_default_screen): Verify parameter correctness like
2235 the X11 backend does.
2237 * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
2238 Return a freshly allocated string, as the API specifies. Fixes a
2239 heap corruption problem that caused random errors and crashes in
2242 2005-09-07 Matthias Clasen <mclasen@redhat.com>
2244 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
2245 Make C-u commit and restart hex input if we are already in a
2248 2005-09-06 Matthias Clasen <mclasen@redhat.com>
2250 * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
2251 (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
2252 if they are mapped to the same modifier.
2254 * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
2255 to gtkstatusicon.c and gtktrayicon-x11.c
2257 * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
2258 default accel mod mask.
2260 * gtk/gtkaccelgroup.c (gtk_accelerator_parse):
2261 * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
2262 Don't use GDK_ALT_MASK.
2264 * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
2266 2005-09-06 Matthias Clasen <mclasen@redhat.com>
2268 Add support for extra virtual modifiers: (#85780, Owen Taylor)
2270 * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
2273 * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
2274 Mod2 - Mod5 and against Super, Hyper, Meta.
2276 * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
2277 * gtk/gtkaccelgroup.c (gtk_accelerator_parse)
2278 (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
2280 * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a
2281 modmap to maintain the information which X modifiers map to
2283 (get_xkb): Set up the modmap from the XKB tables.
2284 (update_keymaps): Set up the modmap from the information returned
2285 by XGetModifierMapping in the non-XKB case.
2287 * gdk/x11/gdkprivate-x11.h:
2288 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New
2289 function to set the virtual modifiers in the state.
2291 * gdk/x11/gdkevents-x11.c (translate_key_event): Call
2292 _gdk_keymap_add_virtual_modifiers here.
2294 * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super,
2295 Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
2298 2005-09-05 Matthias Clasen <mclasen@redhat.com>
2300 * gtk/gtkaction.c (connect_proxy): Set the label of a button
2301 if it has no child. (#315253, John Finlay)
2303 2005-09-02 Matthias Clasen <mclasen@redhat.com>
2305 * gtkimcontextsimple.h: Add a modifiers_dropped bit
2307 2005-09-02 Matthias Clasen <mclasen@redhat.com>
2309 * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
2310 on destroy to avoid problems when they are called on a destroyed
2311 widget. (#315135, John Cupitt)
2313 * gtk/gtkentry.c (gtk_entry_class_init):
2314 * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
2315 for Ctrl-Shift-A to unselect all. (#309301, Kathy Fernandes)
2317 * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
2318 code. Now we only steal a single key combination, Ctrl-Shift-U,
2320 A hex Unicode sequence must be started with Ctrl-Shift-U, followed
2321 by a sequence of hex digits entered with Ctrl-Shift still held.
2322 Releasing one of the modifiers or pressing space while the modifiers
2323 are still held commits the character. It is possible to erase
2324 digits using backspace.
2325 As an extension to the above, we also allow to start the sequence
2326 with Ctrl-Shift-U, then release the modifiers before typing any
2327 digits, and enter the digits without modifiers.
2328 (#82011, Owen Taylor)
2330 2005-09-02 Matthias Clasen <mclasen@redhat.com>
2332 * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
2333 we still need to deliver the destroy event. (#314980, Chris Lahey)
2335 * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset
2336 im context before committing \n or \t.
2338 2005-09-02 Alexander Larsson <alexl@redhat.com>
2340 * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
2341 (shortcuts_activate_volume):
2342 Handle base_path being null in the rest of the cases (#310270)
2344 2005-09-02 Tor Lillqvist <tml@novell.com>
2346 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
2347 cursor position also in root window coordinates. Prune out
2348 superfluous WM_MOUSEMOVE events even earlier, based on root window
2349 coordinates. Windows sends WM_MOUSEMOVE messages after a new
2350 window has ben mapped below the cursor even if the mouse doesn't
2351 move. We used to generate GDK_MOTION_NOTIFY in these cases. This
2352 confused at least gtk_menu_motion_notify(). (#314995)
2354 * gtk/gtkintl.h: No need to include config.h here. It caused
2355 warnings about GTK_LOCALEDIR being redefined on Win32 when
2356 compiling files where gtkintl.h is included after gtkprivate.h
2357 (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
2359 * gtk/gtkplug.c: Include config.h.
2361 2005-09-01 Matthias Clasen <mclasen@redhat.com>
2363 * gtk/gtkfilesystemunix.c: Pass statbufs down to
2364 xdg_mime_get_mime_type_for_file() where possible, to avoid
2367 * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
2368 typo. (#314921, Guillaume Cottenceau)
2370 * gdk/*.c: Intern some more strings.
2372 * gtk/*.c: Define an I_() macro and use it instead of the
2373 bulky g_intern_static_string().
2375 2005-08-31 Matthias Clasen <mclasen@redhat.com>
2377 * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
2378 instead of copying it.
2380 * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
2382 * gtk/*.c: Also intern static strings passed to
2383 g_object_set_data().
2386 * gtk/Makefile.am: Intern type names in code generated by
2391 * gdk/*.c: Intern type names before registering the type to avoid
2394 * configure.in: Require GLib 2.9.0
2396 2005-08-31 Matthias Clasen <mclasen@redhat.com>
2398 * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
2399 and add icon-size and icon-size-set properties. (#314172)
2401 * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
2402 groups across transient parents. (#312918, Christian Persch)
2404 * gtk/gtktreemodel.c: Some documentation fixes. (#314882,
2405 Guillaume Cottenceau)
2407 * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions):
2408 Fix a typo in the docs. (#314878, Guillaume Cottenceau)
2410 2005-08-30 Matthias Clasen <mclasen@redhat.com>
2412 * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
2413 make C-/ select all and C-\ unselect all. (#309301,
2416 * gtk/gtkimcontextsimple.c: Change the compose sequence for
2417 soft hyphen to be multi_key-minus-minus-space, and add
2418 compose sequences multi_key-minus-minus-period and
2419 multi_key-minus-minus-minus for en dash and em dash.
2420 (#172653, Christian Lohmaier)
2422 * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
2423 code. (#313946, Christian Persch)
2425 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
2426 fix for the default value of the "ui" property.
2428 2005-08-30 Matthias Clasen <mclasen@redhat.com>
2431 * gtk/gtkselection.h:
2432 * gtk/gtkselection.c: Add functions which look for text, image
2433 or uri targets in an array of atoms. (#314089, Mark Wielaard)
2436 * gtk/gtkselection.h:
2437 * gtk/gtkselection.c (gtk_selection_data_targets_include_uri):
2438 Add a function to check wether targets include uri.
2439 (#314092, Mark Wielaard)
2443 * gtk/gtkwindow.c: Add a deletable property with getter
2444 and setter, to control the close button in the window
2445 frame. (#59718, Havoc Pennington)
2447 2005-08-29 Matthias Clasen <mclasen@redhat.com>
2449 * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
2450 to the arrow keys for menu navigation. (#162825, Carl Worth)
2452 * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
2454 * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
2456 * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock):
2457 * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
2458 refer to nonexisting stock ids.
2460 * gtk/gtktextview.c (popup_targets_received):
2461 * gtk/gtkentry.c (popup_targets_received): Construct
2462 the "Select All" menuitem from stock.
2464 * gtk/stock-icons/stock_select_all_{16,24}.png:
2465 * gtk/stock-icons/Makefile.am:
2466 * gtk/gtkiconfactory.c:
2468 * gtk/gtkstock.c: Add a "Select All" stock item. (#78545,
2471 * gtk/gtktrayicon.c: Add a pointer to the spec.
2473 * gtk/gtkstatusicon-x11.c: Add docs.
2475 * gtk/gtkstatusicon.h: Fix a typo.
2477 Add a cross-platform "tray icon" API, by
2478 porting EggStatusIcon/EggTrayIcon (#105101)
2480 * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
2481 displays an icon in a notification area.
2483 * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
2484 X11, using GtkTrayIcon.
2486 * gtk/gtktrayicon.h:
2487 * gtk/gtktrayicon.c: An implementation of the freedesktop.org
2488 system tray specification, not public API.
2490 * gtk/gtk.symbols: Add new exported functions.
2492 * gtk/gtk.h: Include gtkstatusicon.h.
2494 * gtk/Makefile.am: Add new files.
2496 * tests/Makefile.am:
2497 * tests/teststatusicon.c: Test for GtkStatusIcon.
2499 2005-08-29 Christopher Aillon <caillon@redhat.com>
2501 * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
2502 and GTK_STOCK_DISCONNECT
2504 2005-08-29 Matthias Clasen <mclasen@redhat.com>
2506 * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify):
2507 Use XFixesChangeSaveSet if available. (#314682)
2509 * gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu
2510 was active. (#314298, Christian Persch, analysis by Mark McLoughlin)
2512 2005-08-29 Matthias Clasen <mclasen@redhat.com>
2514 * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
2515 accidentally leftover duplicate pixbuf creation. (#314700,
2518 * gtk/gtksettings.c (settings_update_cursor_theme): Don't
2519 leak the cursor theme name. (#314693, Kjartan Maraas)
2521 * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free
2522 state.children in all cases. (#313862, Kjartan Maraas)
2524 2005-08-28 Matthias Clasen <mclasen@redhat.com>
2526 * po/POTFILES.in, po-properties/POTFILES.in:
2529 2005-08-27 Matthias Clasen <mclasen@redhat.com>
2531 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
2532 value of the ui property. (#314532, Yong Wang)
2534 * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
2535 when G_MAXLONG is passed as length.
2537 2005-08-26 Matthias Clasen <mclasen@redhat.com>
2539 * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
2540 to avoid overloading --force. (JP Rosevaar)
2542 2005-08-26 Matthias Clasen <mclasen@redhat.com>
2544 * configure.in: Bump version to 2.9.0
2548 * gdk/gdkscreen.c: Make the GdkScreen font options api
2549 public, and add properties GdkScreen::font-options and
2550 GdkScreen::resolution. (#314004)
2553 * gtk/gtksettings.c:
2554 * gtk/gtkwidget.c: Adjust all callers.
2556 * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
2557 * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
2558 * gdk/gdkscreen.c: Include gdkintl.h.
2560 * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
2561 variable warning, pointed out by Colin Walters. (#314585)
2563 2005-08-26 Tor Lillqvist <tml@novell.com>
2565 * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
2567 (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
2569 2005-08-26 Matthias Clasen <mclasen@redhat.com>
2571 * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
2572 of week_start. (#314473, JP Rosevaar)
2574 2005-08-25 Thomas Fitzsimmons <fitzsim@redhat.com>
2576 * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
2577 lock. (#314533, Thomas Fitzsimmons)
2579 2005-08-25 Matthias Clasen <mclasen@redhat.com>
2581 * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
2582 NULL gracefully. (#314523, Ed Catmur)
2584 2005-08-25 Owen Taylor <otaylor@redhat.com>
2586 * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
2587 Handle theme == NULL.
2589 2005-08-25 Matthias Clasen <mclasen@redhat.com>
2591 * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
2592 y offset into account when positioning the popup. (#314470,
2595 2005-08-25 Owen Taylor <otaylor@redhat.com>
2597 * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
2598 as instance_init, not base_init! (#314452, Fix from Frederic
2599 Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
2600 rather than 1 for a negative flag value.
2602 2005-08-24 Owen Taylor <otaylor@redhat.com>
2604 * gdk/gdkpango.c (draw_error_underline): Add a note about
2605 cut-and-paste between here and Pango.
2607 2005-08-24 Matthias Clasen <mclasen@redhat.com>
2609 * === Released 2.8.2 ===
2611 * gtk/gtkclipboard.c (request_image_received_func): Use the correct
2612 callback for image/gif, and also try image/bmp. (#314086, Mark
2615 * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
2616 Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev. (#314382,
2621 * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
2622 and cursor settings get propagated down to the screen initially.
2623 Pointed out by Frederic Crozat.
2625 * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
2626 message if the screen is NULL. Noticed by Kjartan Maraas.
2628 2005-08-24 Matthias Clasen <mclasen@redhat.com>
2632 * === Released 2.8.1 ===
2636 2005-08-24 Matthias Clasen <mclasen@redhat.com>
2638 * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
2639 against lazy filterers which return values other than TRUE or
2640 FALSE from their visible func. (#314335)
2642 2005-08-23 Owen Taylor <otaylor@redhat.com>
2644 Fix for #314004, reported by Michael Reinsch:
2647 * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
2648 Add gdk_screen_get/set_resolution_libgtk_only()
2650 * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
2651 the options for the screen on the newly created context.
2653 * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c:
2654 Move font options and dpi code from gtkwidget.c to gtksettings.c, set
2655 the font options on the screen.
2657 * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
2658 the font options from the screen and set them on the context.
2660 2005-08-23 Kristian Rietveld <kris@gtk.org>
2662 * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
2663 bother inserting new rows in a level with a zero refcount and
2664 immediately free the level. (Fixes #312350, reported by Markku Vire).
2666 2005-08-23 Matthias Clasen <mclasen@redhat.com>
2668 * gtk/updateiconcache.c: Complain when there is no index.theme file
2669 in the specified directory, unless --force is used. Also add an
2670 --index-only option to create caches without image data.
2672 * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
2673 C99ism. (#314262, Robert Jeff Mitchell)
2675 2005-08-22 Manish Singh <yosh@gimp.org>
2677 * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
2679 * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
2681 2005-08-22 Matthias Clasen <mclasen@redhat.com>
2683 * gtk/gtkwindow.c (gtk_window_client_event):
2684 * gtk/gtkicontheme.c (ensure_valid_themes)
2685 (_gtk_icon_theme_check_reload): Implement a clientmessage based
2686 scheme for makeing sure that all GTK+ applications notice if an
2687 icon theme has been updated. This should prevent multiple versions
2688 of an icon theme cache to be mapped in memory at the same time,
2689 which can cause excessive memory consumption. (#313156, Chris
2692 2005-08-22 Matthias Clasen <mclasen@redhat.com>
2694 * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
2695 regarding icon theme changes.
2697 * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
2698 pixbufs which are backed by the mmapped memory of an icon cache,
2699 increase the refcount of the icon cache, so that the memory is not
2700 munmapped away underneath the pixbuf upon icon theme changes.
2701 (#314170, Kjartan Maraas)
2703 * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order
2704 to link against Xext. (#314062)
2706 * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
2707 overruns. (#314081, Hans Breuer)
2709 2005-08-20 Matthias Clasen <mclasen@redhat.com>
2711 * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
2712 returned layout must not be modified.
2714 Sat Aug 20 16:12:14 2005 Jonathan Blandford <jrb@redhat.com>
2716 * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
2717 scroll_to_path if the model changes.
2719 * gtk/gtkiconview.c: (gtk_icon_view_destroy),
2720 (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
2721 (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
2722 we're realized, #312798
2723 (gtk_icon_view_set_model): clear scroll_to_path if the model
2726 2005-08-20 Matthias Clasen <mclasen@redhat.com>
2728 * gtk/gtkrange.c (gtk_range_adjustment_changed)
2729 (gtk_range_adjustment_value_changed): Don't queue a draw
2730 if the layout has not changed. (#313991, Benjamin Berg)
2732 2005-08-19 Matthias Clasen <mclasen@redhat.com>
2734 * gtk/gtktreeitem.c: Remove duplicate lines. (#313344,
2737 * modules/engines/ms-windows/msw_style.c (setup_system_styles):
2740 * gtk/gtkfilechooserbutton.c (change_icon_theme)
2741 (model_add_special, model_add_special, model_add_volumes):
2742 Handle pixbuf being NULL without warnings. Also, don't
2743 leak pixbuf references when the icon theme is changed.
2745 * gtk/gtkmain.c (gtk_get_event_widget): Don't access
2746 the user data on destroyed windows, since at best
2747 it can be a stale pointer. (#313953, Robin Green)
2749 2005-08-19 Matthias Clasen <mclasen@redhat.com>
2751 * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.
2752 (#313900, Sebastien Bacher)
2754 * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
2755 FALSE if the tree is empty. (#313891, Guillaume Cottenceau)
2757 * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display)
2758 (xdnd_read_actions, get_client_window_at_coords_recurse):
2759 Free data returned from XGetWindowProperty.
2761 * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window)
2762 Free data returned from XGetWindowProperty. (313867, Kjartan
2765 * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
2766 children in all cases. (#313862, Kjartan Maraas)
2768 * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs
2769 in the per-directory hash, even if they come from the icon cache.
2770 We tried to avoid that before, but as a result leaked icon data
2771 structs. (#313852, Kjartan Maraas)
2773 2005-08-18 Matthias Clasen <mclasen@redhat.com>
2775 * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
2776 signal handlers on destroy, not on finalize. (#313759, Brett Atoms)
2778 2005-08-15 Owen Taylor <otaylor@redhat.com>
2780 * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
2781 files for x11/xext. (Jonas Bonn)
2783 2005-08-15 Tor Lillqvist <tml@novell.com>
2785 * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
2788 2005-08-15 Owen Taylor <otaylor@redhat.com>
2790 * configure.in: Fix have_base_pc / have_base_x_pc typo.
2792 * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
2793 (#313417, James Andrewartha)
2795 * configure.in: Add fontconfig to X_PACKAGES, since we use it for
2796 FcNameConstant(). (More of #313417)
2798 2005-08-15 Matthias Clasen <mclasen@redhat.com>
2800 * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
2801 modal dialogs, make sure to inherit the window group from
2802 the parent, since we don't inherit window groups across
2803 transient parents currently. (#312918, Christian Persch)
2805 * gtk/gtkmessagedialog.c (gtk_message_dialog_new):
2806 * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs.
2808 * gtk/gtkiconview.c (gtk_icon_view_select_path)
2809 (gtk_icon_view_scroll_to_path): Handle paths of depth 0
2810 gracefully. (#312796, Jonathan Blandford)
2812 * tests/testtoolbar.c: Add some more tests for menu placement.
2814 * gtk/gtkmenutoolbutton.c (menu_position_func):
2815 * gtk/gtktoolbar.c (menu_position_func): Improve positioning
2816 of toolbutton menus and of the overflow menu. (#312937,
2817 #153870, Christian Persch, Paolo Borelli)
2819 2005-08-15 Tor Lillqvist <tml@novell.com>
2821 * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
2822 the nonportable <libgen.h> and dirname().
2824 2005-08-15 Matthias Clasen <mclasen@redhat.com>
2826 * gtk/gtksizegroup.c: Use object data to mark widgets and
2827 groups as visited, so that we avoid constant extra list
2828 traversals. Also allocate quarks in class_init. (#311618,
2831 * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the
2832 download location for the hicolor icon theme. (#313475, Olexiy
2835 * gtk/gtkicontheme.c: Remove debug spew.
2837 2005-08-15 Owen Taylor <otaylor@redhat.com>
2839 * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap):
2840 * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap):
2841 * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
2842 Handle pixmap == NULL when checking for a colormap.
2845 2005-08-14 Matthias Clasen <mclasen@redhat.com>
2847 * gtk/updateiconcache.c: Store only one copy of the pixel data
2848 for symlinked icons. To achieve this, maintain a hashtable
2849 mapping pathnames to pixel data, and share the pixel data for
2850 all symlinks resolving to the same pathname. When writing out
2851 the image data, write out the pixel data only the first time
2852 it is met, and store the offset pointing to the first copy
2853 for use in all later cases.
2854 This reduces the size of the Bluecurve icon cache from 40