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