]> Pileus Git - ~andy/gtk/blob - ChangeLog
Free new_event after sending it to the search entry. (#323209, Crispin
[~andy/gtk] / ChangeLog
1 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
2
3         * gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
4         after sending it to the search entry.  (#323209, Crispin Flowerday)
5
6         * README.in: Add a note about GTK_FLOATING.
7
8         * gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.
9
10 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
11
12         * gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
13         a pixbuf.  (#323024, Paolo Borelli)
14
15 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
16
17         * gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
18         if mime_type is NULL.  (#322998, Sadrul Habib Chowdhury)
19
20 2005-12-02  Michael Natterer  <mitch@imendio.com>
21
22         * gtk/gtkmenu.c: applied modified patch from maemo-gtk which
23         adds a "horizontal-padding" style property. Fixes bug #323036.
24
25 2005-12-01  Michael Natterer  <mitch@imendio.com>
26
27         Merged modified patch from maemo-gtk that allows to disable
28         toolbar animations. Addresses bug #142582.
29
30         * gtk/gtksettings.c: added boolean property "gtk-enable-animations".
31         (patch from Christian Neumair)
32
33         * gtk/gtktoolbar.c: don't animate toolbar changes if the settings
34         property is FALSE. Replaced the individual "notify::foo"
35         connections to GtkSettings by a single "notify" callback and
36         dispatch internally.
37
38 2005-12-01  Michael Natterer  <mitch@imendio.com>
39
40         * gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
41         assignment of widget_class->motion_notify_event.
42
43 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
44
45         * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
46         an active property.  (#322673, Jorn Baayen)
47
48         Properly handle model changes in GtkTreeSelection: (#322569,
49         Milosz Derezynski)
50         
51         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): 
52         Get a reference to the model, and stop the iteration if the model
53         of the treeview is changed on the way.
54
55         * gtk/gtktreeprivate.h: 
56         * gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New 
57         private function to emit the GtkTreeSelection::changed signal.
58
59         * gtk/gtktreeview.c (gtk_tree_view_set_model): Call 
60         _gtk_tree_selection_emit_changed() when the model changes.
61
62 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
63
64         Fixes the critical warnings from bug #317999, thus fixing the bug
65         completely:
66
67         * gtk/gtkfilechooserdefault.c
68         (gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
69         use _gtk_file_chooser_get_current_folder_path() instead of fetching the
70         impl->current_folder directly.  The latter may be null if we are
71         in RELOAD_NONE state.
72
73 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
74
75         Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
76
77         * gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
78         current_folder to the pending select paths here; the path bar will
79         give it to us now.
80         (path_bar_clicked): Add the child_path to the pending select paths
81         here.
82         (show_and_select_paths): Don't filter out folders.
83         (show_and_select_paths): Don't take separate arguments for
84         only_one_path and multiple paths.
85
86         * tests/autotestfilechooser.c (test_folder_switch_and_filters):
87         New test about preserving the filters when we change folders.
88
89 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
90
91         * gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
92         -20 to come out as 20- in RTL locales.  (#322571, Tze'ela Hebron)
93
94         * gtk/gtkaction.c (gtk_action_sync_button_stock_id) 
95         (connect_proxy): Buttons use the label property for stock ids.  (#322565,
96         Milosz Derezynski)
97
98         * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
99         handle the cell list and indices into it.  (#321856)
100
101 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
102
103         * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
104         the timeout is done.  (#322291, Jean-Yves Lefort)
105
106 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
107
108         * gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
109         F2 work for renaming bookmarks.  (#320822, Jaap A. Haitsma, patch
110         by Paolo Borelli)
111
112 2005-11-28  Tor Lillqvist  <tml@novell.com>
113
114         * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
115         Implement the conditional use of FlashWindowEx() properly for MSVC
116         compilations. The code was confusingly assuming that if compiled
117         with a "new" compiler, it will only be run on "new" Windows
118         versions. We want it to run on "old" versions, too, even if
119         compiled with a "new" compiler. There are two orthogonal issues:
120         whether the compiler defines the necessary API in its headers, and
121         whether it is present at run-time. (#318077)
122
123         * gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
124         Windows to get the localized weekday and month names. strftime()
125         in the Microsoft C library returns strings in the default codepage
126         for the locale of the process, not the system codepage. Thus
127         g_locale_to_utf8() isn't useable on the return value from
128         strftime(). (#322603)
129
130 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
131
132         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): 
133         Fix an example.  (#322493, Elie De Brauwer)
134         
135         Fix two memory handling problems in GtkTreeView: (#322350, 
136         Søren Sandmann)
137         
138         * gtk/gtktreeview.c (gtk_tree_view_destroy) 
139         (gtk_tree_view_set_model): Remove all references to nodes in
140         the old model.
141         (gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
142         before removing the children.
143
144         * gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a 
145         PangoLayout here.  (#322505, Paolo Borelli)
146
147 2005-11-27  Tor Lillqvist  <tml@novell.com>
148
149         Once again rework Win32 window decoration code. Doesn't break
150         #104514. The dialogs in gtk-demo now have the same decorations and
151         behaviour as on X11. Tried to fix #322516 but it seems very hard
152         to make the trivial sample program there behave as expected. OTOH,
153         simply moving the gtk_window_decorate() call in the #322516 sample
154         program after the call to gtk_widget_show() helps...
155             
156         * gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
157         the correct semantics. Each call to gdk_window_set_decorations()
158         which calls this function is supposed to affect all decorations.
159
160         (decorate_based_on_hints): New function, looks at both geometry
161         hints and type hint and sets window decorations based on
162         that. Consolidate code from gdk_window_set_geometry_hints() and
163         gdk_window_set_type_hint() here.
164
165         (gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
166         decorate_based_on_hints().
167
168 2005-11-25  Dom Lachowicz <cinamod@hotmail.com>
169
170         * modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
171         Includes improved menu icon spacing, [+]/[-] expander drawing,
172         status-bar gippie drawing, and notebook tab drawing.
173         
174 2005-11-24  Michael Natterer  <mitch@imendio.com>
175
176         * gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
177         that used to hold signal handler IDs to two guint of padding.
178
179         * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
180         gulong here.
181
182         (gtk_toolbar_screen_changed): changed accordingly.
183
184 Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>
185
186         * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
187         in terms of the GObject floating/sink API.
188
189         * gtk/gtkaboutdialog.c:
190         * gtk/gtkaction.c:
191         * gtk/gtkcellview.c:
192         * gtk/gtkclist.c:
193         * gtk/gtkcolorsel.c:
194         * gtk/gtkcombobox.c:
195         * gtk/gtkfilechooserdefault.c:
196         * gtk/gtkiconview.c:
197         * gtk/gtkinvisible.c:
198         * gtk/gtkitemfactory.c:
199         * gtk/gtklayout.c:
200         * gtk/gtkmenu.c:
201         * gtk/gtkmenutoolbutton.c:
202         * gtk/gtknotebook.c:
203         * gtk/gtkprogress.c:
204         * gtk/gtkrange.c:
205         * gtk/gtkspinbutton.c:
206         * gtk/gtkstatusicon.c:
207         * gtk/gtktext.c:
208         * gtk/gtktextview.c:
209         * gtk/gtktoolbar.c:
210         * gtk/gtktoolbutton.c:
211         * gtk/gtktoolitem.c:
212         * gtk/gtktreeitem.c:
213         * gtk/gtktreeview.c:
214         * gtk/gtktreeviewcolumn.c:
215         * gtk/gtkuimanager.c:
216         * gtk/gtkviewport.c:
217         * gtk/gtkwidget.c:
218         * gtk/gtkwindow.c:
219         ported to use GObject's g_object_ref_sink().
220
221         * gtk/gtkcolorsel.c:
222         * gtk/gtkfilechooserdefault.c:
223         * gtk/gtkaboutdialog.c:
224         fixed compiler warnings.
225
226 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
227
228         * gtk/gtksettings.c (gtk_settings_class_init): Add some docs
229         about gtk-color-scheme.
230
231 2005-11-23  Behdad Esfahbod  <behdad@gnome.org>
232
233         * configure.in (enable_explicit_deps): Fix typo when checking
234         libtool config deplibs_check_method. Moreover, enable explicit
235         deps if we get anything other than pass_all from libtool. (part of
236         #318750)
237
238 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
239
240         * gtk/updateiconcache.c (write_csource): Don't create a big
241         string, since Visual C++ doesn't like strings longer than 64k. 
242         (#322238, Kazuki IWAMOTO
243
244         * gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
245         Kazuki IWAMOTO)
246
247 2005-11-23  Michael Natterer  <mitch@imendio.com>
248
249         * gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
250         windows on other screens (correctly remove all temporary
251         references).
252
253 2005-11-23  Michael Natterer  <mitch@imendio.com>
254
255         Added symbolic themable colors. Patch is a merged version of
256         proposals from Matthias and maemo-gtk. Fixes bug #114355.
257
258         * configure.in: require glib >= 2.9.1 for refcountable hashtables.
259
260         * gtk/gtksettings.c: added property "color-scheme" which is a
261         string defining colors like "foreground:black\nbackground:grey".
262         Automatically provide a name->GdkColor hash table mapping for the
263         color scheme.
264
265         * gtk/gtkrc.[ch]: added list of color hashes that works like the
266         list of icon factories. Append the color scheme hash from
267         GtkSettings if it exists. Extended gtkrc syntax to allow defining
268         and referencing of logical colors. Also allow to modulate colors
269         in gtkrc by using arbitrary expressions of mix(), shade(),
270         lighter() and darker(). Added internal function
271         _gtk_rc_style_get_color_hashes().
272
273         * gtk/gtkstyle.[ch]: keep a private list of color hashes around.
274         Get the list from _gtk_rc_style_get_color_hashes(). Export
275         internal function _gtk_style_shade() (used by above color
276         expressions). Added public API gtk_style_lookup_color() which
277         looks up a logical color by name.
278
279         * gtk/gtk.symbols: add gtk_style_lookup_color
280
281         * tests/testgtkrc: use symbolic colors for making
282         the scrollbars red.
283
284 2005-11-22  Michael Natterer  <mitch@imendio.com>
285
286         Made button-press timeouts which work like key repeat timeouts
287         configurable. Addresses bug #142582:
288
289         * gtk/gtksettings.c: added properties "gtk-timeout-initial" and
290         "gtk-timeout-repeat" which defalt to 200/20 (ms).
291
292         Use the values from GtkSettings instead of hardcoding them
293         (the repeat value is either taken as-is for fast repeat or
294         multiplied by 5 for slow repeat). Changed all places to use these
295         two standard initial/repeat timings:
296
297         * gtk/gtkcalendar.c (unchanged 200/20)
298         * gtk/gtknotebook.c (unchanged 200/100)
299         * gtk/gtkpathbar.c (changed from 300/150 to 200/100)
300         * gtk/gtkrange.c (changed from 250/100 to 200/100)
301         * gtk/gtkspinbutton.c (unchanged 200/20)
302
303 2005-11-21  Anders Carlsson  <andersca@imendio.com>
304
305         * configure.in:
306         * gtk/Makefile.am:
307         * gdk/Makefile.am:
308         * gdk/quartz/*:
309         Add quartz backend.
310         
311         * docs/tools/Makefile.am:
312         Only build docshooter when the X11 backend is used.
313         
314         * gtk/gtkplug-stub.c:
315         Include gtkplug.h here.
316         
317         * gtk/gtksocket-stub.c:
318         Include gtksocket.h here.
319         
320 2005-11-21  Matthias Clasen  <mclasen@redhat.com>
321
322         * gtk/gtkinputdialog.c: Convert GtkInputDialog to 
323         g_type_class_add_private.
324
325         * gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.
326
327         * gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.
328
329         * gtk/gtk.symbols:
330         * gtk/gtkcombobox.[hc]: Add a tearoff-title property,
331         with getter and setter.  (#316482, Olexiy Avramchenko)
332
333         * tests/testcombo.c (main): Test gtk_combo_box_set_title
334
335         * gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
336         pointed out by Michael Natterer.
337
338         Fix for bug #321542, Benedikt Meurer:
339         
340         * gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
341         Emit notify::active.
342         
343         (gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
344         g_signal_emit, not g_signal_emit_by_name.
345
346 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
347
348         Fix crashes in connection with pathbar scrolling (#321560,
349         Bogdan Nicula)
350         
351         * gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons): 
352         Stop scrolling when desensitising slider buttons.
353         (gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press): 
354         And use it here.  
355
356         * gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
357         scrolling_down flag.
358
359 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
360
361         * gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
362         (#321777, Jens Granseuer)
363
364         * gtk/gtkaction.c (disconnect_proxy): Disconnect the
365         sync callback for the visibility property.  (#321761,
366         Philip Langdale)
367
368         Turn off input methods in invisible entries, since
369         they are confusing.  (#317002, James Su)
370         
371         * gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
372         methods if visibility changes.
373         (popup_targets_received): Don't show the input method
374         menu if the entry is invisible.  
375
376 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
377
378         * README.in: Add a note about range arrow sensitivity.
379
380         * perf/treeview.c: const correctness fixes
381         found by Arjan van de Ven and gcc.
382
383 2005-11-16  Michael Natterer  <mitch@imendio.com>
384
385         * gtk/gtkimage.c (animation_timeout): call
386         gtk_window_process_updates() so the animation keeps running even
387         if the main loop is busy with sources that eat a lot of cpu with
388         high priority. Fixes bug #321444.
389
390         (gtk_image_new_from_animation): document the fact that the
391         animation will stop running if the main loop is busy with sources
392         that have priorities higher than G_PRIORITY_DEFAULT.
393
394         * tests/testimage.c: added test case that shows an animation even
395         though a cpu-eating idle function is running.
396
397 2005-11-16  Michael Natterer  <mitch@imendio.com>
398
399         * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
400         function which destroys the display's event source. Also removes
401         the source from the global display_sources list and unrefs it.
402
403         * gdk/x11/gdkprivate-x11.h: declare the function.
404
405         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
406         instead of half-destroying the source here.
407
408 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
409
410         * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
411         leak.  (#321032, Peter Zelezny)
412
413 2005-11-15  Michael Natterer  <mitch@imendio.com>
414
415         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
416         display->xid_ht as late as possible (right before XCloseDisplay)
417         because it still needs to be around when the display's screens are
418         finalized. (#85715)
419
420 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
421
422         * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
423         leak result.  (#321441, Tommi Komulainen)
424
425 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
426
427         * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
428         Don't crash if there is no builtin icon.
429
430 2005-11-14  Michael Natterer  <mitch@imendio.com>
431
432         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
433         removed redundant calls to g_object_notify().
434
435 2005-11-13  Matthias Clasen  <mclasen@redhat.com>
436
437         * gdk/gdkcolor.c (gdk_color_parse): Documentation 
438         improvements.  (#321338)
439
440         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
441         limit an inclusive boundary.  (#321299)
442
443 2005-11-12  Michael Natterer  <mitch@imendio.com>
444
445         * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
446         rebuilt if needed.
447
448 2005-11-12  Dom Lachowicz <cinamod@hotmail.com>
449
450         * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
451         theme's handling of toolbars, handleboxes, and menubars more in-line
452         with Microsoft's IE style.
453         * modules/engines/ms-windows/*.c: Indentation cleanups
454         
455 2005-11-12  Matthias Clasen  <mclasen@redhat.com>
456
457         Make builtin icons work in gtk_window_set_icon_name() 
458         (#321046, Maxim Udushlivy)
459
460         * gtk/gtkicontheme.c (insert_theme): Always insert the default
461         theme.
462         (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
463         from here.
464         (theme_lookup_icon, find_builtin_icon): ...and not from here.
465         (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
466         (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
467
468 2005-11-12  Tor Lillqvist  <tml@novell.com>
469
470         * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
471         dotfiles, no such convention on Win32. Just hide files with the
472         hidden attribute. (#314627)
473
474 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
475
476         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
477         check whether the path is a folder.  It is useful to bookmark
478         files as well (e.g. todo.txt), and this will also help
479         performance.
480         (shortcuts_add_bookmark_from_path): Likewise.
481         (shortcuts_activate_iter): Change folders or select files, as
482         appropriate.
483
484 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
485
486         * tests/autotestfilechooser.c (main): Use
487         g_log_set_default_handler() instead of explicitly setting a
488         handler for each domain.
489
490         * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
491         the base path of the volume if it is mounted.
492
493 2005-11-11  Michael Natterer  <mitch@imendio.com>
494
495         Added per-stepper API for GtkRange's stepper sensitivity as
496         discussed in bug #321056:
497
498         * gtk/gtkenums.h: added GtkSensitivityType which can be
499         { AUTO, ON, OFF }.
500
501         * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
502         and "upper-stepper-sensitivity" and public getters/setters for
503         them. Changed stepper drawing to honor the new properties.
504
505         * gtk/gtk.symbols: added the new symbols.
506
507 2005-11-10  Matthias Clasen  <mclasen@redhat.com>
508
509         * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
510         emit them when the popup is shown or hidden.  (#162531, Tommi
511         Komulainen)
512
513         * tests/testcombo.c: Add an example of popuplating a combobox
514         on click.
515
516         * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
517         erroneous semicolon.
518
519         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
520         semicolon. 
521
522         Don't corrupt odd keymaps (#316638, Kean Johnston)
523         
524         * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
525         handle frobbing keymaps with odd numbers of syms/code.
526         
527         * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
528         frob the keymap.
529
530         Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
531         
532         * gtk/gtkpathbar.[hc]: Add a child_path argument to
533         the path_clicked signal.
534         * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
535         child_path, if it is provided.
536         * gtk/marshalers.list (path_bar_clicked): Add the necessary
537         glue.
538
539         * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
540         Kjartan Maraas)
541         
542         * gtk/gtk.symbols: 
543         * gtk/gtktreeview.h: 
544         * gtk/gtktreeview.c: Implement a getter for headers-clickable.
545         (#163851, Richard Hult)
546
547 2005-11-10  Michael Natterer  <mitch@imendio.com>
548
549         Applied patch from maemo-gtk that addresses many issues wrt
550         display migration and display closing (bug #85715).
551
552         * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
553         default display to NULL when it's closed. Instead set the most
554         recently opened display as new default (if one exists).
555
556         * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
557         of this callback.
558
559         * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
560         exist before unrefing them.
561
562         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
563         is closed, allow destruction of the root window.
564
565         * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
566         dispose(), free stuff that was leaked before.
567
568         * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
569         the xsettings_client still exists before destroying it.
570
571         * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
572         X resources.
573
574         * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
575         dispose() implementation.
576
577         * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
578         dispose() and check if it still exists before unrefing it. Set
579         their pointers to NULL/None *after* upchaining in dispose(),
580         because X11 implementations of members of the parent class still
581         need them for their own destruction.
582
583         * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
584         was g_error()ing when finalizing a visual.
585
586         * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
587         get_clipboard_widget() because it would create the widget if it
588         doesn't exist. Use g_object_get_data() directly instead.
589
590         * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
591         of this callback.
592
593 2005-11-10  Simos Xenitellis  <simos@gnome.org>
594
595         * configure.in: Added Tatar (tt) to ALL_LINGUAS.
596
597 Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>
598
599         * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
600         to render its arrows insensitive when the adjustment is in
601         its min or max position. this makes range arrow behaviour 
602         consistent with spin button behaviour. (#321056)
603
604 2005-11-09  Tor Lillqvist  <tml@novell.com>
605
606         * gdk/gdkinternals.h
607         * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
608         the GdkDebugFlag enum.
609
610         * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
611         this file instead of MISC. Now asking for MISC will give mainly
612         window manipulation debugging output with the Win32 backend.
613
614 2005-11-09  Tor Lillqvist  <tml@novell.com>
615
616         * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
617
618         (_gdk_win32_get_adjusted_client_rect): Remove this two-line
619         function which was used only in one place.
620
621         (get_outer_rect): Use _gdk_win32_adjust_client_rect().
622
623         (gdk_window_set_geometry_hints): If we have identical minimum and
624         maximum size hints, remove the resize and maximize
625         decorations/functions. (#104514)
626
627         If we have a maximum size hint, remove the maximize
628         decoration/function but ensure the resize decoration/function is
629         available. Otherwise ensure both resize and maximize
630         decorations/functions are there.
631
632         (set_or_clear_style_bits): Factored out common code from
633         gdk_window_set_decorations() and gdk_window_set_functions(). 
634
635         Hack the window style setting once more: Only touch the window
636         style bits corresponding to the GdkWMDecoration or GdkWMFunction
637         parameter bitmasks. Hopefully this finally is the correct thing to
638         do. We used to clear all other bits than those that were being
639         set, or set all other bits than those that were being cleared.
640
641         Take into account that adding or removing decorations leaves the
642         window's outer size unchanged, i.e., the client area's size and
643         position change. This is apparently not what we want, so change
644         also the window's (outer) position and size appropriately so that
645         the client area's position and size stay constant.
646
647         gtk-demo's color selector dialog is now non-resizable like on X11
648         (I tested with metacity in GNOME). Torn off menus are shrinkable
649         vertically but have a maximum size, and are not maximizable or
650         minimizable, like on X11.
651
652         (gdk_window_set_decorations, gdk_window_set_functions): Let
653         set_or_clear_decorations() do most of the job.
654
655         * gdk/win32/gdkprivate-win32.h: Remove declaration of
656         _gdk_win32_get_adjusted_client_rect().
657
658 2005-11-09  Tor Lillqvist  <tml@novell.com>
659
660         * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
661         * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
662         gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
663         type hint. Implement gdk_window_get_type_hint() by just returning
664         the hint stored.
665
666 2005-11-09  Tor Lillqvist  <tml@novell.com>
667
668         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
669         Remove code that has been permanently ifdeffed out for two years.
670
671 2005-11-08  Matthias Clasen  <mclasen@redhat.com>
672
673         * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
674         finalizing a gc.  (#320789, Nickolay V. Shmyrev)
675
676         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
677         icons if they would make the request large enough to cause
678         Xlib to loose the connection.  (#320909, Claudio Saavedra)
679
680 2005-11-08  Michael Natterer  <mitch@imendio.com>
681
682         * gdk/gdk.symbols
683         * gdk/gdkwindow.h
684         * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
685         extracted from maemo-gtk). Fixes bug #320872.
686
687 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
688
689         * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
690         looks the bookmark label when reordering.  (#320720, Jeremy Cook)
691
692         * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
693         Don't grab focus when a slider button is pressed, instead, use
694         a bit in the pathbar struct to determine whether to scroll up
695         or down.  (#314486, Carlos Garnacho)
696
697         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
698         Don't popup the completions if the focus has already been
699         moved somewhere else.  (#319914, Christian Persch)
700
701         * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
702         Raise the drag_window after reconfiguring the 
703         toolbar.  (#320803, Christian Persch)
704
705         * gtk/gtk.symbols: 
706         * gtk/gtkfilechooserbutton.h: 
707         * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
708         with setter and getter.  (#318945, Christian Persch)
709         
710 Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>
711
712         * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
713
714 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
715
716         * configure.in: Adjust to the stock icon changes.
717         
718 2005-11-07  Tor Lillqvist  <tml@novell.com>
719
720         * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
721         Correct the calculation of maskstride. (#320152, Peter Zelezny)
722         
723 2005-11-06  Michael Natterer  <mitch@imendio.com>
724
725         * gtk/Makefile.am (icons): fixed rule to actually create the
726         symlinks, erroring out if anything goes wrong.
727
728 2005-11-06  Tor Lillqvist  <tml@novell.com>
729
730         * gtk/updateiconcache.c (build_cache): Can't rename a file if the
731         target exists on Win32. First rename the target temporarily, then
732         if the renaming of the source to target fails, restore the
733         original name for the target.
734
735         * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
736
737 2005-11-06  Tor Lillqvist  <tml@novell.com>
738
739         (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
740         like pixbuf_to_hbitmaps_normal().
741         (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
742         G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
743         setting the G_WIN32_PRETEND_WIN9X environment variable.
744         
745 2005-11-06  Tor Lillqvist  <tml@novell.com>
746
747         Make icon masks work on Win98 (#320152, Peter Zelezny)
748
749         * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
750         parameter for the depth of the bitmap, so that this function can
751         be used to create 1-bit bitmaps, too.
752         (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
753         and initialize it properly.
754
755 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
756
757         Store builtin stock icons in an icon cache, instead of
758         populating a hash table with pixbufs at startup, to save both
759         memory and startup time.
760
761         * gtk/stock-icons/*: Reorganize the icons in a directory structure
762         suitable for gtk-update-icon-cache, and rename them to match the
763         stock ids.
764
765         * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
766         add _gtk_icon_cache_has_icon_in_directory().
767
768         * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
769         to store the contents of the icon cache in a C header.
770
771         * gtk/gtkbuiltincache.h: Generated private header which contains 
772         the icon cache for the builtin icons.
773
774         * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
775         icons, and use that in addition to the hash table whenever
776         builtin icons are searched.
777
778         * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
779         use it for static stock ids. 
780         (get_default_icons): Don't add the builtin
781         icons to the icon theme, just register the stock ids.
782         (render_fallback_image): Take the fallback image out of the
783         builtin icon cache.
784         
785         * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
786         the necessary machinery to rebuild gtkbuiltincache.h.
787
788 2005-11-04  Michael Natterer  <mitch@imendio.com>
789
790         * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
791         from maemo-gtk that changes the mtime check for rc files from
792         '>' to '!=', otherwise theme changes go unnoticed when turning
793         back the clock (Tommi Komulainen).
794
795 2005-11-04  Tor Lillqvist  <tml@novell.com>
796
797         * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
798         leak on Win32.
799
800 2005-11-03  Tor Lillqvist  <tml@novell.com>
801
802         * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
803         the Win32 backend, check that GdkDisplay* parameters are equal to
804         _gdk_display instead of using the unnecessarily general
805         GDK_IS_DISPLAY().
806
807         (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
808         color bitmap to have "color" in their name, for similarity with
809         pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
810         too, instead of creating a b&w bitmap with CreateBitmap(). Set up
811         the mask bitmap's contents, ones for those pixels in the color
812         bitmap where the alpha is zero, zero for other pixels. We used to
813         use an uninitialized mask bitmap! This meant that icons and
814         cursors created presumably worked more or less by accident.
815         Totally blank icons with zero alpha everywhere (as used by
816         gtktrayicon.c) definitely did not work as expected.
817
818         * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
819
820         * gtk/gtkstatusicon.c: Implement for Win32. Use code from
821         gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
822         necessary and can be removed from CVS. It has never been mentioned
823         in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
824         are used on Win32. One label widget is used (but never shown) as
825         gtk_widget_render_icon() needs a widget.
826
827         Ifdefs used as necessary in several places. It might be cleaner to
828         split out the backend-specific parts to separate files, or at
829         least collect them into separate blocks in the file.
830
831         (wndproc): New function. Window procedure to monitor mouse events
832         in the system tray icon. Call gtk_status_icon_button_press() as
833         needed.
834         (create_tray_observer): New function. Creates a hidden window that
835         only serves as a tray icon message observer.
836
837         * tests/teststatusicon.c (icon_activated): Position the dialog
838         with GTK_WIN_POS_CENTER.
839         (do_quit): New function, hide and unref the GtkStatusIcon, and
840         call gtk_main_quit().
841         (popup_menu): Add a Quit menu item that calls do_quit().
842         
843 2005-11-02  Tor Lillqvist  <tml@novell.com>
844
845         * gdk/win32/gdkcolor-win32.c
846         * gdk/win32/gdkscreen-win32.c
847         * gdk/win32/gdkwindow-win32.c: Whitespace consistency
848         fixes. Remove superfluous test for GdkWindow* parameters being
849         non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
850         GdkScreen and one GdkDisplay in the Win32 backend, use those
851         variables instead of the getter functions. For GdkDisplay* and
852         GdkScreen* parameters, check that they are equal to the
853         corresponding singleton variables instead of the more general
854         GDK_IS_DISPLAY() or GDK_IS_SCREEN().
855
856 2005-11-02  Matthias Clasen  <mclasen@redhat.com>
857
858         * gtk/gtktextview.c: Remove some g_return_if_fail() from
859         static functions, replace some others by g_assert().
860         
861         * gtk/gtktextview.c (selection_motion_event_handler) 
862         (gtk_text_view_start_selection_drag): Keep track of the original
863         selection boundaries during a drag selection, in order to correctly
864         decide when to extend or shrink the selection.  (#320167,
865         reported by Arvind S N, patch by Paolo Borelli)
866
867         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
868         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
869         manual offset calculations by g_utf8_offset_to_pointer().
870         (#320360, Paolo Borelli)
871
872 Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>
873
874         * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
875         nodes via the g_slice_*() API.
876         _gtk_rbtree_new(): fixed wrong node allocation via g_new().
877
878 2005-11-01  Tor Lillqvist  <tml@novell.com>
879
880         * gdk/win32/gdkprivate-win32.h
881         * gdk/win32/gdkglobals-win32.c
882         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
883         pre-interned GdkAtoms and pre-registered clipboard formats. Sort
884         their declarations, definitions and assignments into a more
885         logical and consistent order.
886
887         * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
888         CF_ prefix for the predefined clipboard format names. Put quotes
889         around registered format names to distinguish them.
890         
891         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
892         immediately with a warning if the property type is STRING, TEXT,
893         COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
894         should never pretend to handle on Win32. Handle only UTF8_STRING
895         here, other formats with delayed rendering. Use \uc1 instead of
896         \uc0 when generating Rich Text Format for easier testability on
897         XP, where WordPad misinterprets \uc0 encoded characters. Add more
898         GDK_NOTE debugging output for Clipboard operations.
899
900         * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
901         (gdk_selection_convert): Don't pretent to handle STRING, just
902         UTF8_STRING. Streamline error handling, don't unnecessarily have a
903         GError which then isn't used for anything anyway if it gets set.
904         (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
905         COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
906
907         * config.h.win32.in: Sync with what configure produces.
908
909         * configure.in: Don't look for X_PACKAGES unless building for
910         x11. (#313986, John Ehresman)
911
912 2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
913
914         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
915                         Wondered why there was no ku there before??
916
917 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
918
919         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
920         window to the toplevels window group.  (#319912, Christian Persch)
921
922 2005-10-28  Kristian Rietveld  <kris@gtk.org>
923
924         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
925         stupid thinko.
926
927 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
928
929         * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
930         drag cursors.  (#319200, Federico Mena Quintero)
931
932         * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
933         Shift-G to go to the previous match, like firefox.  (#320061, Christian 
934         Neumair)
935
936         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
937         C99ism.  (#320000, Kazuki Iwamoto)
938
939         * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
940         stars.  (#319985, Bastien Nocera)
941
942         * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
943         FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)
944
945 2005-10-26  Michael Natterer  <mitch@imendio.com>
946
947         Fix bug #319974:
948
949         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
950         make sure that setting any of pixbuf/stock-id/icon-name resets the
951         others because they are mutually exclusive, and that unsetting any
952         of them only resets the pixbuf and nothing else. Also added
953         some missing g_object_notify().
954
955         (gtk_cell_renderer_pixbuf_get_property): simplified calls to
956         g_value_set_object().
957
958         (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
959         (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
960         g_object_notify ("pixbuf").
961
962 2005-10-27  Matthias Clasen  <mclasen@redhat.com>
963
964         * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
965         careful about initializing cell_area.  (#319382, Tommi
966         Komulainen)
967
968         * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
969         Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)
970
971         * demos/gtk-demo/clipboard.c (paste_received): Only set the
972         text if it is not NULL.  (#319930, Thomas Klausner)
973
974         * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
975         loader before trying to get the pixbuf.  (#319930, Thomas Klausner)
976
977 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
978
979         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
980         * gtk/gtkthemes.c (gtk_theme_engine_load): 
981         * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
982         when dlopening modules.  (#319557, Laszlo Peter)
983
984 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
985
986         * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
987         segments when determining text direction.  (#319065, Tommi Komulainen)
988
989         * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
990         on duplicate destroy.  (#318953, Gustavo Carneiro)
991
992         * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
993         Point out that destroy-with-parent is a bad idea for the dialog
994         passed to this function.  (#318943, Christian Persch)
995
996         * */Makefile.am: use $(GLIB_MKENUMS) instead of 
997         glib-mkenums.  (#318582, Damien Carbery)
998
999         * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
1000         docs.  (#317682, Christian Neumair)
1001
1002         * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
1003         seem to affect the placement of the data in the readonly 
1004         section, and causes problems with some compilers.  (#317844)
1005
1006 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
1007
1008         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
1009         Fix some issues with background drawing in RTL.  (#318781,
1010         Eric Cazeaux)
1011
1012         * tests/Makefile.am:
1013         * tests/testentrycompletion.c: Apply a patch by Christian
1014         Persch to add property editors.
1015
1016         * gtk/gtkstatusicon.c: Emit activate on single-click,
1017         not on double-click, change proposed by Milosz Derezynski.
1018
1019 2005-10-25  Kristian Rietveld  <kris@gtk.org>
1020
1021         Fixes #311955, reported by Markku Vire; and a lot more.
1022
1023         * gtk/gtktreemodelfilter.c: Made this thing work correctly.
1024         Levels can now have invisible nodes cached, functions have been
1025         rewritten/refactored to take this into account; also the logic in
1026         some functions has been corrected.
1027         
1028         Each referenced node now references all visible children or a single
1029         invisible child, in order to be able to monitor all changes in the
1030         child model required for correct operation.
1031
1032         When a virtual root is set, all nodes on the virtual root level are
1033         referenced.
1034
1035         At last, a bunch of random bug fixes and comment updates.
1036
1037 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
1038
1039         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
1040         more docs.  (#319722, Paolo Borelli)
1041
1042         * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
1043         initialization of screen_x11->xft_rgba more explicit.  (#319627,
1044         Bogdan Nicula)
1045
1046         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
1047         in a blurb.  (#319499, Francisco Javier F. Serrador)
1048
1049 2005-10-24  Matthias Clasen  <mclasen@redhat.com>
1050
1051         Add settings to hide the input method and Unicode control character
1052         submenus in the context menus of GtkEntry and GtkTextView.  
1053         
1054         * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
1055         
1056         * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
1057
1058         * gtk/gtktextview.c (popup_targets_received): 
1059         * gtk/gtkentry.c (popup_targets_received): Use the settings here.
1060
1061 2005-10-24  Kristian Rietveld  <kris@gtk.org>
1062
1063         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
1064         row-has-child-toggled when the level is not in the cache does not
1065         make sense.  (This bug probably crept in during the early stages
1066         of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
1067         implementation yet),
1068         (gtk_tree_model_sort_real_unref_node): only get the child iter
1069         when we will actually also use it.
1070
1071 2005-10-22  Michael Natterer  <mitch@imendio.com>
1072
1073         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
1074         widget being realized, in addition to being visible, to avoid
1075         running into precondition check in gtk_tree_view_get_cell_area().
1076         (approved by Kris).
1077
1078 2005-10-22  Dom Lachowicz <cinamod@hotmail.com>
1079
1080         * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
1081         Experimentally, scrollbar steppers can shrink to 8 pixels on 
1082         Win32. Reflect that in the theme.
1083         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
1084         there is a 1-pixel border between a scrollbar and its child
1085         in ScrolledWindows on Win32. Reflect that in the theme.
1086         
1087 2005-10-20  Matthias Clasen  <mclasen@redhat.com>
1088
1089         * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
1090         for the selection window.  (#318806, Alex Larsson)
1091
1092 2005-10-18  Federico Mena Quintero  <federico@ximian.com>
1093
1094         Fixes bug #317999:
1095
1096         * tests/autotestfilechooser.c
1097         (test_button_folder_states_for_action): Test that we have either
1098         $cwd or the explicitly-set folder.
1099         (test_reload_sequence): Likewise.
1100
1101         * gtk/gtkfilechooserdefault.c
1102         (gtk_file_chooser_default_get_current_folder): If our reload_state
1103         is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
1104
1105 2005-10-14  Tor Lillqvist  <tml@novell.com>
1106
1107         * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
1108         It didn't really do anything useful, and was just confusing and
1109         incomplete. Comments claimed we don't do delayed rendering, but in
1110         fact we do, for images. (The delayed rendering code has other
1111         problems, though, see #168173.) The clipboard viewer code was
1112         probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
1113         the message when necessary). It was just test code, it said so in
1114         a comment. Add something similar back later if necessary.
1115
1116         (_win32_on_clipboard_change,
1117         _gdk_win32_register_clipboard_notification): Remove.
1118
1119         (gdk_display_supports_selection_notification,
1120         gdk_display_request_selection_notification): Always just return
1121         FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
1122
1123 2005-10-13  Tor Lillqvist  <tml@novell.com>
1124
1125         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
1126         Alt-Enter specially. It does not have any special meaning and
1127         should be passed on to the application. (#318378, Tim Evans)
1128
1129 2005-10-13  Tor Lillqvist  <tml@novell.com>
1130
1131         Set visual depth to 24 for 32 bits-per-pixel devices on
1132         Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
1133         optimized composite_0888() function rather than the slower image
1134         dithering functions to draw pixbufs (#313993, John Ehresman)
1135
1136         * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
1137         _gdk_windowing_get_bits_for_depth() to initialize
1138         GdkImage::bits_per_pixel.
1139         (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
1140
1141         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
1142         _gdk_windowing_get_bits_for_depth() to initialize
1143         BITMAPINFOHEADER::biBitCount.
1144
1145         * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
1146         GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
1147         32.
1148
1149 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1150
1151         * demos/gtk-demo/appwindow.c: (about_cb):
1152           use PACKAGE_VERSION,bump year (#318654)
1153
1154 2005-10-11  Matthias Clasen  <mclasen@redhat.com>
1155
1156         * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
1157         toggle here with the matching on toggle if it immediately follows. 
1158         This is a common case, and handling it here prevents quadratic blowup 
1159         in cleanup_line() below.  (#317125)
1160
1161         * gtk/gtktextsegment.h: 
1162         * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
1163         the character counts into this function instead of computing them
1164         again.
1165
1166 2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
1167
1168         * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
1169         code.
1170         * gtk/gtkfilechooserdefault.c
1171         (gtk_file_chooser_default_add_shortcut_folder): Return an error code
1172         when the shortcut already exists in the sidebar.  (#147521)
1173
1174 2005-10-09  Matthias Clasen  <mclasen@redhat.com>
1175
1176         * tests/testcombo.c: Demonstrate how to use custom widgets in
1177         a GtkComboBox.  
1178
1179 2005-10-07  Federico Mena Quintero  <federico@ximian.com>
1180
1181         Fixes bug #317999:
1182
1183         * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
1184         the the result of gtk_file_chooser_get_folder() is NULL or
1185         non-NULL at the right times.  Log the tests.
1186         (test_button_folder_states): New test for the initial states of
1187         the current folder in GtkFileChooserButton.
1188         (main): Test that the number of warnings/errors/critical errors is
1189         zero.
1190
1191         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
1192         Clarify the documentation on when this can return NULL.
1193         (gtk_file_chooser_get_current_folder_uri): Likewise.
1194
1195         * gtk/gtkfilechooserbutton.c (struct
1196         _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
1197         we use it to keep track of whether a folder has been set.
1198         (gtk_file_chooser_button_map):  Implement.  If no folder has been
1199         loaded before, we at least try to load $cwd here.
1200         (gtk_file_chooser_button_constructor): If the construct-time
1201         dialog already has a folder set, turn on our folder_has_been_set
1202         flag.
1203         (dialog_current_folder_changed_cb): Turn on our
1204         folder_has_been_set flag.
1205
1206 2005-10-07  Michael Natterer  <mitch@gimp.org>
1207
1208         * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
1209         PROFILE_FILE_CHOOSER because they break compilation after the
1210         removal of <unistd.h>.
1211
1212 2005-10-07   Matthias Clasen  <mclasen@redhat.com>
1213
1214         * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
1215         by moving it out of the profiling ifdef.
1216
1217         * gtk/gtkfilechooserdefault.c: Remove a redundant (and
1218         unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)
1219
1220         * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
1221         g_return_val_if_fail(), not g_return_if_fail().  (#318412,
1222         Kazuki Iwamoto)
1223
1224 2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
1225                 
1226         * gtk/gtk.symbols:
1227         * gtk/gtktextbuffer.h:
1228         * gtk/gtktextbuffer.c: Add a readonly has-selection property
1229         with a getter.  (#318161, Paolo Borelli)
1230
1231 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
1232
1233         * README.in: Start collecting release notes for 2.10.
1234
1235         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
1236         leak fix, since the assertion failures were traced to 
1237         an xchat bug.  (#314696)
1238         
1239         * gtk/gtkstyle.c (gtk_style_detach):
1240         (gtk_style_attach):  Documentation improvements.
1241         (gtk_style_detach): Assert that the attach_count is > 0.
1242
1243 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
1244
1245         * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
1246         shortcut position, not a ShortcutsIndex, to make the function more
1247         generic.
1248         (home_folder_handler): Pass the resolved index to
1249         switch_to_shortcut(), rather than just SHORTCUTS_HOME.
1250         (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
1251         (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
1252         binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
1253         make the respective key switch to the first, second, ..., tenth
1254         bookmark.
1255         (quick_bookmark_handler): Implement.
1256
1257 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
1258
1259         * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
1260         Desktop; just use their real names on the file system for the
1261         user-visible names.
1262
1263         * gtk/gtkfilechooserdefault.c
1264         (gtk_file_chooser_default_class_init): Add a "desktop-folder"
1265         binding signal, and bind it to M-d by default.
1266         (desktop_folder_handler): Implement the default handler.
1267         (home_folder_handler): Use a helper function.
1268         (switch_to_shortcut): New helper function.
1269         (shortcuts_append_home): Don't special-case the name of "Home";
1270         just use the folder name.
1271
1272 2005-10-04  Tor Lillqvist  <tml@novell.com>
1273
1274         * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
1275         HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
1276
1277 2005-10-04  Matthias Clasen  <mclasen@redhat.com>
1278
1279         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
1280         from yesterday, since it leads to assertion failures.  (#317879,
1281         Sebastian Bacher)
1282
1283 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
1284
1285         * gtk/gtkcalendar.c (gtk_calendar_init): Call 
1286         calendar_compute_days() after setting priv->week_start.
1287
1288 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
1289
1290         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
1291         removing it from the hash table.  (#314696, Benjamin Berg)
1292
1293 2005-10-01  Tor Lillqvist  <tml@novell.com>
1294
1295         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
1296         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
1297         is that the the desktop isn't visible because the session has been
1298         switched, the screen is locked, or a terminal server session
1299         disconnected, so no error message necessary. (#137796)
1300
1301         It is of course remotely possible that BitBlt() failing with
1302         ERROR_INVALID_HANDLE might also be caused by some other
1303         problem. We could strive for perfection and track whether the
1304         desktop is visible by using WTSRegisterSessionNotification() and
1305         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
1306         this issue, though. If we would track desktop visibility, we
1307         should then avoid even trying to update the display at all while
1308         the desktop isn't visible.
1309
1310 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
1311
1312         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
1313         to correct the calculations for the first week day. We may
1314         just have to remove this code if too many locales turn out 
1315         to have broken data. 
1316
1317         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
1318         some cases.  (#317611, Tommi Komulainen)
1319
1320         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
1321         Prevent overflow when storing size hints in an unsigned
1322         short variable. Tracked down by Ray Strode and Søren Sandmann.
1323
1324 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
1325
1326         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
1327         Paolo Borelli)
1328
1329         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
1330         grab shadowed.  (#317332)
1331
1332 2005-09-29  Tor Lillqvist  <tml@novell.com>
1333
1334         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
1335
1336 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
1337
1338         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
1339         if the unmap test fails.
1340         (test_reload_sequence): Use gtk_widget_show_now() instead of
1341         gtk_widget_show() for the dialog.
1342         Thanks to Tim Janik for noticing these.
1343
1344 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
1345
1346         * tests/testcellrenderertext.c: New file with a set of tests for
1347         GtkCellRendererText.  The idea is to run a text renderer through
1348         most of its interesting property values to see that it works
1349         correctly.
1350
1351         * tests/Makefile.am: Added testcellrenderertext.
1352
1353         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
1354         entry/exit of this function for profiling.
1355         (gtk_file_chooser_default_style_set): Mark the start/end of the
1356         calls to the parent class and the the signal emission for profiling.
1357
1358 2005-09-29  Tor Lillqvist  <tml@novell.com>
1359
1360         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
1361         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
1362         system codepage using g_win32_locale_filename_from_utf8().
1363         (#317457, Kazuki Iwamoto)
1364
1365 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
1366
1367         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
1368         here. (#317039, Paolo Borelli)
1369
1370         * gtk/gtktexttag.h: 
1371         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
1372         to make this function work as boxed copy function.  (#317455,
1373         Gustavo Carneiro)
1374
1375         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
1376         NULL.  (#316828, Tor Lillqvist)
1377
1378 2005-09-28  Tor Lillqvist  <tml@novell.com>
1379
1380         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
1381         Iwamoto)
1382
1383 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1384
1385         Don't reload the current folder unnecessarily on ::map().
1386
1387         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
1388         the reloading state.
1389         (struct _GtkFileChooserDefault): Added a "reload_state" field.
1390
1391         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
1392         Initialize impl->reload_state.
1393         (gtk_file_chooser_default_map): Check the impl->reload_state; load
1394         a default folder if no folder has been set, or reload the current
1395         one only if we had been unmapped first.
1396         (gtk_file_chooser_default_update_current_folder): Set the
1397         reload_state to RELOAD_HAS_FOLDER.
1398         (gtk_file_chooser_default_unmap): Implement, and set the
1399         reload_state to RELOAD_WAS_UNMAPPED.
1400         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
1401         here; they'll get (re)loaded on ::map() anyway.
1402
1403         * gtk/gtkfilechooserwidget.c
1404         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
1405
1406         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
1407         a dialog; build it ourselves.
1408         (test_reload): New test to ensure that we don't load the default
1409         folder more than once, and that we reload it when
1410         unmapping/remapping.
1411         (get_impl_from_dialog): New utility function.
1412         (test_widgets_for_current_action): Use get_impl_from_dialog().
1413
1414 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1415
1416         * gtk/gtkfilechooserdefault.c
1417         (gtk_file_chooser_default_constructor): Mark the entry/exit of
1418         this function for profiling.
1419         (check_icon_theme): Likewise.
1420         (change_icon_theme): Likewise.
1421         (settings_notify_cb): Likewise.
1422         (gtk_file_chooser_default_screen_changed): Likewise.
1423         (update_chooser_entry): If the selection is empty, clear the file
1424         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
1425         nothing will be selected when the user starts typeahead in the
1426         treeview, and we don't want to clear the file name entry in that
1427         case --- the user could be typing-ahead to look for a folder name.
1428         Fixes bug #308332, patch by Jürg Billeter.
1429
1430 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
1431
1432         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
1433         Pop below the entry if there's more free space below the entry
1434         than above.  (#316948, Tommi Komulainen)
1435
1436 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
1437
1438         Do not create the save mode-specific widgets in the open modes, so
1439         that we don't carry their baggage around.
1440
1441         * gtk/gtkfilechooserdefault.c
1442         (gtk_file_chooser_default_constructor): Don't create the
1443         save_widgets here.
1444         (save_widgets_create): Set the impl->save_widgets directly here,
1445         instead of passing the widgets back to the caller.  Also, pack
1446         them into the impl's box.
1447         (update_appearance): Create or destroy the save widgets as
1448         appropriate.  Set the action of the save_file_name_entry here.
1449         (shortcuts_add_current_folder): Set the active item in the
1450         save_folder_combo only if it exists.
1451         (gtk_file_chooser_default_set_property): Don't set the action of
1452         the save_file_name_entry here.
1453         (gtk_file_chooser_default_update_current_folder): Set the base
1454         folder of the save_file_name_entry only if the entry exists.
1455         (shortcuts_drag_data_received_cb): Cast the selection_data->data
1456         to (const char *) since that's what shortcuts_drop_uris() expects.
1457         (file_list_drag_data_received_cb): Likewise, for
1458         g_uri_list_extract_uris().
1459
1460 2005-09-26  Tor Lillqvist  <tml@novell.com>
1461
1462         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
1463         the shaped flag here, too. (#316871)
1464         (gdk_window_shape_combine_region): Currently unimplemented, so
1465         don't do anything to the shaped flag here.
1466
1467 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
1468
1469         Fix #316871, reported by Dan Winship:
1470         
1471         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
1472
1473         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
1474         (gdk_window_shape_combine_region): Set it here.
1475
1476         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
1477         remove the child area for shaped windows.
1478
1479 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
1480
1481         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
1482         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
1483
1484 2005-09-22  Michael Natterer  <mitch@imendio.com>
1485
1486         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
1487         consistent with GTK+ terminology:
1488
1489         * gtk/gtkcellrendererkeys.[ch]
1490         * tests/testkeys.c: removed...
1491
1492         * gtk/gtkcellrendereraccel.[ch]
1493         * tests/testaccel.c: ...and added.
1494
1495         * gtk/Makefile.am
1496         * gtk/gtk.h
1497         * gtk/gtk.symbols
1498         * tests/Makefile.am: changed accordingly.
1499
1500 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
1501
1502         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
1503         for the grab-broken-event signal, noticed by Damon Chaplin.
1504
1505 2005-09-21  Tor Lillqvist  <tml@novell.com>
1506
1507         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
1508         gdk_text_property_to_text_list_for_display,
1509         gdk_text_property_to_utf8_list_for_display,
1510         gdk_win32_selection_add_targets,
1511         _gdk_win32_selection_convert_to_dib): Free return value from
1512         gdk_atom_name().
1513         (gdk_text_property_to_text_list_for_display): Drop GError variable
1514         that isn't actually used after being set.
1515
1516 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
1517
1518         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
1519         documentation.
1520
1521 2005-09-20  Tor Lillqvist  <tml@novell.com>
1522
1523         * gdk/win32/gdkselection-win32.c
1524         (gdk_selection_owner_get_for_display): Do return the correct owner
1525         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
1526         a window GDK knows about). The reason to return NULL seems to have
1527         gone when in the fix for bug #163702 the artificial
1528         GDK_SELECTION_CLEAR event generation was removed from
1529         gdk_selection_send_notify_for_display(). Fixes bug #316552.
1530
1531 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
1532
1533         Avoid unnecessary XkbGetState() calls and XkbStateNotify
1534         events.  (#151555, Søren Sandmann)
1535
1536         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
1537         XkbSelectEventDetails() to select XkbStateNotify events
1538         for only the state we care about.
1539
1540         * gdk/x11/gdkprivate-x11.h:
1541         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
1542         the event into the function and update the keymap state from
1543         the state information contained in the event. Adjust all callers.
1544         
1545 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
1546
1547         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
1548         in multiple places to avoid segfaults if the index is out of range.  
1549         (#316422, Guillaume Cottenceau)
1550         (gtk_icon_view_set_drag_dest_item): 
1551         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
1552         #316424, Guillaume Cottenceau)
1553
1554 2005-09-18  Hans Breuer  <hans@breuer.org>
1555
1556         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
1557         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
1558
1559 2005-09-18  Hans Breuer  <hans@breuer.org>
1560
1561         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
1562         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
1563         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
1564         the icon and is blinking with teststatusicon. More to come ...
1565
1566 2005-09-18  Hans Breuer  <hans@breuer.org>
1567
1568         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
1569         cause gtkprogressbar.c has #include <config.h> conditionally; less
1570         noise from generated gtk.def
1571         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
1572         
1573         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
1574         For me it works as well as the *NIX implemenation, that is not at all.
1575
1576         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
1577
1578         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
1579         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
1580         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
1581         again - if compiled properly.
1582
1583         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
1584         already coming with Gtk+. Makes it compile on win32.
1585
1586 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
1587
1588         * README.cvs-commits: fixed some tiny typos
1589
1590 2005-09-16  Tor Lillqvist  <tml@novell.com>
1591
1592         * modules/engines/ms-windows/msw_style.c (draw_extension,
1593         draw_box_gap): Check whether the widget actually is a GtkNotebook
1594         before treating it as such. Drop some unneeded local variables,
1595         use parameter with same information instead. (#316412)
1596
1597 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
1598
1599         * tests/autotestfilechooser.c: Start a set of automated tests for
1600         the file chooser.  The only test in there right now doesn't pass
1601         yet.  It specifies the intended behavior of the first optimization
1602         of a series which I'll do on the file chooser (see
1603         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
1604         details of this optimization).
1605
1606         * tests/Makefile.am: Added autotestfilechooser.c.
1607
1608         * gtk/gtkfilechooserprivate.h (struct
1609         _GtkFileChooserDialogPrivate): Move all the file chooser's private
1610         structures to here, so that they can be accessed by
1611         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
1612         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
1613
1614         * gtk/gtkfilechooserdialog.c: See above.
1615
1616         * gtk/gtkfilechooserwidget.c: See above.
1617
1618         * gtk/gtkfilechooserdefault.c: See above.
1619
1620 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
1621
1622         * gtk/gtkwindow.c: 
1623         gtk_window_map_event(): new function to work around lost unmap requests.
1624         fixes bug #316180.
1625
1626 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
1627
1628         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
1629         an easy-to-find profiling marker when starting to create a file
1630         chooser.
1631         (browse_files_model_finished_loading_cb): Likewise, for when the
1632         chooser is finished loading.
1633
1634 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
1635
1636         * gtk/gtkcolorbutton.c: Check "color" argument in 
1637         gtk_color_button_set_color ()
1638
1639 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
1640
1641         * gtk/gtklabel.c (gtk_label_get_type): 
1642         * gtk/gtkbutton.c (gtk_button_get_type): 
1643         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
1644         using a mem chunk for window groups, buttons, labels.
1645
1646         * gtk/updateiconcache.c (foreach_remove_func): Fix
1647         a use-after-free bug.  (#316256, Alexander Nedotsukov)
1648
1649 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
1650
1651         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
1652
1653         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
1654         
1655 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
1656
1657         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
1658         Let GDK_Return pass through in some more cases.
1659
1660         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
1661         activating the entry. 
1662
1663         * gtk/gtkiconview.c (gtk_icon_view_class_init):
1664         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
1665         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
1666
1667         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
1668         (#316001, Guillaume Cottenceau)
1669
1670         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
1671         mistake in the docs.  (#315993, Guillaume Cottenceau)
1672
1673         * tests/testentrycompletion.c (create_simple_completion_model): Add
1674         some strings containing multibyte characters.
1675
1676         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
1677         Fix prefix insertion for multibyte characters.  (#316095,
1678         Tommi Komulainen)
1679
1680         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
1681         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
1682         return NULL if the widget is not realized.  (#316023,
1683         Guillaume Cottenceau)
1684
1685 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
1686
1687         * gdk/gdk.symbols: 
1688         * gdk/gdkproperty.h: 
1689         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
1690         New function to avoid pointless strdups when creating atoms
1691         from static strings.  
1692
1693         * gdk/x11/*.c:
1694         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
1695         appropriate.
1696
1697 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1698
1699         * gtk/gtkcellrendererkeys.h: 
1700         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
1701         and editing accelerators, a port of EggCellRendererKeys .
1702
1703         * gtk/gtk.symbols:
1704         * gtk/gtk.h:
1705         * gtk/Makefile.am: Add the keys cell renderer.
1706
1707         * tests/Makefile.am: 
1708         * tests/testkeys.c: Test GtkCellRendererKeys
1709
1710 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1711
1712         Make it possible to determine if a key event is for a
1713         modifier key:
1714         
1715         * gdk/x11/gdkprivate-x11.h: 
1716         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
1717         New function to determine if a keycode is mapped to a modifier.
1718         (get_xkb): Get the modmap.
1719
1720         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
1721         is_modifier bit by calling _gdk_keymap_key_is_modifier().
1722
1723         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
1724         bit.
1725
1726 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1727
1728         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
1729         unused variable, noticed by Kjartan Maraas.
1730
1731 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1732
1733         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
1734         Make drag reordering work properly for columns other than the
1735         first.  (#315054, Dan Winship)
1736         
1737         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
1738         invalid fontnames better. (#136926, Michael R. Walton)
1739         
1740         Stop cursor blinking in non-editable regions of a text view.
1741         (#311508, Torbjörn Andersson)
1742         
1743         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
1744         (cursor_blinks): Take editability into account when deciding
1745         whether the cursor blinks.
1746         (gtk_text_view_button_release_event): 
1747         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
1748
1749         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
1750         Use connect_after to connect to the focus_out event. This
1751         ensures that the entry has already stopped blinking by the time
1752         we emit the edited signal.  (#315229, Thomas Leonard)
1753
1754         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
1755
1756         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
1757         unsigned ints to -1.  (#315481, Kjartan Maraas)
1758
1759         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
1760         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
1761         (#314473, Stanislav Brabec)
1762
1763 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
1764
1765         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
1766         memory handling.  (#314975, Torsten Schoenfeld)
1767
1768         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
1769         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
1770         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
1771         * gtk/gtklabel.c (gtk_label_class_init): 
1772         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
1773         Stylistic improvements and clarifications for some blurbs. 
1774         (#315520, Clytie Siddall)
1775
1776 2005-09-09  Tor Lillqvist  <tml@novell.com>
1777
1778         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
1779         display name. There is only one GdkDisplay on Win32, and
1780         constructing the display name isn't entirely trivial, so cacheing
1781         is probably worth it. For instance GIMP calls this function a lot.
1782         (gdk_display_open): Call gdk_display_get_name() to prime the
1783         cached name.
1784         (gdk_display_get_n_screens, gdk_display_get_screen,
1785         gdk_display_get_default_screen): Verify parameter correctness like
1786         the X11 backend does.
1787
1788         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
1789         Return a freshly allocated string, as the API specifies. Fixes a
1790         heap corruption problem that caused random errors and crashes in
1791         GIMP, for instance.
1792
1793 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
1794
1795         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
1796         Make C-u commit and restart hex input if we are already in a
1797         hex sequence.
1798
1799 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
1800
1801         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
1802         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
1803         if they are mapped to the same modifier.
1804
1805         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
1806         to gtkstatusicon.c and gtktrayicon-x11.c
1807
1808         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
1809         default accel mod mask.
1810
1811         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
1812         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
1813         Don't use GDK_ALT_MASK.
1814
1815         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
1816
1817 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
1818
1819         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
1820         
1821         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
1822         modifiers.
1823
1824         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
1825         Mod2 - Mod5 and against Super, Hyper, Meta.
1826
1827         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
1828         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
1829         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
1830
1831         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
1832         modmap to maintain the information which X modifiers map to
1833         virtual modifiers.
1834         (get_xkb): Set up the modmap from the XKB tables.
1835         (update_keymaps): Set up the modmap from the information returned
1836         by XGetModifierMapping in the non-XKB case.
1837
1838         * gdk/x11/gdkprivate-x11.h: 
1839         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
1840         function to set the virtual modifiers in the state.
1841
1842         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
1843         _gdk_keymap_add_virtual_modifiers here.
1844
1845         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
1846         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
1847         for GDK_MOD1_MASK.
1848
1849 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
1850
1851         * gtk/gtkaction.c (connect_proxy): Set the label of a button
1852         if it has no child.  (#315253, John Finlay)
1853
1854 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
1855
1856         * gtkimcontextsimple.h: Add a modifiers_dropped bit
1857
1858 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
1859
1860         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
1861         on destroy to avoid problems when they are called on a destroyed
1862         widget.  (#315135, John Cupitt)
1863         
1864         * gtk/gtkentry.c (gtk_entry_class_init):
1865         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
1866         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
1867
1868         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
1869         code. Now we only steal a single key combination, Ctrl-Shift-U,
1870         instead of sixteen. 
1871         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
1872         by a sequence of hex digits entered with Ctrl-Shift still held.
1873         Releasing one of the modifiers or pressing space while the modifiers
1874         are still held commits the character. It is possible to erase
1875         digits using backspace.
1876         As an extension to the above, we also allow to start the sequence
1877         with Ctrl-Shift-U, then release the modifiers before typing any
1878         digits, and enter the digits without modifiers.
1879         (#82011, Owen Taylor)
1880         
1881 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
1882
1883         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
1884         we still need to deliver the destroy event.  (#314980, Chris Lahey)
1885
1886         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
1887         im context before committing \n or \t.
1888
1889 2005-09-02  Alexander Larsson  <alexl@redhat.com>
1890
1891         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
1892         (shortcuts_activate_volume):
1893         Handle base_path being null in the rest of the cases (#310270)
1894
1895 2005-09-02  Tor Lillqvist  <tml@novell.com>
1896
1897         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
1898         cursor position also in root window coordinates. Prune out
1899         superfluous WM_MOUSEMOVE events even earlier, based on root window
1900         coordinates. Windows sends WM_MOUSEMOVE messages after a new
1901         window has ben mapped below the cursor even if the mouse doesn't
1902         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
1903         confused at least gtk_menu_motion_notify(). (#314995)
1904
1905         * gtk/gtkintl.h: No need to include config.h here. It caused
1906         warnings about GTK_LOCALEDIR being redefined on Win32 when
1907         compiling files where gtkintl.h is included after gtkprivate.h
1908         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
1909
1910         * gtk/gtkplug.c: Include config.h.
1911
1912 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
1913
1914         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
1915         xdg_mime_get_mime_type_for_file() where possible, to avoid
1916         useless re-stating.  
1917         
1918         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
1919         typo.  (#314921, Guillaume Cottenceau)
1920
1921         * gdk/*.c: Intern some more strings.
1922         * gtk/gtkintl.h: 
1923         * gtk/*.c: Define an I_() macro and use it instead of the 
1924         bulky g_intern_static_string().
1925
1926 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
1927
1928         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
1929         instead of copying it.
1930
1931         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
1932
1933         * gtk/*.c: Also intern static strings passed to 
1934         g_object_set_data().
1935
1936         * gdk/Makefile.am: 
1937         * gtk/Makefile.am: Intern type names in code generated by 
1938         glib-mkenums, too.
1939
1940         * gtk/*.c: 
1941         * gdk/x11/*.c: 
1942         * gdk/*.c: Intern type names before registering the type to avoid 
1943         unnecessary copies.
1944
1945         * configure.in: Require GLib 2.9.0
1946
1947 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
1948
1949         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
1950         and add icon-size and icon-size-set properties.  (#314172)      
1951
1952         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
1953         groups across transient parents.  (#312918, Christian Persch)
1954
1955         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
1956         Guillaume Cottenceau)
1957
1958         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
1959         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
1960
1961 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
1962
1963         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
1964         make C-/ select all and C-\ unselect all.  (#309301,
1965         Kathy Fernandez)
1966
1967         * gtk/gtkimcontextsimple.c: Change the compose sequence for
1968         soft hyphen to be multi_key-minus-minus-space, and add
1969         compose sequences multi_key-minus-minus-period and 
1970         multi_key-minus-minus-minus for en dash and em dash.
1971         (#172653, Christian Lohmaier)
1972
1973         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
1974         code.  (#313946, Christian Persch)
1975
1976         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
1977         fix for the default value of the "ui" property.
1978
1979 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
1980
1981         * gtk/gtk.symbols: 
1982         * gtk/gtkselection.h:
1983         * gtk/gtkselection.c: Add functions which look for text, image
1984         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
1985
1986         * gtk/gtk.symbols: 
1987         * gtk/gtkselection.h:
1988         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
1989         Add a function to check wether targets include uri.  
1990         (#314092, Mark Wielaard)
1991         
1992         * gtk/gtk.symbols: 
1993         * gtk/gtkwindow.h: 
1994         * gtk/gtkwindow.c: Add a deletable property with getter
1995         and setter, to control the close button in the window 
1996         frame.  (#59718, Havoc Pennington)
1997
1998 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
1999
2000         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
2001         to the arrow keys for menu navigation.  (#162825, Carl Worth)
2002
2003         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
2004
2005         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
2006
2007         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
2008         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
2009         refer to nonexisting stock ids.
2010
2011         * gtk/gtktextview.c (popup_targets_received): 
2012         * gtk/gtkentry.c (popup_targets_received): Construct
2013         the "Select All" menuitem from stock.
2014
2015         * gtk/stock-icons/stock_select_all_{16,24}.png:
2016         * gtk/stock-icons/Makefile.am: 
2017         * gtk/gtkiconfactory.c:
2018         * gtk/gtkstock.h: 
2019         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
2020         Calum Benson)
2021
2022         * gtk/gtktrayicon.c: Add a pointer to the spec.
2023
2024         * gtk/gtkstatusicon-x11.c: Add docs.
2025
2026         * gtk/gtkstatusicon.h: Fix a typo.
2027
2028         Add a cross-platform "tray icon" API, by
2029         porting EggStatusIcon/EggTrayIcon (#105101)
2030         
2031         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
2032         displays an icon in a notification area.
2033
2034         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
2035         X11, using GtkTrayIcon.
2036
2037         * gtk/gtktrayicon.h: 
2038         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
2039         system tray specification, not public API.
2040
2041         * gtk/gtk.symbols: Add new exported functions.
2042
2043         * gtk/gtk.h: Include gtkstatusicon.h.
2044
2045         * gtk/Makefile.am: Add new files.
2046
2047         * tests/Makefile.am:
2048         * tests/teststatusicon.c: Test for GtkStatusIcon.
2049
2050 2005-08-29  Christopher Aillon  <caillon@redhat.com>
2051
2052         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
2053         and GTK_STOCK_DISCONNECT
2054         
2055 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2056
2057         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
2058         Use XFixesChangeSaveSet if available.  (#314682)
2059
2060         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
2061         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
2062
2063 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2064
2065         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
2066         accidentally leftover duplicate pixbuf creation.  (#314700,
2067         Kjartan Maraas)
2068
2069         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
2070         leak the cursor theme name.  (#314693, Kjartan Maraas)
2071
2072         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
2073         state.children in all cases.  (#313862, Kjartan Maraas)
2074
2075 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
2076
2077         * po/POTFILES.in, po-properties/POTFILES.in:
2078         Add gdk/gdkscreen.c
2079
2080 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
2081
2082         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
2083         value of the ui property. (#314532, Yong Wang)
2084
2085         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
2086         when G_MAXLONG is passed as length.  
2087
2088 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2089
2090         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
2091         to avoid overloading --force.  (JP Rosevaar)
2092
2093 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2094
2095         * configure.in: Bump version to 2.9.0
2096
2097         * gdk/gdk.symbols: 
2098         * gdk/gdkscreen.h: 
2099         * gdk/gdkscreen.c: Make the GdkScreen font options api
2100         public, and add properties GdkScreen::font-options and
2101         GdkScreen::resolution.  (#314004)
2102
2103         * gdk/gdkpango.c:
2104         * gtk/gtksettings.c:
2105         * gtk/gtkwidget.c: Adjust all callers.
2106         
2107         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
2108         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
2109         * gdk/gdkscreen.c: Include gdkintl.h.
2110
2111         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
2112         variable warning, pointed out by Colin Walters. (#314585)
2113
2114 2005-08-26  Tor Lillqvist  <tml@novell.com>
2115
2116         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
2117         printouts.
2118         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
2119
2120 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2121
2122         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
2123         of week_start.  (#314473, JP Rosevaar)
2124
2125 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
2126
2127         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
2128         lock.  (#314533, Thomas Fitzsimmons)
2129
2130 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
2131
2132         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
2133         NULL gracefully.  (#314523, Ed Catmur)
2134
2135 2005-08-25  Owen Taylor  <otaylor@redhat.com>
2136
2137         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
2138         Handle theme == NULL.
2139
2140 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
2141
2142         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
2143         y offset into account when positioning the popup.  (#314470,
2144         Christian Persch)
2145
2146 2005-08-25  Owen Taylor  <otaylor@redhat.com>
2147
2148         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
2149         as instance_init, not base_init! (#314452, Fix from Frederic
2150         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
2151         rather than 1 for a negative flag value.
2152
2153 2005-08-24  Owen Taylor  <otaylor@redhat.com>
2154
2155         * gdk/gdkpango.c (draw_error_underline): Add a note about
2156         cut-and-paste between here and Pango.
2157
2158 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2159
2160         * === Released 2.8.2 ===
2161
2162         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
2163         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
2164         Wielaard)
2165
2166         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
2167         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
2168         Sebastien Bacher)
2169         
2170         * NEWS: Updates
2171
2172         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
2173         and cursor settings get propagated down to the screen initially.
2174         Pointed out by Frederic Crozat.
2175
2176         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
2177         message if the screen is NULL. Noticed by Kjartan Maraas.
2178
2179 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2180
2181         * Bump version
2182
2183         * === Released 2.8.1 ===
2184
2185         * NEWS: Updates
2186         
2187 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2188
2189         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
2190         against lazy filterers which return values other than TRUE or
2191         FALSE from their visible func.  (#314335)
2192
2193 2005-08-23  Owen Taylor  <otaylor@redhat.com>
2194
2195         Fix for #314004, reported by Michael Reinsch:
2196
2197         * gdk/gdk.symbols:
2198         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
2199         Add gdk_screen_get/set_resolution_libgtk_only()
2200
2201         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
2202         the options for the screen on the newly created context.
2203
2204         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
2205         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
2206         the font options on the screen.
2207
2208         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
2209         the font options from the screen and set them on the context.
2210
2211 2005-08-23  Kristian Rietveld  <kris@gtk.org>
2212
2213         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
2214         bother inserting new rows in a level with a zero refcount and
2215         immediately free the level. (Fixes #312350, reported by Markku Vire).
2216
2217 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
2218
2219         * gtk/updateiconcache.c: Complain when there is no index.theme file
2220         in the specified directory, unless --force is used. Also add an
2221         --index-only option to create caches without image data.
2222
2223         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
2224         C99ism.  (#314262, Robert Jeff Mitchell)
2225         
2226 2005-08-22  Manish Singh  <yosh@gimp.org>
2227
2228         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
2229
2230         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
2231
2232 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
2233
2234         * gtk/gtkwindow.c (gtk_window_client_event): 
2235         * gtk/gtkicontheme.c (ensure_valid_themes) 
2236         (_gtk_icon_theme_check_reload): Implement a clientmessage based
2237         scheme for makeing sure that all GTK+ applications notice if an
2238         icon theme has been updated. This should prevent multiple versions
2239         of an icon theme cache to be mapped in memory at the same time,
2240         which can cause excessive memory consumption.  (#313156, Chris 
2241         Lahey)
2242
2243 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
2244
2245         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
2246         regarding icon theme changes.
2247
2248         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
2249         pixbufs which are backed by the mmapped memory of an icon cache,
2250         increase the refcount of the icon cache, so that the memory is not
2251         munmapped away underneath the pixbuf upon icon theme changes.  
2252         (#314170, Kjartan Maraas)
2253
2254         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
2255         to link against Xext.  (#314062)
2256
2257         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
2258         overruns.  (#314081, Hans Breuer)
2259
2260 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
2261
2262         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
2263         returned layout must not be modified.
2264
2265 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
2266
2267         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
2268         scroll_to_path if the model changes.
2269
2270         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
2271         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
2272         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
2273         we're realized, #312798
2274         (gtk_icon_view_set_model): clear scroll_to_path if the model
2275         changes.
2276
2277 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
2278
2279         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
2280         (gtk_range_adjustment_value_changed):  Don't queue a draw
2281         if the layout has not changed.  (#313991, Benjamin Berg)
2282
2283 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
2284
2285         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
2286         Benoit Carpentier)
2287
2288         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
2289         Fix a typo. 
2290
2291         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
2292         (model_add_special, model_add_special, model_add_volumes):
2293         Handle pixbuf being NULL without warnings. Also, don't
2294         leak pixbuf references when the icon theme is changed.
2295
2296         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
2297         the user data on destroyed windows, since at best
2298         it can be a stale pointer.  (#313953, Robin Green)      
2299
2300 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
2301
2302         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
2303         (#313900, Sebastien Bacher)
2304
2305         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
2306         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
2307
2308         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
2309         (xdnd_read_actions, get_client_window_at_coords_recurse): 
2310         Free data returned from XGetWindowProperty. 
2311
2312         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
2313         Free data returned from XGetWindowProperty.  (313867, Kjartan
2314         Maraas)
2315         
2316         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
2317         children in all cases.  (#313862, Kjartan Maraas)
2318
2319         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
2320         in the per-directory hash, even if they come from the icon cache. 
2321         We tried to avoid that before, but as a result leaked icon data
2322         structs.  (#313852, Kjartan Maraas)
2323
2324 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
2325
2326         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
2327         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
2328
2329 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2330
2331         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
2332         files for x11/xext. (Jonas Bonn)
2333
2334 2005-08-15  Tor Lillqvist  <tml@novell.com>
2335
2336         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
2337         inside GTK_NOTE.
2338
2339 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2340
2341         * configure.in: Fix have_base_pc / have_base_x_pc typo.
2342
2343         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
2344         (#313417, James Andrewartha)
2345
2346         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
2347         FcNameConstant(). (More of #313417)
2348
2349 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
2350
2351         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
2352         modal dialogs, make sure to inherit the window group from 
2353         the parent, since we don't inherit window groups across
2354         transient parents currently.  (#312918, Christian Persch)
2355
2356         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
2357         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
2358
2359         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
2360         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
2361         gracefully.  (#312796, Jonathan Blandford)
2362
2363         * tests/testtoolbar.c: Add some more tests for menu placement.
2364
2365         * gtk/gtkmenutoolbutton.c (menu_position_func): 
2366         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
2367         of toolbutton menus and of the overflow menu.  (#312937, 
2368         #153870, Christian Persch, Paolo Borelli)
2369
2370 2005-08-15  Tor Lillqvist  <tml@novell.com>
2371
2372         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
2373         the nonportable <libgen.h> and dirname().
2374
2375 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
2376
2377         * gtk/gtksizegroup.c: Use object data to mark widgets and
2378         groups as visited, so that we avoid constant extra list
2379         traversals. Also allocate quarks in class_init.  (#311618,
2380         Michael Natterer)
2381
2382         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
2383         download location for the hicolor icon theme. (#313475, Olexiy 
2384         Avramchenko)
2385
2386         * gtk/gtkicontheme.c: Remove debug spew. 
2387
2388 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2389
2390         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
2391         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
2392         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
2393         Handle pixmap == NULL when checking for a colormap.
2394         (Allin Cottrell).
2395
2396 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
2397
2398         * gtk/updateiconcache.c: Store only one copy of the pixel data
2399         for symlinked icons. To achieve this, maintain a hashtable 
2400         mapping pathnames to pixel data, and share the pixel data for
2401         all symlinks resolving to the same pathname. When writing out
2402         the image data, write out the pixel data only the first time
2403         it is met, and store the offset pointing to the first copy
2404         for use in all later cases.
2405         This reduces the size of the Bluecurve icon cache from 40
2406         to 13MB. (#312972)
2407