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