1 2005-09-29 Tor Lillqvist <tml@novell.com>
3 * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
5 2005-09-28 Federico Mena Quintero <federico@ximian.com>
7 * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
8 if the unmap test fails.
9 (test_reload_sequence): Use gtk_widget_show_now() instead of
10 gtk_widget_show() for the dialog.
11 Thanks to Tim Janik for noticing these.
13 2005-09-28 Federico Mena Quintero <federico@ximian.com>
15 * tests/testcellrenderertext.c: New file with a set of tests for
16 GtkCellRendererText. The idea is to run a text renderer through
17 most of its interesting property values to see that it works
20 * tests/Makefile.am: Added testcellrenderertext.
22 * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
23 entry/exit of this function for profiling.
24 (gtk_file_chooser_default_style_set): Mark the start/end of the
25 calls to the parent class and the the signal emission for profiling.
27 2005-09-29 Tor Lillqvist <tml@novell.com>
29 * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
30 passed to bindtextdomain() which isn't UTF-8-aware, so convert to
31 system codepage using g_win32_locale_filename_from_utf8().
32 (#317457, Kazuki Iwamoto)
34 2005-09-28 Matthias Clasen <mclasen@redhat.com>
36 * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms
37 here. (#317039, Paolo Borelli)
40 * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
41 to make this function work as boxed copy function. (#317455,
44 * gtk/gtkclipboard.c (request_image_received_func): Don't unref
45 NULL. (#316828, Tor Lillqvist)
47 2005-09-28 Tor Lillqvist <tml@novell.com>
49 * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
52 2005-09-27 Federico Mena Quintero <federico@ximian.com>
54 Don't reload the current folder unnecessarily on ::map().
56 * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
58 (struct _GtkFileChooserDefault): Added a "reload_state" field.
60 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
61 Initialize impl->reload_state.
62 (gtk_file_chooser_default_map): Check the impl->reload_state; load
63 a default folder if no folder has been set, or reload the current
64 one only if we had been unmapped first.
65 (gtk_file_chooser_default_update_current_folder): Set the
66 reload_state to RELOAD_HAS_FOLDER.
67 (gtk_file_chooser_default_unmap): Implement, and set the
68 reload_state to RELOAD_WAS_UNMAPPED.
69 (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
70 here; they'll get (re)loaded on ::map() anyway.
72 * gtk/gtkfilechooserwidget.c
73 (gtk_file_chooser_widget_constructor): Don't set a default folder here.
75 * tests/autotestfilechooser.c (test_action_widgets): Don't take in
76 a dialog; build it ourselves.
77 (test_reload): New test to ensure that we don't load the default
78 folder more than once, and that we reload it when
80 (get_impl_from_dialog): New utility function.
81 (test_widgets_for_current_action): Use get_impl_from_dialog().
83 2005-09-27 Federico Mena Quintero <federico@ximian.com>
85 * gtk/gtkfilechooserdefault.c
86 (gtk_file_chooser_default_constructor): Mark the entry/exit of
87 this function for profiling.
88 (check_icon_theme): Likewise.
89 (change_icon_theme): Likewise.
90 (settings_notify_cb): Likewise.
91 (gtk_file_chooser_default_screen_changed): Likewise.
92 (update_chooser_entry): If the selection is empty, clear the file
93 name entry only if we are in CREATE_FOLDER mode. In SAVE mode,
94 nothing will be selected when the user starts typeahead in the
95 treeview, and we don't want to clear the file name entry in that
96 case --- the user could be typing-ahead to look for a folder name.
97 Fixes bug #308332, patch by Jürg Billeter.
99 2005-09-27 Matthias Clasen <mclasen@redhat.com>
101 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
102 Pop below the entry if there's more free space below the entry
103 than above. (#316948, Tommi Komulainen)
105 2005-09-26 Federico Mena Quintero <federico@ximian.com>
107 Do not create the save mode-specific widgets in the open modes, so
108 that we don't carry their baggage around.
110 * gtk/gtkfilechooserdefault.c
111 (gtk_file_chooser_default_constructor): Don't create the
113 (save_widgets_create): Set the impl->save_widgets directly here,
114 instead of passing the widgets back to the caller. Also, pack
115 them into the impl's box.
116 (update_appearance): Create or destroy the save widgets as
117 appropriate. Set the action of the save_file_name_entry here.
118 (shortcuts_add_current_folder): Set the active item in the
119 save_folder_combo only if it exists.
120 (gtk_file_chooser_default_set_property): Don't set the action of
121 the save_file_name_entry here.
122 (gtk_file_chooser_default_update_current_folder): Set the base
123 folder of the save_file_name_entry only if the entry exists.
124 (shortcuts_drag_data_received_cb): Cast the selection_data->data
125 to (const char *) since that's what shortcuts_drop_uris() expects.
126 (file_list_drag_data_received_cb): Likewise, for
127 g_uri_list_extract_uris().
129 2005-09-26 Tor Lillqvist <tml@novell.com>
131 * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
132 the shaped flag here, too. (#316871)
133 (gdk_window_shape_combine_region): Currently unimplemented, so
134 don't do anything to the shaped flag here.
136 2005-09-26 Matthias Clasen <mclasen@redhat.com>
138 Fix #316871, reported by Dan Winship:
140 * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
142 * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask)
143 (gdk_window_shape_combine_region): Set it here.
145 * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
146 remove the child area for shaped windows.
148 2005-09-23 Matthias Clasen <mclasen@redhat.com>
150 * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
151 Don't leak expander pixbufs. (#316946, Tommi Komulainen)
153 2005-09-22 Michael Natterer <mitch@imendio.com>
155 Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
156 consistent with GTK+ terminology:
158 * gtk/gtkcellrendererkeys.[ch]
159 * tests/testkeys.c: removed...
161 * gtk/gtkcellrendereraccel.[ch]
162 * tests/testaccel.c: ...and added.
167 * tests/Makefile.am: changed accordingly.
169 2005-09-22 Matthias Clasen <mclasen@redhat.com>
171 * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
172 for the grab-broken-event signal, noticed by Damon Chaplin.
174 2005-09-21 Tor Lillqvist <tml@novell.com>
176 * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
177 gdk_text_property_to_text_list_for_display,
178 gdk_text_property_to_utf8_list_for_display,
179 gdk_win32_selection_add_targets,
180 _gdk_win32_selection_convert_to_dib): Free return value from
182 (gdk_text_property_to_text_list_for_display): Drop GError variable
183 that isn't actually used after being set.
185 2005-09-20 Johan Dahlin <jdahlin@async.com.br>
187 * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in
190 2005-09-20 Tor Lillqvist <tml@novell.com>
192 * gdk/win32/gdkselection-win32.c
193 (gdk_selection_owner_get_for_display): Do return the correct owner
194 for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
195 a window GDK knows about). The reason to return NULL seems to have
196 gone when in the fix for bug #163702 the artificial
197 GDK_SELECTION_CLEAR event generation was removed from
198 gdk_selection_send_notify_for_display(). Fixes bug #316552.
200 2005-09-20 Matthias Clasen <mclasen@redhat.com>
202 Avoid unnecessary XkbGetState() calls and XkbStateNotify
203 events. (#151555, Søren Sandmann)
205 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use
206 XkbSelectEventDetails() to select XkbStateNotify events
207 for only the state we care about.
209 * gdk/x11/gdkprivate-x11.h:
210 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
211 the event into the function and update the keymap state from
212 the state information contained in the event. Adjust all callers.
214 2005-09-19 Matthias Clasen <mclasen@redhat.com>
216 * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
217 in multiple places to avoid segfaults if the index is out of range.
218 (#316422, Guillaume Cottenceau)
219 (gtk_icon_view_set_drag_dest_item):
220 (gtk_icon_view_scroll_to_path): Fix a typo in the docs. (#316419,
221 #316424, Guillaume Cottenceau)
223 2005-09-18 Hans Breuer <hans@breuer.org>
225 * gtk/gtktrayicon-win32.c : now handling events by hard-coded
226 g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
228 2005-09-18 Hans Breuer <hans@breuer.org>
230 * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
231 _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
232 * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
233 the icon and is blinking with teststatusicon. More to come ...
235 2005-09-18 Hans Breuer <hans@breuer.org>
237 * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
238 cause gtkprogressbar.c has #include <config.h> conditionally; less
239 noise from generated gtk.def
240 * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
242 * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
243 For me it works as well as the *NIX implemenation, that is not at all.
245 * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
247 * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
248 only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
249 back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
250 again - if compiled properly.
252 * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
253 already coming with Gtk+. Makes it compile on win32.
255 2005-09-18 Guilherme de S. Pastore <gpastore@cvs.gnome.org>
257 * README.cvs-commits: fixed some tiny typos
259 2005-09-16 Tor Lillqvist <tml@novell.com>
261 * modules/engines/ms-windows/msw_style.c (draw_extension,
262 draw_box_gap): Check whether the widget actually is a GtkNotebook
263 before treating it as such. Drop some unneeded local variables,
264 use parameter with same information instead. (#316412)
266 2005-09-15 Federico Mena Quintero <federico@ximian.com>
268 * tests/autotestfilechooser.c: Start a set of automated tests for
269 the file chooser. The only test in there right now doesn't pass
270 yet. It specifies the intended behavior of the first optimization
271 of a series which I'll do on the file chooser (see
272 http://primates.ximian.com/~federico/news-2005-09.html#14 for the
273 details of this optimization).
275 * tests/Makefile.am: Added autotestfilechooser.c.
277 * gtk/gtkfilechooserprivate.h (struct
278 _GtkFileChooserDialogPrivate): Move all the file chooser's private
279 structures to here, so that they can be accessed by
280 tests/autotestfilechooser.c: _GtkFileChooserDialogPrivate,
281 _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
283 * gtk/gtkfilechooserdialog.c: See above.
285 * gtk/gtkfilechooserwidget.c: See above.
287 * gtk/gtkfilechooserdefault.c: See above.
289 Thu Sep 15 15:27:55 2005 Tim Janik <timj@imendio.com>
292 gtk_window_map_event(): new function to work around lost unmap requests.
295 2005-09-14 Federico Mena Quintero <federico@ximian.com>
297 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
298 an easy-to-find profiling marker when starting to create a file
300 (browse_files_model_finished_loading_cb): Likewise, for when the
301 chooser is finished loading.
303 2005-09-14 Tristan Van Berkom <tvb@cvs.gnome.org>
305 * gtk/gtkcolorbutton.c: Check "color" argument in gtk_color_button_set_color ()
307 2005-09-14 Matthias Clasen <mclasen@redhat.com>
309 * gtk/gtklabel.c (gtk_label_get_type):
310 * gtk/gtkbutton.c (gtk_button_get_type):
311 * gtk/gtkwindow.c (gtk_window_group_get_type): No point in
312 using a mem chunk for window groups, buttons, labels.
314 * gtk/updateiconcache.c (foreach_remove_func): Fix
315 a use-after-free bug. (#316256, Alexander Nedotsukov)
317 2005-09-13 Matthias Clasen <mclasen@redhat.com>
319 * gtk/*.c: Various cleanups. (#315360, Kjartan Maraas)
321 * gdk/*.c: Various cleanups. (#315359, Kjartan Maraas)
323 2005-09-13 Matthias Clasen <mclasen@redhat.com>
325 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
326 Let GDK_Return pass through in some more cases.
328 * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
329 activating the entry.
331 * gtk/gtkiconview.c (gtk_icon_view_class_init):
332 (gtk_icon_view_get_dest_item_at_pos): Fix typos in the
333 docs. (#316008, #316027, #316121, Guillaume Cottenceau)
335 * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
336 (#316001, Guillaume Cottenceau)
338 * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
339 mistake in the docs. (#315993, Guillaume Cottenceau)
341 * tests/testentrycompletion.c (create_simple_completion_model): Add
342 some strings containing multibyte characters.
344 * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix):
345 Fix prefix insertion for multibyte characters. (#316095,
348 * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
349 * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
350 return NULL if the widget is not realized. (#316023,
351 Guillaume Cottenceau)
353 2005-09-11 Matthias Clasen <mclasen@redhat.com>
357 * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string):
358 New function to avoid pointless strdups when creating atoms
362 * gtk/*.c: Use gdk_atom_intern_static_string() where
365 2005-09-09 Matthias Clasen <mclasen@redhat.com>
367 * gtk/gtkcellrendererkeys.h:
368 * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
369 and editing accelerators, a port of EggCellRendererKeys .
373 * gtk/Makefile.am: Add the keys cell renderer.
376 * tests/testkeys.c: Test GtkCellRendererKeys
378 2005-09-09 Matthias Clasen <mclasen@redhat.com>
380 Make it possible to determine if a key event is for a
383 * gdk/x11/gdkprivate-x11.h:
384 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier):
385 New function to determine if a keycode is mapped to a modifier.
386 (get_xkb): Get the modmap.
388 * gdk/x11/gdkevents-x11.c (translate_key_event): Set the
389 is_modifier bit by calling _gdk_keymap_key_is_modifier().
391 * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
394 2005-09-09 Matthias Clasen <mclasen@redhat.com>
396 * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an
397 unused variable, noticed by Kjartan Maraas.
399 2005-09-09 Matthias Clasen <mclasen@redhat.com>
401 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event):
402 Make drag reordering work properly for columns other than the
403 first. (#315054, Dan Winship)
405 * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle
406 invalid fontnames better. (#136926, Michael R. Walton)
408 Stop cursor blinking in non-editable regions of a text view.
409 (#311508, Torbjörn Andersson)
411 * gtk/gtktextview.c (gtk_text_view_check_cursor_blink):
412 (cursor_blinks): Take editability into account when deciding
413 whether the cursor blinks.
414 (gtk_text_view_button_release_event):
415 (gtk_text_view_move_cursor_internal): Update cursor blinking here.
417 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
418 Use connect_after to connect to the focus_out event. This
419 ensures that the entry has already stopped blinking by the time
420 we emit the edited signal. (#315229, Thomas Leonard)
422 * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
424 * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
425 unsigned ints to -1. (#315481, Kjartan Maraas)
427 * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
428 to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
429 (#314473, Stanislav Brabec)
431 2005-09-09 Matthias Clasen <mclasen@redhat.com>
433 * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
434 memory handling. (#314975, Torsten Schoenfeld)
436 * gtk/gtkiconview.c (gtk_icon_view_class_init):
437 * gtk/gtkfilesel.c (gtk_file_selection_class_init):
438 * gtk/gtkcombobox.c (gtk_combo_box_class_init):
439 * gtk/gtklabel.c (gtk_label_class_init):
440 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
441 Stylistic improvements and clarifications for some blurbs.
442 (#315520, Clytie Siddall)
444 2005-09-09 Tor Lillqvist <tml@novell.com>
446 * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
447 display name. There is only one GdkDisplay on Win32, and
448 constructing the display name isn't entirely trivial, so cacheing
449 is probably worth it. For instance GIMP calls this function a lot.
450 (gdk_display_open): Call gdk_display_get_name() to prime the
452 (gdk_display_get_n_screens, gdk_display_get_screen,
453 gdk_display_get_default_screen): Verify parameter correctness like
454 the X11 backend does.
456 * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
457 Return a freshly allocated string, as the API specifies. Fixes a
458 heap corruption problem that caused random errors and crashes in
461 2005-09-07 Matthias Clasen <mclasen@redhat.com>
463 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
464 Make C-u commit and restart hex input if we are already in a
467 2005-09-06 Matthias Clasen <mclasen@redhat.com>
469 * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
470 (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
471 if they are mapped to the same modifier.
473 * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
474 to gtkstatusicon.c and gtktrayicon-x11.c
476 * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
477 default accel mod mask.
479 * gtk/gtkaccelgroup.c (gtk_accelerator_parse):
480 * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
481 Don't use GDK_ALT_MASK.
483 * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
485 2005-09-06 Matthias Clasen <mclasen@redhat.com>
487 Add support for extra virtual modifiers: (#85780, Owen Taylor)
489 * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
492 * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
493 Mod2 - Mod5 and against Super, Hyper, Meta.
495 * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
496 * gtk/gtkaccelgroup.c (gtk_accelerator_parse)
497 (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
499 * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a
500 modmap to maintain the information which X modifiers map to
502 (get_xkb): Set up the modmap from the XKB tables.
503 (update_keymaps): Set up the modmap from the information returned
504 by XGetModifierMapping in the non-XKB case.
506 * gdk/x11/gdkprivate-x11.h:
507 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New
508 function to set the virtual modifiers in the state.
510 * gdk/x11/gdkevents-x11.c (translate_key_event): Call
511 _gdk_keymap_add_virtual_modifiers here.
513 * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super,
514 Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
517 2005-09-05 Matthias Clasen <mclasen@redhat.com>
519 * gtk/gtkaction.c (connect_proxy): Set the label of a button
520 if it has no child. (#315253, John Finlay)
522 2005-09-02 Matthias Clasen <mclasen@redhat.com>
524 * gtkimcontextsimple.h: Add a modifiers_dropped bit
526 2005-09-02 Matthias Clasen <mclasen@redhat.com>
528 * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
529 on destroy to avoid problems when they are called on a destroyed
530 widget. (#315135, John Cupitt)
532 * gtk/gtkentry.c (gtk_entry_class_init):
533 * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
534 for Ctrl-Shift-A to unselect all. (#309301, Kathy Fernandes)
536 * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
537 code. Now we only steal a single key combination, Ctrl-Shift-U,
539 A hex Unicode sequence must be started with Ctrl-Shift-U, followed
540 by a sequence of hex digits entered with Ctrl-Shift still held.
541 Releasing one of the modifiers or pressing space while the modifiers
542 are still held commits the character. It is possible to erase
543 digits using backspace.
544 As an extension to the above, we also allow to start the sequence
545 with Ctrl-Shift-U, then release the modifiers before typing any
546 digits, and enter the digits without modifiers.
547 (#82011, Owen Taylor)
549 2005-09-02 Matthias Clasen <mclasen@redhat.com>
551 * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
552 we still need to deliver the destroy event. (#314980, Chris Lahey)
554 * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset
555 im context before committing \n or \t.
557 2005-09-02 Alexander Larsson <alexl@redhat.com>
559 * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
560 (shortcuts_activate_volume):
561 Handle base_path being null in the rest of the cases (#310270)
563 2005-09-02 Tor Lillqvist <tml@novell.com>
565 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
566 cursor position also in root window coordinates. Prune out
567 superfluous WM_MOUSEMOVE events even earlier, based on root window
568 coordinates. Windows sends WM_MOUSEMOVE messages after a new
569 window has ben mapped below the cursor even if the mouse doesn't
570 move. We used to generate GDK_MOTION_NOTIFY in these cases. This
571 confused at least gtk_menu_motion_notify(). (#314995)
573 * gtk/gtkintl.h: No need to include config.h here. It caused
574 warnings about GTK_LOCALEDIR being redefined on Win32 when
575 compiling files where gtkintl.h is included after gtkprivate.h
576 (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
578 * gtk/gtkplug.c: Include config.h.
580 2005-09-01 Matthias Clasen <mclasen@redhat.com>
582 * gtk/gtkfilesystemunix.c: Pass statbufs down to
583 xdg_mime_get_mime_type_for_file() where possible, to avoid
586 * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
587 typo. (#314921, Guillaume Cottenceau)
589 * gdk/*.c: Intern some more strings.
591 * gtk/*.c: Define an I_() macro and use it instead of the
592 bulky g_intern_static_string().
594 2005-08-31 Matthias Clasen <mclasen@redhat.com>
596 * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
597 instead of copying it.
599 * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
601 * gtk/*.c: Also intern static strings passed to
605 * gtk/Makefile.am: Intern type names in code generated by
610 * gdk/*.c: Intern type names before registering the type to avoid
613 * configure.in: Require GLib 2.9.0
615 2005-08-31 Matthias Clasen <mclasen@redhat.com>
617 * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
618 and add icon-size and icon-size-set properties. (#314172)
620 * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
621 groups across transient parents. (#312918, Christian Persch)
623 * gtk/gtktreemodel.c: Some documentation fixes. (#314882,
624 Guillaume Cottenceau)
626 * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions):
627 Fix a typo in the docs. (#314878, Guillaume Cottenceau)
629 2005-08-30 Matthias Clasen <mclasen@redhat.com>
631 * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
632 make C-/ select all and C-\ unselect all. (#309301,
635 * gtk/gtkimcontextsimple.c: Change the compose sequence for
636 soft hyphen to be multi_key-minus-minus-space, and add
637 compose sequences multi_key-minus-minus-period and
638 multi_key-minus-minus-minus for en dash and em dash.
639 (#172653, Christian Lohmaier)
641 * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
642 code. (#313946, Christian Persch)
644 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
645 fix for the default value of the "ui" property.
647 2005-08-30 Matthias Clasen <mclasen@redhat.com>
650 * gtk/gtkselection.h:
651 * gtk/gtkselection.c: Add functions which look for text, image
652 or uri targets in an array of atoms. (#314089, Mark Wielaard)
655 * gtk/gtkselection.h:
656 * gtk/gtkselection.c (gtk_selection_data_targets_include_uri):
657 Add a function to check wether targets include uri.
658 (#314092, Mark Wielaard)
662 * gtk/gtkwindow.c: Add a deletable property with getter
663 and setter, to control the close button in the window
664 frame. (#59718, Havoc Pennington)
666 2005-08-29 Matthias Clasen <mclasen@redhat.com>
668 * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
669 to the arrow keys for menu navigation. (#162825, Carl Worth)
671 * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
673 * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
675 * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock):
676 * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
677 refer to nonexisting stock ids.
679 * gtk/gtktextview.c (popup_targets_received):
680 * gtk/gtkentry.c (popup_targets_received): Construct
681 the "Select All" menuitem from stock.
683 * gtk/stock-icons/stock_select_all_{16,24}.png:
684 * gtk/stock-icons/Makefile.am:
685 * gtk/gtkiconfactory.c:
687 * gtk/gtkstock.c: Add a "Select All" stock item. (#78545,
690 * gtk/gtktrayicon.c: Add a pointer to the spec.
692 * gtk/gtkstatusicon-x11.c: Add docs.
694 * gtk/gtkstatusicon.h: Fix a typo.
696 Add a cross-platform "tray icon" API, by
697 porting EggStatusIcon/EggTrayIcon (#105101)
699 * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
700 displays an icon in a notification area.
702 * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
703 X11, using GtkTrayIcon.
706 * gtk/gtktrayicon.c: An implementation of the freedesktop.org
707 system tray specification, not public API.
709 * gtk/gtk.symbols: Add new exported functions.
711 * gtk/gtk.h: Include gtkstatusicon.h.
713 * gtk/Makefile.am: Add new files.
716 * tests/teststatusicon.c: Test for GtkStatusIcon.
718 2005-08-29 Christopher Aillon <caillon@redhat.com>
720 * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
721 and GTK_STOCK_DISCONNECT
723 2005-08-29 Matthias Clasen <mclasen@redhat.com>
725 * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify):
726 Use XFixesChangeSaveSet if available. (#314682)
728 * gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu
729 was active. (#314298, Christian Persch, analysis by Mark McLoughlin)
731 2005-08-29 Matthias Clasen <mclasen@redhat.com>
733 * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
734 accidentally leftover duplicate pixbuf creation. (#314700,
737 * gtk/gtksettings.c (settings_update_cursor_theme): Don't
738 leak the cursor theme name. (#314693, Kjartan Maraas)
740 * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free
741 state.children in all cases. (#313862, Kjartan Maraas)
743 2005-08-28 Matthias Clasen <mclasen@redhat.com>
745 * po/POTFILES.in, po-properties/POTFILES.in:
748 2005-08-27 Matthias Clasen <mclasen@redhat.com>
750 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
751 value of the ui property. (#314532, Yong Wang)
753 * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
754 when G_MAXLONG is passed as length.
756 2005-08-26 Matthias Clasen <mclasen@redhat.com>
758 * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
759 to avoid overloading --force. (JP Rosevaar)
761 2005-08-26 Matthias Clasen <mclasen@redhat.com>
763 * configure.in: Bump version to 2.9.0
767 * gdk/gdkscreen.c: Make the GdkScreen font options api
768 public, and add properties GdkScreen::font-options and
769 GdkScreen::resolution. (#314004)
773 * gtk/gtkwidget.c: Adjust all callers.
775 * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
776 * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
777 * gdk/gdkscreen.c: Include gdkintl.h.
779 * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
780 variable warning, pointed out by Colin Walters. (#314585)
782 2005-08-26 Tor Lillqvist <tml@novell.com>
784 * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
786 (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
788 2005-08-26 Matthias Clasen <mclasen@redhat.com>
790 * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
791 of week_start. (#314473, JP Rosevaar)
793 2005-08-25 Thomas Fitzsimmons <fitzsim@redhat.com>
795 * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
796 lock. (#314533, Thomas Fitzsimmons)
798 2005-08-25 Matthias Clasen <mclasen@redhat.com>
800 * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
801 NULL gracefully. (#314523, Ed Catmur)
803 2005-08-25 Owen Taylor <otaylor@redhat.com>
805 * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
806 Handle theme == NULL.
808 2005-08-25 Matthias Clasen <mclasen@redhat.com>
810 * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
811 y offset into account when positioning the popup. (#314470,
814 2005-08-25 Owen Taylor <otaylor@redhat.com>
816 * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
817 as instance_init, not base_init! (#314452, Fix from Frederic
818 Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
819 rather than 1 for a negative flag value.
821 2005-08-24 Owen Taylor <otaylor@redhat.com>
823 * gdk/gdkpango.c (draw_error_underline): Add a note about
824 cut-and-paste between here and Pango.
826 2005-08-24 Matthias Clasen <mclasen@redhat.com>
828 * === Released 2.8.2 ===
830 * gtk/gtkclipboard.c (request_image_received_func): Use the correct
831 callback for image/gif, and also try image/bmp. (#314086, Mark
834 * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
835 Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev. (#314382,
840 * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
841 and cursor settings get propagated down to the screen initially.
842 Pointed out by Frederic Crozat.
844 * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
845 message if the screen is NULL. Noticed by Kjartan Maraas.
847 2005-08-24 Matthias Clasen <mclasen@redhat.com>
851 * === Released 2.8.1 ===
855 2005-08-24 Matthias Clasen <mclasen@redhat.com>
857 * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
858 against lazy filterers which return values other than TRUE or
859 FALSE from their visible func. (#314335)
861 2005-08-23 Owen Taylor <otaylor@redhat.com>
863 Fix for #314004, reported by Michael Reinsch:
866 * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
867 Add gdk_screen_get/set_resolution_libgtk_only()
869 * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
870 the options for the screen on the newly created context.
872 * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c:
873 Move font options and dpi code from gtkwidget.c to gtksettings.c, set
874 the font options on the screen.
876 * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
877 the font options from the screen and set them on the context.
879 2005-08-23 Kristian Rietveld <kris@gtk.org>
881 * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
882 bother inserting new rows in a level with a zero refcount and
883 immediately free the level. (Fixes #312350, reported by Markku Vire).
885 2005-08-23 Matthias Clasen <mclasen@redhat.com>
887 * gtk/updateiconcache.c: Complain when there is no index.theme file
888 in the specified directory, unless --force is used. Also add an
889 --index-only option to create caches without image data.
891 * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
892 C99ism. (#314262, Robert Jeff Mitchell)
894 2005-08-22 Manish Singh <yosh@gimp.org>
896 * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
898 * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
900 2005-08-22 Matthias Clasen <mclasen@redhat.com>
902 * gtk/gtkwindow.c (gtk_window_client_event):
903 * gtk/gtkicontheme.c (ensure_valid_themes)
904 (_gtk_icon_theme_check_reload): Implement a clientmessage based
905 scheme for makeing sure that all GTK+ applications notice if an
906 icon theme has been updated. This should prevent multiple versions
907 of an icon theme cache to be mapped in memory at the same time,
908 which can cause excessive memory consumption. (#313156, Chris
911 2005-08-22 Matthias Clasen <mclasen@redhat.com>
913 * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
914 regarding icon theme changes.
916 * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
917 pixbufs which are backed by the mmapped memory of an icon cache,
918 increase the refcount of the icon cache, so that the memory is not
919 munmapped away underneath the pixbuf upon icon theme changes.
920 (#314170, Kjartan Maraas)
922 * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order
923 to link against Xext. (#314062)
925 * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
926 overruns. (#314081, Hans Breuer)
928 2005-08-20 Matthias Clasen <mclasen@redhat.com>
930 * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
931 returned layout must not be modified.
933 Sat Aug 20 16:12:14 2005 Jonathan Blandford <jrb@redhat.com>
935 * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
936 scroll_to_path if the model changes.
938 * gtk/gtkiconview.c: (gtk_icon_view_destroy),
939 (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
940 (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
941 we're realized, #312798
942 (gtk_icon_view_set_model): clear scroll_to_path if the model
945 2005-08-20 Matthias Clasen <mclasen@redhat.com>
947 * gtk/gtkrange.c (gtk_range_adjustment_changed)
948 (gtk_range_adjustment_value_changed): Don't queue a draw
949 if the layout has not changed. (#313991, Benjamin Berg)
951 2005-08-19 Matthias Clasen <mclasen@redhat.com>
953 * gtk/gtktreeitem.c: Remove duplicate lines. (#313344,
956 * modules/engines/ms-windows/msw_style.c (setup_system_styles):
959 * gtk/gtkfilechooserbutton.c (change_icon_theme)
960 (model_add_special, model_add_special, model_add_volumes):
961 Handle pixbuf being NULL without warnings. Also, don't
962 leak pixbuf references when the icon theme is changed.
964 * gtk/gtkmain.c (gtk_get_event_widget): Don't access
965 the user data on destroyed windows, since at best
966 it can be a stale pointer. (#313953, Robin Green)
968 2005-08-19 Matthias Clasen <mclasen@redhat.com>
970 * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.
971 (#313900, Sebastien Bacher)
973 * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
974 FALSE if the tree is empty. (#313891, Guillaume Cottenceau)
976 * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display)
977 (xdnd_read_actions, get_client_window_at_coords_recurse):
978 Free data returned from XGetWindowProperty.
980 * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window)
981 Free data returned from XGetWindowProperty. (313867, Kjartan
984 * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
985 children in all cases. (#313862, Kjartan Maraas)
987 * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs
988 in the per-directory hash, even if they come from the icon cache.
989 We tried to avoid that before, but as a result leaked icon data
990 structs. (#313852, Kjartan Maraas)
992 2005-08-18 Matthias Clasen <mclasen@redhat.com>
994 * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
995 signal handlers on destroy, not on finalize. (#313759, Brett Atoms)
997 2005-08-15 Owen Taylor <otaylor@redhat.com>
999 * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
1000 files for x11/xext. (Jonas Bonn)
1002 2005-08-15 Tor Lillqvist <tml@novell.com>
1004 * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
1007 2005-08-15 Owen Taylor <otaylor@redhat.com>
1009 * configure.in: Fix have_base_pc / have_base_x_pc typo.
1011 * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
1012 (#313417, James Andrewartha)
1014 * configure.in: Add fontconfig to X_PACKAGES, since we use it for
1015 FcNameConstant(). (More of #313417)
1017 2005-08-15 Matthias Clasen <mclasen@redhat.com>
1019 * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
1020 modal dialogs, make sure to inherit the window group from
1021 the parent, since we don't inherit window groups across
1022 transient parents currently. (#312918, Christian Persch)
1024 * gtk/gtkmessagedialog.c (gtk_message_dialog_new):
1025 * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs.
1027 * gtk/gtkiconview.c (gtk_icon_view_select_path)
1028 (gtk_icon_view_scroll_to_path): Handle paths of depth 0
1029 gracefully. (#312796, Jonathan Blandford)
1031 * tests/testtoolbar.c: Add some more tests for menu placement.
1033 * gtk/gtkmenutoolbutton.c (menu_position_func):
1034 * gtk/gtktoolbar.c (menu_position_func): Improve positioning
1035 of toolbutton menus and of the overflow menu. (#312937,
1036 #153870, Christian Persch, Paolo Borelli)
1038 2005-08-15 Tor Lillqvist <tml@novell.com>
1040 * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
1041 the nonportable <libgen.h> and dirname().
1043 2005-08-15 Matthias Clasen <mclasen@redhat.com>
1045 * gtk/gtksizegroup.c: Use object data to mark widgets and
1046 groups as visited, so that we avoid constant extra list
1047 traversals. Also allocate quarks in class_init. (#311618,
1050 * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the
1051 download location for the hicolor icon theme. (#313475, Olexiy
1054 * gtk/gtkicontheme.c: Remove debug spew.
1056 2005-08-15 Owen Taylor <otaylor@redhat.com>
1058 * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap):
1059 * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap):
1060 * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
1061 Handle pixmap == NULL when checking for a colormap.
1064 2005-08-14 Matthias Clasen <mclasen@redhat.com>
1066 * gtk/updateiconcache.c: Store only one copy of the pixel data
1067 for symlinked icons. To achieve this, maintain a hashtable
1068 mapping pathnames to pixel data, and share the pixel data for
1069 all symlinks resolving to the same pathname. When writing out
1070 the image data, write out the pixel data only the first time
1071 it is met, and store the offset pointing to the first copy
1072 for use in all later cases.
1073 This reduces the size of the Bluecurve icon cache from 40