1 2005-10-04 Federico Mena Quintero <federico@ximian.com>
3 * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
4 Desktop; just use their real names on the file system for the
7 * gtk/gtkfilechooserdefault.c
8 (gtk_file_chooser_default_class_init): Add a "desktop-folder"
9 binding signal, and bind it to M-d by default.
10 (desktop_folder_handler): Implement the default handler.
11 (home_folder_handler): Use a helper function.
12 (switch_to_shortcut): New helper function.
13 (shortcuts_append_home): Don't special-case the name of "Home";
14 just use the folder name.
16 2005-10-04 Tor Lillqvist <tml@novell.com>
18 * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
19 HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
21 2005-10-04 Matthias Clasen <mclasen@redhat.com>
23 * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
24 from yesterday, since it leads to assertion failures. (#317879,
27 2005-10-03 Matthias Clasen <mclasen@redhat.com>
29 * gtk/gtkcalendar.c (gtk_calendar_init): Call
30 calendar_compute_days() after setting priv->week_start.
32 2005-10-03 Matthias Clasen <mclasen@redhat.com>
34 * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
35 removing it from the hash table. (#314696, Benjamin Berg)
37 2005-10-01 Tor Lillqvist <tml@novell.com>
39 * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
40 BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
41 is that the the desktop isn't visible because the session has been
42 switched, the screen is locked, or a terminal server session
43 disconnected, so no error message necessary. (#137796)
45 It is of course remotely possible that BitBlt() failing with
46 ERROR_INVALID_HANDLE might also be caused by some other
47 problem. We could strive for perfection and track whether the
48 desktop is visible by using WTSRegisterSessionNotification() and
49 handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
50 this issue, though. If we would track desktop visibility, we
51 should then avoid even trying to update the display at all while
52 the desktop isn't visible.
54 2005-09-30 Matthias Clasen <mclasen@redhat.com>
56 * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
57 to correct the calculations for the first week day. We may
58 just have to remove this code if too many locales turn out
61 * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
62 some cases. (#317611, Tommi Komulainen)
64 * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
65 Prevent overflow when storing size hints in an unsigned
66 short variable. Tracked down by Ray Strode and Søren Sandmann.
68 2005-09-29 Matthias Clasen <mclasen@redhat.com>
70 * gtk/gtkbutton.c (gtk_button_set_image): Check arguments. (#317491,
73 * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
74 grab shadowed. (#317332)
76 2005-09-29 Tor Lillqvist <tml@novell.com>
78 * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
80 2005-09-28 Federico Mena Quintero <federico@ximian.com>
82 * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
83 if the unmap test fails.
84 (test_reload_sequence): Use gtk_widget_show_now() instead of
85 gtk_widget_show() for the dialog.
86 Thanks to Tim Janik for noticing these.
88 2005-09-28 Federico Mena Quintero <federico@ximian.com>
90 * tests/testcellrenderertext.c: New file with a set of tests for
91 GtkCellRendererText. The idea is to run a text renderer through
92 most of its interesting property values to see that it works
95 * tests/Makefile.am: Added testcellrenderertext.
97 * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
98 entry/exit of this function for profiling.
99 (gtk_file_chooser_default_style_set): Mark the start/end of the
100 calls to the parent class and the the signal emission for profiling.
102 2005-09-29 Tor Lillqvist <tml@novell.com>
104 * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
105 passed to bindtextdomain() which isn't UTF-8-aware, so convert to
106 system codepage using g_win32_locale_filename_from_utf8().
107 (#317457, Kazuki Iwamoto)
109 2005-09-28 Matthias Clasen <mclasen@redhat.com>
111 * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms
112 here. (#317039, Paolo Borelli)
115 * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
116 to make this function work as boxed copy function. (#317455,
119 * gtk/gtkclipboard.c (request_image_received_func): Don't unref
120 NULL. (#316828, Tor Lillqvist)
122 2005-09-28 Tor Lillqvist <tml@novell.com>
124 * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
127 2005-09-27 Federico Mena Quintero <federico@ximian.com>
129 Don't reload the current folder unnecessarily on ::map().
131 * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
133 (struct _GtkFileChooserDefault): Added a "reload_state" field.
135 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
136 Initialize impl->reload_state.
137 (gtk_file_chooser_default_map): Check the impl->reload_state; load
138 a default folder if no folder has been set, or reload the current
139 one only if we had been unmapped first.
140 (gtk_file_chooser_default_update_current_folder): Set the
141 reload_state to RELOAD_HAS_FOLDER.
142 (gtk_file_chooser_default_unmap): Implement, and set the
143 reload_state to RELOAD_WAS_UNMAPPED.
144 (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
145 here; they'll get (re)loaded on ::map() anyway.
147 * gtk/gtkfilechooserwidget.c
148 (gtk_file_chooser_widget_constructor): Don't set a default folder here.
150 * tests/autotestfilechooser.c (test_action_widgets): Don't take in
151 a dialog; build it ourselves.
152 (test_reload): New test to ensure that we don't load the default
153 folder more than once, and that we reload it when
155 (get_impl_from_dialog): New utility function.
156 (test_widgets_for_current_action): Use get_impl_from_dialog().
158 2005-09-27 Federico Mena Quintero <federico@ximian.com>
160 * gtk/gtkfilechooserdefault.c
161 (gtk_file_chooser_default_constructor): Mark the entry/exit of
162 this function for profiling.
163 (check_icon_theme): Likewise.
164 (change_icon_theme): Likewise.
165 (settings_notify_cb): Likewise.
166 (gtk_file_chooser_default_screen_changed): Likewise.
167 (update_chooser_entry): If the selection is empty, clear the file
168 name entry only if we are in CREATE_FOLDER mode. In SAVE mode,
169 nothing will be selected when the user starts typeahead in the
170 treeview, and we don't want to clear the file name entry in that
171 case --- the user could be typing-ahead to look for a folder name.
172 Fixes bug #308332, patch by Jürg Billeter.
174 2005-09-27 Matthias Clasen <mclasen@redhat.com>
176 * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
177 Pop below the entry if there's more free space below the entry
178 than above. (#316948, Tommi Komulainen)
180 2005-09-26 Federico Mena Quintero <federico@ximian.com>
182 Do not create the save mode-specific widgets in the open modes, so
183 that we don't carry their baggage around.
185 * gtk/gtkfilechooserdefault.c
186 (gtk_file_chooser_default_constructor): Don't create the
188 (save_widgets_create): Set the impl->save_widgets directly here,
189 instead of passing the widgets back to the caller. Also, pack
190 them into the impl's box.
191 (update_appearance): Create or destroy the save widgets as
192 appropriate. Set the action of the save_file_name_entry here.
193 (shortcuts_add_current_folder): Set the active item in the
194 save_folder_combo only if it exists.
195 (gtk_file_chooser_default_set_property): Don't set the action of
196 the save_file_name_entry here.
197 (gtk_file_chooser_default_update_current_folder): Set the base
198 folder of the save_file_name_entry only if the entry exists.
199 (shortcuts_drag_data_received_cb): Cast the selection_data->data
200 to (const char *) since that's what shortcuts_drop_uris() expects.
201 (file_list_drag_data_received_cb): Likewise, for
202 g_uri_list_extract_uris().
204 2005-09-26 Tor Lillqvist <tml@novell.com>
206 * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
207 the shaped flag here, too. (#316871)
208 (gdk_window_shape_combine_region): Currently unimplemented, so
209 don't do anything to the shaped flag here.
211 2005-09-26 Matthias Clasen <mclasen@redhat.com>
213 Fix #316871, reported by Dan Winship:
215 * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
217 * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask)
218 (gdk_window_shape_combine_region): Set it here.
220 * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
221 remove the child area for shaped windows.
223 2005-09-23 Matthias Clasen <mclasen@redhat.com>
225 * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
226 Don't leak expander pixbufs. (#316946, Tommi Komulainen)
228 2005-09-22 Michael Natterer <mitch@imendio.com>
230 Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
231 consistent with GTK+ terminology:
233 * gtk/gtkcellrendererkeys.[ch]
234 * tests/testkeys.c: removed...
236 * gtk/gtkcellrendereraccel.[ch]
237 * tests/testaccel.c: ...and added.
242 * tests/Makefile.am: changed accordingly.
244 2005-09-22 Matthias Clasen <mclasen@redhat.com>
246 * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
247 for the grab-broken-event signal, noticed by Damon Chaplin.
249 2005-09-21 Tor Lillqvist <tml@novell.com>
251 * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
252 gdk_text_property_to_text_list_for_display,
253 gdk_text_property_to_utf8_list_for_display,
254 gdk_win32_selection_add_targets,
255 _gdk_win32_selection_convert_to_dib): Free return value from
257 (gdk_text_property_to_text_list_for_display): Drop GError variable
258 that isn't actually used after being set.
260 2005-09-20 Johan Dahlin <jdahlin@async.com.br>
262 * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in
265 2005-09-20 Tor Lillqvist <tml@novell.com>
267 * gdk/win32/gdkselection-win32.c
268 (gdk_selection_owner_get_for_display): Do return the correct owner
269 for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
270 a window GDK knows about). The reason to return NULL seems to have
271 gone when in the fix for bug #163702 the artificial
272 GDK_SELECTION_CLEAR event generation was removed from
273 gdk_selection_send_notify_for_display(). Fixes bug #316552.
275 2005-09-20 Matthias Clasen <mclasen@redhat.com>
277 Avoid unnecessary XkbGetState() calls and XkbStateNotify
278 events. (#151555, Søren Sandmann)
280 * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use
281 XkbSelectEventDetails() to select XkbStateNotify events
282 for only the state we care about.
284 * gdk/x11/gdkprivate-x11.h:
285 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
286 the event into the function and update the keymap state from
287 the state information contained in the event. Adjust all callers.
289 2005-09-19 Matthias Clasen <mclasen@redhat.com>
291 * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
292 in multiple places to avoid segfaults if the index is out of range.
293 (#316422, Guillaume Cottenceau)
294 (gtk_icon_view_set_drag_dest_item):
295 (gtk_icon_view_scroll_to_path): Fix a typo in the docs. (#316419,
296 #316424, Guillaume Cottenceau)
298 2005-09-18 Hans Breuer <hans@breuer.org>
300 * gtk/gtktrayicon-win32.c : now handling events by hard-coded
301 g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
303 2005-09-18 Hans Breuer <hans@breuer.org>
305 * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
306 _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
307 * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
308 the icon and is blinking with teststatusicon. More to come ...
310 2005-09-18 Hans Breuer <hans@breuer.org>
312 * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
313 cause gtkprogressbar.c has #include <config.h> conditionally; less
314 noise from generated gtk.def
315 * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
317 * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
318 For me it works as well as the *NIX implemenation, that is not at all.
320 * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
322 * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
323 only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
324 back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
325 again - if compiled properly.
327 * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
328 already coming with Gtk+. Makes it compile on win32.
330 2005-09-18 Guilherme de S. Pastore <gpastore@cvs.gnome.org>
332 * README.cvs-commits: fixed some tiny typos
334 2005-09-16 Tor Lillqvist <tml@novell.com>
336 * modules/engines/ms-windows/msw_style.c (draw_extension,
337 draw_box_gap): Check whether the widget actually is a GtkNotebook
338 before treating it as such. Drop some unneeded local variables,
339 use parameter with same information instead. (#316412)
341 2005-09-15 Federico Mena Quintero <federico@ximian.com>
343 * tests/autotestfilechooser.c: Start a set of automated tests for
344 the file chooser. The only test in there right now doesn't pass
345 yet. It specifies the intended behavior of the first optimization
346 of a series which I'll do on the file chooser (see
347 http://primates.ximian.com/~federico/news-2005-09.html#14 for the
348 details of this optimization).
350 * tests/Makefile.am: Added autotestfilechooser.c.
352 * gtk/gtkfilechooserprivate.h (struct
353 _GtkFileChooserDialogPrivate): Move all the file chooser's private
354 structures to here, so that they can be accessed by
355 tests/autotestfilechooser.c: _GtkFileChooserDialogPrivate,
356 _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
358 * gtk/gtkfilechooserdialog.c: See above.
360 * gtk/gtkfilechooserwidget.c: See above.
362 * gtk/gtkfilechooserdefault.c: See above.
364 Thu Sep 15 15:27:55 2005 Tim Janik <timj@imendio.com>
367 gtk_window_map_event(): new function to work around lost unmap requests.
370 2005-09-14 Federico Mena Quintero <federico@ximian.com>
372 * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
373 an easy-to-find profiling marker when starting to create a file
375 (browse_files_model_finished_loading_cb): Likewise, for when the
376 chooser is finished loading.
378 2005-09-14 Tristan Van Berkom <tvb@cvs.gnome.org>
380 * gtk/gtkcolorbutton.c: Check "color" argument in
381 gtk_color_button_set_color ()
383 2005-09-14 Matthias Clasen <mclasen@redhat.com>
385 * gtk/gtklabel.c (gtk_label_get_type):
386 * gtk/gtkbutton.c (gtk_button_get_type):
387 * gtk/gtkwindow.c (gtk_window_group_get_type): No point in
388 using a mem chunk for window groups, buttons, labels.
390 * gtk/updateiconcache.c (foreach_remove_func): Fix
391 a use-after-free bug. (#316256, Alexander Nedotsukov)
393 2005-09-13 Matthias Clasen <mclasen@redhat.com>
395 * gtk/*.c: Various cleanups. (#315360, Kjartan Maraas)
397 * gdk/*.c: Various cleanups. (#315359, Kjartan Maraas)
399 2005-09-13 Matthias Clasen <mclasen@redhat.com>
401 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
402 Let GDK_Return pass through in some more cases.
404 * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
405 activating the entry.
407 * gtk/gtkiconview.c (gtk_icon_view_class_init):
408 (gtk_icon_view_get_dest_item_at_pos): Fix typos in the
409 docs. (#316008, #316027, #316121, Guillaume Cottenceau)
411 * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
412 (#316001, Guillaume Cottenceau)
414 * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
415 mistake in the docs. (#315993, Guillaume Cottenceau)
417 * tests/testentrycompletion.c (create_simple_completion_model): Add
418 some strings containing multibyte characters.
420 * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix):
421 Fix prefix insertion for multibyte characters. (#316095,
424 * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
425 * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
426 return NULL if the widget is not realized. (#316023,
427 Guillaume Cottenceau)
429 2005-09-11 Matthias Clasen <mclasen@redhat.com>
433 * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string):
434 New function to avoid pointless strdups when creating atoms
438 * gtk/*.c: Use gdk_atom_intern_static_string() where
441 2005-09-09 Matthias Clasen <mclasen@redhat.com>
443 * gtk/gtkcellrendererkeys.h:
444 * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
445 and editing accelerators, a port of EggCellRendererKeys .
449 * gtk/Makefile.am: Add the keys cell renderer.
452 * tests/testkeys.c: Test GtkCellRendererKeys
454 2005-09-09 Matthias Clasen <mclasen@redhat.com>
456 Make it possible to determine if a key event is for a
459 * gdk/x11/gdkprivate-x11.h:
460 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier):
461 New function to determine if a keycode is mapped to a modifier.
462 (get_xkb): Get the modmap.
464 * gdk/x11/gdkevents-x11.c (translate_key_event): Set the
465 is_modifier bit by calling _gdk_keymap_key_is_modifier().
467 * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
470 2005-09-09 Matthias Clasen <mclasen@redhat.com>
472 * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an
473 unused variable, noticed by Kjartan Maraas.
475 2005-09-09 Matthias Clasen <mclasen@redhat.com>
477 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event):
478 Make drag reordering work properly for columns other than the
479 first. (#315054, Dan Winship)
481 * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle
482 invalid fontnames better. (#136926, Michael R. Walton)
484 Stop cursor blinking in non-editable regions of a text view.
485 (#311508, Torbjörn Andersson)
487 * gtk/gtktextview.c (gtk_text_view_check_cursor_blink):
488 (cursor_blinks): Take editability into account when deciding
489 whether the cursor blinks.
490 (gtk_text_view_button_release_event):
491 (gtk_text_view_move_cursor_internal): Update cursor blinking here.
493 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
494 Use connect_after to connect to the focus_out event. This
495 ensures that the entry has already stopped blinking by the time
496 we emit the edited signal. (#315229, Thomas Leonard)
498 * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
500 * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
501 unsigned ints to -1. (#315481, Kjartan Maraas)
503 * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
504 to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
505 (#314473, Stanislav Brabec)
507 2005-09-09 Matthias Clasen <mclasen@redhat.com>
509 * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
510 memory handling. (#314975, Torsten Schoenfeld)
512 * gtk/gtkiconview.c (gtk_icon_view_class_init):
513 * gtk/gtkfilesel.c (gtk_file_selection_class_init):
514 * gtk/gtkcombobox.c (gtk_combo_box_class_init):
515 * gtk/gtklabel.c (gtk_label_class_init):
516 * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
517 Stylistic improvements and clarifications for some blurbs.
518 (#315520, Clytie Siddall)
520 2005-09-09 Tor Lillqvist <tml@novell.com>
522 * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
523 display name. There is only one GdkDisplay on Win32, and
524 constructing the display name isn't entirely trivial, so cacheing
525 is probably worth it. For instance GIMP calls this function a lot.
526 (gdk_display_open): Call gdk_display_get_name() to prime the
528 (gdk_display_get_n_screens, gdk_display_get_screen,
529 gdk_display_get_default_screen): Verify parameter correctness like
530 the X11 backend does.
532 * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
533 Return a freshly allocated string, as the API specifies. Fixes a
534 heap corruption problem that caused random errors and crashes in
537 2005-09-07 Matthias Clasen <mclasen@redhat.com>
539 * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
540 Make C-u commit and restart hex input if we are already in a
543 2005-09-06 Matthias Clasen <mclasen@redhat.com>
545 * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
546 (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
547 if they are mapped to the same modifier.
549 * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
550 to gtkstatusicon.c and gtktrayicon-x11.c
552 * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
553 default accel mod mask.
555 * gtk/gtkaccelgroup.c (gtk_accelerator_parse):
556 * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
557 Don't use GDK_ALT_MASK.
559 * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
561 2005-09-06 Matthias Clasen <mclasen@redhat.com>
563 Add support for extra virtual modifiers: (#85780, Owen Taylor)
565 * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
568 * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
569 Mod2 - Mod5 and against Super, Hyper, Meta.
571 * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
572 * gtk/gtkaccelgroup.c (gtk_accelerator_parse)
573 (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
575 * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a
576 modmap to maintain the information which X modifiers map to
578 (get_xkb): Set up the modmap from the XKB tables.
579 (update_keymaps): Set up the modmap from the information returned
580 by XGetModifierMapping in the non-XKB case.
582 * gdk/x11/gdkprivate-x11.h:
583 * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New
584 function to set the virtual modifiers in the state.
586 * gdk/x11/gdkevents-x11.c (translate_key_event): Call
587 _gdk_keymap_add_virtual_modifiers here.
589 * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super,
590 Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
593 2005-09-05 Matthias Clasen <mclasen@redhat.com>
595 * gtk/gtkaction.c (connect_proxy): Set the label of a button
596 if it has no child. (#315253, John Finlay)
598 2005-09-02 Matthias Clasen <mclasen@redhat.com>
600 * gtkimcontextsimple.h: Add a modifiers_dropped bit
602 2005-09-02 Matthias Clasen <mclasen@redhat.com>
604 * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
605 on destroy to avoid problems when they are called on a destroyed
606 widget. (#315135, John Cupitt)
608 * gtk/gtkentry.c (gtk_entry_class_init):
609 * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
610 for Ctrl-Shift-A to unselect all. (#309301, Kathy Fernandes)
612 * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
613 code. Now we only steal a single key combination, Ctrl-Shift-U,
615 A hex Unicode sequence must be started with Ctrl-Shift-U, followed
616 by a sequence of hex digits entered with Ctrl-Shift still held.
617 Releasing one of the modifiers or pressing space while the modifiers
618 are still held commits the character. It is possible to erase
619 digits using backspace.
620 As an extension to the above, we also allow to start the sequence
621 with Ctrl-Shift-U, then release the modifiers before typing any
622 digits, and enter the digits without modifiers.
623 (#82011, Owen Taylor)
625 2005-09-02 Matthias Clasen <mclasen@redhat.com>
627 * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
628 we still need to deliver the destroy event. (#314980, Chris Lahey)
630 * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset
631 im context before committing \n or \t.
633 2005-09-02 Alexander Larsson <alexl@redhat.com>
635 * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
636 (shortcuts_activate_volume):
637 Handle base_path being null in the rest of the cases (#310270)
639 2005-09-02 Tor Lillqvist <tml@novell.com>
641 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
642 cursor position also in root window coordinates. Prune out
643 superfluous WM_MOUSEMOVE events even earlier, based on root window
644 coordinates. Windows sends WM_MOUSEMOVE messages after a new
645 window has ben mapped below the cursor even if the mouse doesn't
646 move. We used to generate GDK_MOTION_NOTIFY in these cases. This
647 confused at least gtk_menu_motion_notify(). (#314995)
649 * gtk/gtkintl.h: No need to include config.h here. It caused
650 warnings about GTK_LOCALEDIR being redefined on Win32 when
651 compiling files where gtkintl.h is included after gtkprivate.h
652 (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
654 * gtk/gtkplug.c: Include config.h.
656 2005-09-01 Matthias Clasen <mclasen@redhat.com>
658 * gtk/gtkfilesystemunix.c: Pass statbufs down to
659 xdg_mime_get_mime_type_for_file() where possible, to avoid
662 * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
663 typo. (#314921, Guillaume Cottenceau)
665 * gdk/*.c: Intern some more strings.
667 * gtk/*.c: Define an I_() macro and use it instead of the
668 bulky g_intern_static_string().
670 2005-08-31 Matthias Clasen <mclasen@redhat.com>
672 * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
673 instead of copying it.
675 * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
677 * gtk/*.c: Also intern static strings passed to
681 * gtk/Makefile.am: Intern type names in code generated by
686 * gdk/*.c: Intern type names before registering the type to avoid
689 * configure.in: Require GLib 2.9.0
691 2005-08-31 Matthias Clasen <mclasen@redhat.com>
693 * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
694 and add icon-size and icon-size-set properties. (#314172)
696 * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
697 groups across transient parents. (#312918, Christian Persch)
699 * gtk/gtktreemodel.c: Some documentation fixes. (#314882,
700 Guillaume Cottenceau)
702 * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions):
703 Fix a typo in the docs. (#314878, Guillaume Cottenceau)
705 2005-08-30 Matthias Clasen <mclasen@redhat.com>
707 * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
708 make C-/ select all and C-\ unselect all. (#309301,
711 * gtk/gtkimcontextsimple.c: Change the compose sequence for
712 soft hyphen to be multi_key-minus-minus-space, and add
713 compose sequences multi_key-minus-minus-period and
714 multi_key-minus-minus-minus for en dash and em dash.
715 (#172653, Christian Lohmaier)
717 * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
718 code. (#313946, Christian Persch)
720 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
721 fix for the default value of the "ui" property.
723 2005-08-30 Matthias Clasen <mclasen@redhat.com>
726 * gtk/gtkselection.h:
727 * gtk/gtkselection.c: Add functions which look for text, image
728 or uri targets in an array of atoms. (#314089, Mark Wielaard)
731 * gtk/gtkselection.h:
732 * gtk/gtkselection.c (gtk_selection_data_targets_include_uri):
733 Add a function to check wether targets include uri.
734 (#314092, Mark Wielaard)
738 * gtk/gtkwindow.c: Add a deletable property with getter
739 and setter, to control the close button in the window
740 frame. (#59718, Havoc Pennington)
742 2005-08-29 Matthias Clasen <mclasen@redhat.com>
744 * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
745 to the arrow keys for menu navigation. (#162825, Carl Worth)
747 * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
749 * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
751 * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock):
752 * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
753 refer to nonexisting stock ids.
755 * gtk/gtktextview.c (popup_targets_received):
756 * gtk/gtkentry.c (popup_targets_received): Construct
757 the "Select All" menuitem from stock.
759 * gtk/stock-icons/stock_select_all_{16,24}.png:
760 * gtk/stock-icons/Makefile.am:
761 * gtk/gtkiconfactory.c:
763 * gtk/gtkstock.c: Add a "Select All" stock item. (#78545,
766 * gtk/gtktrayicon.c: Add a pointer to the spec.
768 * gtk/gtkstatusicon-x11.c: Add docs.
770 * gtk/gtkstatusicon.h: Fix a typo.
772 Add a cross-platform "tray icon" API, by
773 porting EggStatusIcon/EggTrayIcon (#105101)
775 * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
776 displays an icon in a notification area.
778 * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
779 X11, using GtkTrayIcon.
782 * gtk/gtktrayicon.c: An implementation of the freedesktop.org
783 system tray specification, not public API.
785 * gtk/gtk.symbols: Add new exported functions.
787 * gtk/gtk.h: Include gtkstatusicon.h.
789 * gtk/Makefile.am: Add new files.
792 * tests/teststatusicon.c: Test for GtkStatusIcon.
794 2005-08-29 Christopher Aillon <caillon@redhat.com>
796 * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
797 and GTK_STOCK_DISCONNECT
799 2005-08-29 Matthias Clasen <mclasen@redhat.com>
801 * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify):
802 Use XFixesChangeSaveSet if available. (#314682)
804 * gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu
805 was active. (#314298, Christian Persch, analysis by Mark McLoughlin)
807 2005-08-29 Matthias Clasen <mclasen@redhat.com>
809 * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
810 accidentally leftover duplicate pixbuf creation. (#314700,
813 * gtk/gtksettings.c (settings_update_cursor_theme): Don't
814 leak the cursor theme name. (#314693, Kjartan Maraas)
816 * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free
817 state.children in all cases. (#313862, Kjartan Maraas)
819 2005-08-28 Matthias Clasen <mclasen@redhat.com>
821 * po/POTFILES.in, po-properties/POTFILES.in:
824 2005-08-27 Matthias Clasen <mclasen@redhat.com>
826 * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
827 value of the ui property. (#314532, Yong Wang)
829 * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
830 when G_MAXLONG is passed as length.
832 2005-08-26 Matthias Clasen <mclasen@redhat.com>
834 * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
835 to avoid overloading --force. (JP Rosevaar)
837 2005-08-26 Matthias Clasen <mclasen@redhat.com>
839 * configure.in: Bump version to 2.9.0
843 * gdk/gdkscreen.c: Make the GdkScreen font options api
844 public, and add properties GdkScreen::font-options and
845 GdkScreen::resolution. (#314004)
849 * gtk/gtkwidget.c: Adjust all callers.
851 * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
852 * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
853 * gdk/gdkscreen.c: Include gdkintl.h.
855 * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
856 variable warning, pointed out by Colin Walters. (#314585)
858 2005-08-26 Tor Lillqvist <tml@novell.com>
860 * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
862 (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
864 2005-08-26 Matthias Clasen <mclasen@redhat.com>
866 * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
867 of week_start. (#314473, JP Rosevaar)
869 2005-08-25 Thomas Fitzsimmons <fitzsim@redhat.com>
871 * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
872 lock. (#314533, Thomas Fitzsimmons)
874 2005-08-25 Matthias Clasen <mclasen@redhat.com>
876 * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
877 NULL gracefully. (#314523, Ed Catmur)
879 2005-08-25 Owen Taylor <otaylor@redhat.com>
881 * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
882 Handle theme == NULL.
884 2005-08-25 Matthias Clasen <mclasen@redhat.com>
886 * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
887 y offset into account when positioning the popup. (#314470,
890 2005-08-25 Owen Taylor <otaylor@redhat.com>
892 * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
893 as instance_init, not base_init! (#314452, Fix from Frederic
894 Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
895 rather than 1 for a negative flag value.
897 2005-08-24 Owen Taylor <otaylor@redhat.com>
899 * gdk/gdkpango.c (draw_error_underline): Add a note about
900 cut-and-paste between here and Pango.
902 2005-08-24 Matthias Clasen <mclasen@redhat.com>
904 * === Released 2.8.2 ===
906 * gtk/gtkclipboard.c (request_image_received_func): Use the correct
907 callback for image/gif, and also try image/bmp. (#314086, Mark
910 * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
911 Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev. (#314382,
916 * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
917 and cursor settings get propagated down to the screen initially.
918 Pointed out by Frederic Crozat.
920 * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
921 message if the screen is NULL. Noticed by Kjartan Maraas.
923 2005-08-24 Matthias Clasen <mclasen@redhat.com>
927 * === Released 2.8.1 ===
931 2005-08-24 Matthias Clasen <mclasen@redhat.com>
933 * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
934 against lazy filterers which return values other than TRUE or
935 FALSE from their visible func. (#314335)
937 2005-08-23 Owen Taylor <otaylor@redhat.com>
939 Fix for #314004, reported by Michael Reinsch:
942 * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
943 Add gdk_screen_get/set_resolution_libgtk_only()
945 * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
946 the options for the screen on the newly created context.
948 * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c:
949 Move font options and dpi code from gtkwidget.c to gtksettings.c, set
950 the font options on the screen.
952 * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
953 the font options from the screen and set them on the context.
955 2005-08-23 Kristian Rietveld <kris@gtk.org>
957 * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
958 bother inserting new rows in a level with a zero refcount and
959 immediately free the level. (Fixes #312350, reported by Markku Vire).
961 2005-08-23 Matthias Clasen <mclasen@redhat.com>
963 * gtk/updateiconcache.c: Complain when there is no index.theme file
964 in the specified directory, unless --force is used. Also add an
965 --index-only option to create caches without image data.
967 * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
968 C99ism. (#314262, Robert Jeff Mitchell)
970 2005-08-22 Manish Singh <yosh@gimp.org>
972 * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
974 * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
976 2005-08-22 Matthias Clasen <mclasen@redhat.com>
978 * gtk/gtkwindow.c (gtk_window_client_event):
979 * gtk/gtkicontheme.c (ensure_valid_themes)
980 (_gtk_icon_theme_check_reload): Implement a clientmessage based
981 scheme for makeing sure that all GTK+ applications notice if an
982 icon theme has been updated. This should prevent multiple versions
983 of an icon theme cache to be mapped in memory at the same time,
984 which can cause excessive memory consumption. (#313156, Chris
987 2005-08-22 Matthias Clasen <mclasen@redhat.com>
989 * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
990 regarding icon theme changes.
992 * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
993 pixbufs which are backed by the mmapped memory of an icon cache,
994 increase the refcount of the icon cache, so that the memory is not
995 munmapped away underneath the pixbuf upon icon theme changes.
996 (#314170, Kjartan Maraas)
998 * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order
999 to link against Xext. (#314062)
1001 * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
1002 overruns. (#314081, Hans Breuer)
1004 2005-08-20 Matthias Clasen <mclasen@redhat.com>
1006 * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
1007 returned layout must not be modified.
1009 Sat Aug 20 16:12:14 2005 Jonathan Blandford <jrb@redhat.com>
1011 * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
1012 scroll_to_path if the model changes.
1014 * gtk/gtkiconview.c: (gtk_icon_view_destroy),
1015 (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
1016 (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
1017 we're realized, #312798
1018 (gtk_icon_view_set_model): clear scroll_to_path if the model
1021 2005-08-20 Matthias Clasen <mclasen@redhat.com>
1023 * gtk/gtkrange.c (gtk_range_adjustment_changed)
1024 (gtk_range_adjustment_value_changed): Don't queue a draw
1025 if the layout has not changed. (#313991, Benjamin Berg)
1027 2005-08-19 Matthias Clasen <mclasen@redhat.com>
1029 * gtk/gtktreeitem.c: Remove duplicate lines. (#313344,
1032 * modules/engines/ms-windows/msw_style.c (setup_system_styles):
1035 * gtk/gtkfilechooserbutton.c (change_icon_theme)
1036 (model_add_special, model_add_special, model_add_volumes):
1037 Handle pixbuf being NULL without warnings. Also, don't
1038 leak pixbuf references when the icon theme is changed.
1040 * gtk/gtkmain.c (gtk_get_event_widget): Don't access
1041 the user data on destroyed windows, since at best
1042 it can be a stale pointer. (#313953, Robin Green)
1044 2005-08-19 Matthias Clasen <mclasen@redhat.com>
1046 * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.
1047 (#313900, Sebastien Bacher)
1049 * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
1050 FALSE if the tree is empty. (#313891, Guillaume Cottenceau)
1052 * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display)
1053 (xdnd_read_actions, get_client_window_at_coords_recurse):
1054 Free data returned from XGetWindowProperty.
1056 * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window)
1057 Free data returned from XGetWindowProperty. (313867, Kjartan
1060 * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
1061 children in all cases. (#313862, Kjartan Maraas)
1063 * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs
1064 in the per-directory hash, even if they come from the icon cache.
1065 We tried to avoid that before, but as a result leaked icon data
1066 structs. (#313852, Kjartan Maraas)
1068 2005-08-18 Matthias Clasen <mclasen@redhat.com>
1070 * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
1071 signal handlers on destroy, not on finalize. (#313759, Brett Atoms)
1073 2005-08-15 Owen Taylor <otaylor@redhat.com>
1075 * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
1076 files for x11/xext. (Jonas Bonn)
1078 2005-08-15 Tor Lillqvist <tml@novell.com>
1080 * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
1083 2005-08-15 Owen Taylor <otaylor@redhat.com>
1085 * configure.in: Fix have_base_pc / have_base_x_pc typo.
1087 * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
1088 (#313417, James Andrewartha)
1090 * configure.in: Add fontconfig to X_PACKAGES, since we use it for
1091 FcNameConstant(). (More of #313417)
1093 2005-08-15 Matthias Clasen <mclasen@redhat.com>
1095 * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
1096 modal dialogs, make sure to inherit the window group from
1097 the parent, since we don't inherit window groups across
1098 transient parents currently. (#312918, Christian Persch)
1100 * gtk/gtkmessagedialog.c (gtk_message_dialog_new):
1101 * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs.
1103 * gtk/gtkiconview.c (gtk_icon_view_select_path)
1104 (gtk_icon_view_scroll_to_path): Handle paths of depth 0
1105 gracefully. (#312796, Jonathan Blandford)
1107 * tests/testtoolbar.c: Add some more tests for menu placement.
1109 * gtk/gtkmenutoolbutton.c (menu_position_func):
1110 * gtk/gtktoolbar.c (menu_position_func): Improve positioning
1111 of toolbutton menus and of the overflow menu. (#312937,
1112 #153870, Christian Persch, Paolo Borelli)
1114 2005-08-15 Tor Lillqvist <tml@novell.com>
1116 * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
1117 the nonportable <libgen.h> and dirname().
1119 2005-08-15 Matthias Clasen <mclasen@redhat.com>
1121 * gtk/gtksizegroup.c: Use object data to mark widgets and
1122 groups as visited, so that we avoid constant extra list
1123 traversals. Also allocate quarks in class_init. (#311618,
1126 * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the
1127 download location for the hicolor icon theme. (#313475, Olexiy
1130 * gtk/gtkicontheme.c: Remove debug spew.
1132 2005-08-15 Owen Taylor <otaylor@redhat.com>
1134 * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap):
1135 * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap):
1136 * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
1137 Handle pixmap == NULL when checking for a colormap.
1140 2005-08-14 Matthias Clasen <mclasen@redhat.com>
1142 * gtk/updateiconcache.c: Store only one copy of the pixel data
1143 for symlinked icons. To achieve this, maintain a hashtable
1144 mapping pathnames to pixel data, and share the pixel data for
1145 all symlinks resolving to the same pathname. When writing out
1146 the image data, write out the pixel data only the first time
1147 it is met, and store the offset pointing to the first copy
1148 for use in all later cases.
1149 This reduces the size of the Bluecurve icon cache from 40