]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Use logical extents of the layout instead of ink extents. According to
[~andy/gtk] / ChangeLog.pre-2-10
1 2006-01-25  Behdad Esfahbod  <behdad@gnome.org>
2
3         * gtk/gtklabel.c (get_layout_location): Use logical extents of the
4         layout instead of ink extents.  According to Pango docs, that's what
5         should be used for placement.  Moreover, simply use
6         pango_layout_get_pixel_size instead of getting the extents and
7         dividing ourselves.
8
9 2006-01-25  Matthias Clasen  <mclasen@redhat.com>
10
11         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): Only
12         set the cursor size if it is != 0.
13
14         * gtk/gtksettings.c (gtk_settings_class_init): Change the default value
15         of gtk-cursor-theme-size to 0, meaning "use default".
16
17 2006-01-24  Kristian Rietveld  <kris@gtk.org>
18
19         #322591, Jonathan Blandford.
20
21         * gtk/gtktreeview.[ch] (gtk_tree_view_get_search_entry),
22         (gtk_tree_view_set_search_entry),
23         (gtk_tree_view_get_search_position_func),
24         (gtk_tree_view_set_search_position_func): New functions,
25         and small adaptions to the tree view code to allow for setting
26         the entry and search position function.
27
28         * gtk/gtktreeprivate.h: Removed GtkTreeViewSearchDialogPositionFunc
29         typedef, which is now in gtktreeview.h as
30         GtkTreeViewSearchPositionFunc.  Add/update fields.
31
32         * gtk/gtk.symbols: Add new functions.
33
34         * tests/testtreesort.c: Add a little test for _set_search_entry().
35
36 2006-01-23  Matthias Clasen  <mclasen@redhat.com>
37
38         Add GtkLinkButton, a port of GnomeHRef.  (#314808, Emmanuele Bassi)
39         
40         * gtk/gtklinkbutton.h: 
41         * gtk/gtklinkbutton.c: New files.
42
43         * gtk/gtk.h:
44         * gtk/gtk.symbols: 
45         * gtk/Makefile.am: Glue.
46
47         * gtk/gtkaboutdialog.c: Use GtkLinkButton.
48         
49         * gtk/gtkwidget.c: Add link-color and visited-link-color style
50         properties.  (#113649, Leena Gunda)
51
52         * gtk/gtkaboutdialog.c: Use the new style properties here instead
53         of the about dialogs own link-color property. 
54
55 2006-01-23  Kristian Rietveld  <kris@gtk.org>
56
57         * gtk/gtktreemodel.c (gtk_tree_model_base_init): don't copy
58         tree paths when emitting signals. (#325041, Matthias Clasen).
59
60 2006-01-23  Behdad Esfahbod  <behdad@gnome.org>
61
62         * gtk/gtklabel.c (get_layout_location): Fix misalignment of RTL
63         text in ellipsized GtkLabel: use layout width if set, otherwise
64         fallback to ink extents width. (#322042)
65
66 2006-01-23  Matthias Clasen  <mclasen@redhat.com>
67
68         * gtk/gtkassistant.c (compute_last_button_state): Only show the
69         last button if we can jump to the end. 
70         (gtk_assistant_init): Make the spacing and button order more
71         HIG compliant.
72
73         Fix drawing issues in progress bars.  (#328081, Christian Persch)
74         
75         * gtk/gtkprogressbar.c (gtk_progress_bar_size_request): Always
76         request enough space. 
77         (gtk_progress_bar_paint_activity) 
78         (gtk_progress_bar_paint_continuous) 
79         (gtk_progress_bar_paint_discrete): Clip when drawing the bar.
80
81 2006-01-23  Michael Natterer  <mitch@imendio.com>
82
83         * gtk/gtkcolorbutton.c: move destruction of the private GdkGC
84         from finalize() to unrealize(). Fixes BadMatch on display change
85         (bug #85715).
86
87 2006-01-22  Kristian Rietveld  <kris@gtk.org>
88
89         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Revert previous
90         commit after more searching in the bugzilla archives (see #309221).
91
92 2006-01-22  Kristian Rietveld  <kris@gtk.org>
93
94         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Remove second call
95         to gtk_tree_view_column_cell_set_cell_data, since we also set the
96         cell data before iterating over the columns for exposure. (Fixes
97         #322471, Duncan Coutts).
98
99 2006-01-21  Matthias Clasen  <mclasen@redhat.com>
100
101         * tests/testassistant.c: Add some tests for GtkAssistant
102
103         * tests/Makefile.am: Glue
104
105 2006-01-20  Matthias Clasen  <mclasen@redhat.com>
106
107         * gtk/gtkassistant.c: Fix the docs to reflect the actual signal
108         signatures.
109
110         * gtk/gtktextview.c (gtk_text_view_set_virtual_cursor_pos): Don't
111         crash if layout is NULL.  (#327934, Christian Kirbach)
112
113 2006-01-20  Dan Winship  <danw@novell.com>
114
115         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_class_init,
116         tree_view_keybinding_cb, trap_activate_cb): On "unix", pop up the
117         "Open Location" window on "~" as well as "/". #153213
118         (location_entry_create): Fix this so autocompletion still works
119         correctly in that case.
120
121 2006-01-19  Matthias Clasen  <mclasen@redhat.com>
122
123         * configure.in: Explicitly link against Xrender.  
124         (#327538, Christophe Belle)
125         
126         * gdk/x11/gdkprivate-x11.h (XID_FONT_BIT): 
127         * gdk/x11/gdkfont-x11.c: 
128         * gdk/x11/gdkxid.c: Use an unused high bit in the
129         XID to mark fonts in the global xid hash table.
130
131         * gdk/x11/gdkcursor-x11.c (update_cursor): Skip fonts
132         when iterating over the xid hash table, since calling
133         GDK_IS_WINDOW () on an GdkFont can cause a segfault.
134         (#327751, Ryan Lovett)
135
136 2006-01-19  Matthias Clasen  <mclasen@redhat.com>
137         
138         * gtk/gtkassistant.[hc]: Use a priv pointer for
139         cheap access to the priv struct.  (#327725, Christian
140         Persch)
141
142         * gtk/gtkassistant.h: Fix line endings.
143
144 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
145
146         * gtk/gtkassistant.[hc]: Add GtkAssistant, a widget to
147         construct multi-step wizards.  (#115348, Martyn Russell, 
148         Matthias Clasen, Carlos Garnacho Parro)
149
150         * gtk/gtk.symbols:
151         * gtk/Makefile.am: 
152         * gtk/gtk.h: Necessary glue.
153
154 2006-01-18  Anders Carlsson  <andersca@imendio.com>
155
156         * gdk/quartz/gdkevents-quartz.c:
157         (get_mm_from_pixels):
158         (gdk_screen_get_width_mm):
159         (gdk_screen_get_height_mm):
160         Implement these functions.
161         (#327228, Thomas Broyer).
162
163 2006-01-18  Anders Carlsson  <andersca@imendio.com>
164
165         * gdk/quartz/gdkdrawable-quartz.c:
166         (gdk_quartz_draw_polygon):
167         (gdk_quartz_draw_lines):
168         Implement these functions.
169         (#327226, Thomas Broyer)
170         
171 2006-01-18  Anders Carlsson  <andersca@imendio.com>
172
173         * gdk/quartz/gdkkeys-quartz.c:
174         (maybe_update_keymap):
175         Support non-MacRoman keyboard layouts.
176         (#322585, Wolfgang Thaller)
177         
178 2006-01-18  Anders Carlsson  <andersca@imendio.com>
179
180         * gdk/quartz/gdkmain-quartz.c:
181         (_gdk_windowing_init):
182         Make the process a foreground application.
183         (#322481, Wolfgang Thaller)
184         
185 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
186
187         * gtk/gtkrbtree.c: 
188         * gtk/gtktreemodel.c: Fix several g_new() calls which
189         were using extra indirections or pointless casts.  
190         (#327423, Morten Welinder)
191
192 Tue Jan 17 19:27:59 2006  Tim Janik  <timj@imendio.com>
193
194         * gtk/gtkprogress.c: fix adopted from maemo-gtk.
195         gtk_progress_create_pixmap(): clear out the newly created offscreen 
196         pixmap, so themes making use of transparency don't draw onto garbage.
197
198 2006-01-17  Michael Natterer  <mitch@imendio.com>
199
200         * gtk/gtkbutton.c: remove the "child-spacing" style property again
201         and add "inner-border" instead. That's far more flexible and
202         "child-spacing" was a bad name anyway.
203
204 2006-01-17  Michael Natterer  <mitch@imendio.com>
205
206         * configure.in (ALL_LINGUAS): remove "ang" again until all po
207         files are there.
208
209 2006-01-16  Abel Cheung  <maddog@linuxhall.org>
210
211         * configure.in: Added "ang" "zh_HK" to ALL_LINGUAS.
212
213 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
214
215         * README.in: Mention new pixbuf engine features.
216
217         * gtk/gtk.symbols: 
218         * gtk/gtkradioaction.[hc]: Add a current-value property and a
219         setter for it.  (#322735, Jorn Baayen)
220         
221 2006-01-16  Michael Natterer  <mitch@imendio.com>
222
223         * gtk/gtkbutton.c: applied patch from maemo-gtk which adds a
224         child-spacing style property. Fixes bug #327202.
225
226 2006-01-16  Anders Carlsson  <andersca@imendio.com>
227
228         * gdk/quartz/gdkdisplay-quartz.c:
229         * gdk/quartz/gdkevents-quartz.c:
230         (gdk_keyboard_grab):
231         (gdk_display_keyboard_ungrab):
232         (gdk_keyboard_grab_info_libgtk_only):
233         (find_window_for_event):
234         Implement keyboard grabs.
235         
236         (_gdk_quartz_send_map_events):
237         * gdk/quartz/gdkmain-quartz.c:
238         * gdk/quartz/gdkprivate-quartz.h:
239         New function that synthesizes map events.
240         
241         * gdk/quartz/gdkwindow-quartz.c:
242         (_gdk_windowing_window_init):
243         The root window is always visible.
244         
245         (all_parents_shown):
246         (show_window_internal):
247         Send map events.
248         
249         (gdk_window_hide):
250         Ungrab keyboard and pointer
251
252 2006-01-15  Kristian Rietveld  <kris@gtk.org>
253
254         Fixes #324099, Tommi Komulainen.
255
256         * gtk/gtktreestore.[ch] (gtk_tree_store_insert_with_values),
257         (gtk_tree_store_insert_with_valuesv): new functions, analog to
258         those found in GtkListStore.
259
260         * gtk/gtktreestore.c (gtk_tree_store_real_set_value),
261         (gtk_tree_store_set_valist), (gtk_tree_store_set_valist_internal),
262         (gtk_tree_store_sort_iter_changed): refactored.
263
264         * gtk/gtk.symbols: updated.
265
266         * tests/treestoretest.c: added a test for this new functionality.
267
268 2006-01-14  Matthias Clasen  <mclasen@redhat.com>
269
270         * gtk/gtkentry.c (gtk_entry_drag_data_received): Remove 
271         an unused variable.
272
273         * gtk/gtkiconfactory.c (get_default_icons): Register RTL 
274         versions of the indent and unindent icons.  (#326857,
275         Itai Bar-Haim)
276
277         * gtk/Makefile.am (STOCK_ICONS): And add them here.
278
279         Fix a crash with combo boxes in RESIZE_IMMEDIATE
280         containers.  (#326806, Sebastian Bacher)
281         
282         * gtk/gtkcombobox.c (gtk_combo_box_size_allocate) 
283         (gtk_combo_box_size_request): Don't call 
284         gtk_combo_box_check_appearance() from here, as that 
285         can lead to recursion. 
286         (gtk_combo_box_init): Instead, call it here.
287
288 2006-01-14  Kristian Rietveld  <kris@gtk.org>
289
290         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_iter_children): fix
291         a typo which caused this whole thing to not function ...
292
293 2006-01-14  Kristian Rietveld  <kris@gtk.org>
294
295         * gtk/gtktreeview.c (gtk_tree_view_size_allocate),
296         (validate_visible_area): fixup adjustments and top_row if the
297         current dy + page_size exceeds the new tree view height. (Fixes
298         #316689, reported by Chris Lord).
299
300 2006-01-13  Matthias Clasen  <mclasen@redhat.com>
301
302         * */abicheck.sh: Make this work on more platforms.
303
304 2006-01-13  Kristian Rietveld  <kris@imendio.com>
305
306         * tests/testtreefocus.c (set_indicator_size), (main): add a little
307         test for the newly introduced indicator-size property.
308
309 2006-01-13  Kristian Rietveld  <kris@imendio.com>
310
311         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_init):
312         initialize the inconsistent field in the private structure,
313         (gtk_cell_renderer_toggle_class_init),
314         (gtk_cell_renderer_toggle_{set,get}_property),
315         (gtk_cell_renderer_toggle_get_size): introduce a indicator-size
316         property.
317
318 2006-01-13  Michael Natterer  <mitch@imendio.com>
319
320         * gtk/gtktreeview.c (gtk_tree_view_real_expand_row)
321         (gtk_tree_view_real_collapse_row): don't animate the expander
322         arrows if gtk-enable-animations is FALSE (bug #142582).
323
324 2006-01-12  Matthias Clasen  <mclasen@redhat.com>
325
326         * gtk/gtknotebook.c: Replace hardcoded values for tab-overlap and
327         tab-curvature with style properties.  (#325282, Alexander Nedotsukov)
328
329         * gtk/gtktextview.c (gtk_text_view_commit_text) 
330         (gtk_text_view_delete_from_cursor, gtk_text_view_backspace): 
331         Reset the virtual cursor position.  (#326003, Evert Verhellen)
332
333         * gtk/gtkwidget.c (gtk_widget_set_app_paintable): Add some docs
334         about RGBA windows. (#326486, Benjamin Otte)
335
336 2006-01-12  Michael Natterer  <mitch@imendio.com>
337
338         * gdk/gdkimage.c (scratch_image_info_for_depth): connect to the
339         display's "closed" signal and free the cached scratch images upon
340         display closing (bug #85715).
341
342 2006-01-12  Michael Natterer  <mitch@imendio.com>
343
344         * gtk/gtkexpander.c (gtk_expander_set_expanded): skip the
345         animation if the gtk-enable-animations setting is FALSE
346         (bug #142582).
347
348 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
349
350         * gtk/gtklabel.c: Fix a C99ism (#326658, Kazuki Iwamoto)
351
352 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
353
354         * gtk/gtklabel.c: Add some notify batching, always
355         emit notify after setting the new value.
356
357         * gtk/gtkmessagedialog.c: Add properties.  (#311254,
358         Johan Dahlin)
359         (gtk_message_dialog_new): Remove some redundant code, pointed
360         out by Gustavo Carneiro.
361
362         * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean
363         up properly if the grab fails.
364         (finish_drag): Don't leak a reference to moveresize_window
365         here.
366
367 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
368
369         * gdk/x11/gdkevents-x11.c: Fix string offsets.
370
371         Allow falling back to another icon theme before 
372         hicolor.   (#325546, Rodney Dawes)
373         
374         * gtk/gtksettings.c: Add a gtk-fallback-icon-theme setting.
375
376         * gdk/x11/gdkevents-x11.c: Map it to the XSetting Net/FallbackIconTheme.
377         
378         * gtk/gtkicontheme.c: Consult the fallback icon theme before
379         looking in hicolor. 
380
381 2006-01-10  Matthias Clasen  <mclasen@redhat.com>
382
383         * tests/testgtk.c: Add an expander example.
384
385         * gtk/gtkcalendar.c (gtk_calendar_focus_out): Queue a draw
386         when losing the focus.  (#326064, Andrew Conkling)
387
388         * gtk/gtkimmulticontext.c: 
389         * gtk/gtkhsv.c: 
390         * gtk/gtkhandlebox.c: Convert to use instance private data.
391
392         * gtk/gtk.h: Remove duplicate include.  (#326429, 
393         Benoît Carpentier)
394
395         * gtk/gtkpaned.c: Convert to use instance private data.
396
397 2006-01-10  Michael Natterer  <mitch@imendio.com>
398
399         * gdk/gdkpango.c (on_renderer_display_closed): disconnect from the
400         right object ("closed" is emitted by the display, not the screen).
401         (bug #85715)
402
403 2006-01-10  Anders Carlsson  <andersca@imendio.com>
404
405         * gdk/quartz/gdkproperty-quartz.c:
406         (ensure_atom_tables):
407         (intern_atom_internal):
408         (gdk_atom_intern):
409         (gdk_atom_intern_static_string):
410         (gdk_atom_name):
411         Implement local-only atoms.
412
413 2006-01-09  Matthias Clasen  <mclasen@redhat.com>
414
415         * gdk/gdkgc.c (gc_get_foreground): Correct a warning.
416         (#326341, Benoît Carpentier)
417
418         * gtk/gtk.symbols:
419         * gtk/gtkwindow.h:
420         * gtk/gtkwindow.c (gtk_window_get_group): Make this function
421         public API.  (#307099, Todd Berman)
422
423         * gtk/gtkmenu.c: 
424         * gtk/gtkmain.c: 
425         * gtk/gtkentrycompletion.c: 
426         * gtk/gtkcombo.c: 
427         * gtk/gtkcombobox.c: Update all callers.
428
429         * gtk/gtkentry.c (paste_received):  Make GtkEntryCompletion
430         complete on pastes at the end.  (#165714, Christian Neumair)
431
432         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
433         Prevent the first row being focused on map.  (#137351,
434         Niklas Knutsson)
435
436 2006-01-09  Johan Dahlin  <jdahlin@async.com.br>
437
438         * gtk/gtk.symbols:
439         * gtk/gtkeditable.h:
440         * gtk/gtksizegroup.c: (gtk_size_group_get_widgets):
441         * gtk/gtksizegroup.h:
442         (struct _GtkSizeGroup): 
443
444         Add gtk_size_group_get_widgets, fixes #326324.
445         Also mark all fields of GtkSizeGroup as private
446
447 2006-01-09  Matthias Clasen  <mclasen@redhat.com>
448
449         * gtk/gtktextlayout.c (gtk_text_layout_finalize): Don't
450         leak preedit_string and preedit_attrs.  (#322332, Paolo
451         Borelli)
452
453         * gtk/gtk.symbols:
454         * gtk/gtkaction.h: 
455         * gtk/gtkaction.c (gtk_widget_get_action): New function to
456         get the action for a proxy.  (#326288)
457
458         * gtk/gtkaction.c: Go back to the old key for attaching the
459         action to the proxy.  (#326288, Diego González)
460
461 2006-01-08  Matthias Clasen  <mclasen@redhat.com>
462
463         * gtk/gtkactiongroup.c (dgettext_swapped): Don't translate
464         empty strings.  (#326200, Christian Stimming)
465
466 2006-01-08  Matthias Clasen  <mclasen@redhat.com>
467
468         * gtk/gtkentry.[hc]: 
469         * gtk/gtklabel.[hc]: Shrink the private structs of these a bit.
470
471         * gtk/gtklabel.c (get_layout_location): Fix label alignment 
472         when width-chars is set.  (#326098, Benjamin Otte)
473
474         * gdk/gdkregion-generic.c (miRegionCopy): Fix this for the 
475         single-rectangle case.  (#326127, Benjamin Berg)
476         (gdk_region_copy): Use miRegionCopy() here.
477
478 2006-01-07  Matthias Clasen  <mclasen@redhat.com>
479
480         Fix actiongroup-action interaction that relied on 
481         actions connecting to notify on themselves:
482         
483         * gtk/gtkaction.[hc]: Factor out the code updating the
484         visibility/sensitivity of proxies into _gtk_action_sync_visible()
485         and _gtk_action_sync_sensible().
486
487         * gtk/gtkactiongroup.c: Call the new functions when the
488         group visibility/sensitivity changes. 
489
490 2006-01-06  Matthias Clasen  <mclasen@redhat.com>
491
492         * gtk/gtkactiongroup.c (gtk_action_group_set_sensitive) 
493         (gtk_action_group_set_visible): Add missing property change
494         notification.
495
496 2006-01-06  Matthias Clasen  <mclasen@redhat.com>
497
498         * gtk/gtkfilechooserbutton.c (model_add_special): Just use the
499         directory name for the home dir.  (#325817, Federico Mena Quintero)
500         
501         * gtk/gtktexttag.c (gtk_text_attributes_new): Initialize editable 
502         to TRUE. 
503         (gtk_text_tag_class_init): The default value for the direction 
504         property is GTK_TEXT_DIR_NONE. Add notes about the initial values 
505         of the font and language properties.
506
507         * gtk/gtktoolbutton.c (gtk_tool_button_class_init): Make clicked
508         an action signal.  (#325782, Martyn Russell)
509
510         * gtk/gtkviewport.c (viewport_set_adjustment): Disconnect from
511         the old adjustments signals.  (#325869, Jorn Baayen)
512
513 2006-01-06  Hans Breuer  <hans@breuer.org>
514
515         * tests/makefile.msc : added a bunch of tests
516         * tests/testcellrenderertext.c : use g_snprintf()
517         * tests/testfilechooserbutton.c : don't include unistd.h twice.
518         Removed the unconditional one and added direct.h for G_OS_WIN32
519         
520 2006-01-05  Hans Breuer  <hans@breuer.org>
521
522         * gdk/makefile.msc : also recurse into win32 for ::clean
523         * gtk/makefile.msc.in : create gtkbuiltincache.h (most code
524         to simulate links) and file renames
525
526 2006-01-05  Johan Dahlin  <jdahlin@async.com.br>
527
528         * gtk/gtkprogressbar.c: Set minimum for activity-step property to 0
529         instead of -G_MAXUINT.
530         
531 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
532
533         * gtk/gtkwindow.c: Only connect to the event if we have
534         a frame, since the handler is only relevant in that case.
535
536         * gtk/gtkaction.c (connect_proxy, disconnect_proxy): 
537         Use a weak reference rather than the destroy signal to track 
538         proxies going away.
539
540         * gtk/gtkbindings.c (binding_signal_new): Revert the last change.
541
542         * gtk/gtkaction.c (gtk_action_sync_property): 
543         (gtk_action_sync_stock_id): Removed.
544
545 2006-01-05  Rodrigo Moya <rodrigo@novell.com>
546
547         * gtk/gtkbindings.c (binding_signal_new): allocate correct amount for
548         signal and arguments.
549
550 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
551
552         * gtk/gtklabel.c (gtk_label_grab_focus): Don't return a value from
553         a void function.
554
555 2006-01-04  Matthias Clasen  <mclasen@redhat.com>
556
557         * gtk/gtkbindings.h (struct _GtkBindingSignal): Revert questionable
558         changes.
559         
560         * gtk/gtkbindings.c: Use the slice allocator and allocate signal
561         and arguments in one block.
562
563         * gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
564         a list of NULLs.  (#325723, Steve Chaplin)
565
566 2006-01-04  Rodrigo Moya <rodrigo@novell.com>
567
568         * gtk/gtkbindings.c (binding_signal_new): guard against multiplying
569         by -1 (when n_args is 0).
570
571 2006-01-04  Michael Natterer  <mitch@imendio.com>
572
573         * gtk/gtkmenutoolbutton.c
574         (gtk_menu_tool_button_set_menu)
575         (gtk_menu_tool_button_destroy): use gtk_menu_attach_to_widget()
576         and gtk_menu_detach() instead of reffing/unreffing the menu
577         manually. Also fixes brokenness on screen change (bug #85715).
578
579 2006-01-04  Matthias Clasen  <mclasen@redhat.com>
580
581         * gtk/gtkaccelmap.c: 
582         * gtk/gtkactiongroup.c: 
583         * gtk/gtkdialog.c: 
584         * gtk/gtkfilesystemunix.c: 
585         * gtk/gtkgc.c: 
586         * gtk/gtkkeyhash.c: 
587         * gtk/gtkplug.c: 
588         * gtk/gtktextiter.c: 
589         * gtk/gtktextlayout.c: 
590         * gtk/gtkuimanager.c: 
591         * gtk/gtkwidget.c: 
592         * gtk/gtkwindow.c: 
593         * gtk/gtkxembed.c: Use the slice allocator for many small 
594         allocations.
595
596         * gtk/gtkcolorsel.c: 
597         * gtk/gtktreeview.c: Use IPN.
598
599         * gtk/gtkwidget.c: Remove an unused field from the AccelPath 
600         struct.
601
602 2006-01-04  Tor Lillqvist  <tml@novell.com>
603
604         * gtk-zip.sh.in: Include also the gtk20-properties message catalogs.
605
606 2006-01-03  Matthias Clasen  <mclasen@redhat.com>
607         
608         * gtk/gtkdnd.c: Make it compile
609
610         * gtk/gtkdnd.c (gtk_drag_begin_internal): Call gtk_drag_update
611         for non-motion events.  (#325443, Peter Harvey)
612
613         * gtk/gtkaction.c: Avoid connecting to notify on our own
614         properties. 
615
616 2006-01-02  Matthias Clasen  <mclasen@redhat.com>
617
618         * gtk/gtkentry.c (gtk_entry_delete_from_cursor): When deleting
619         words, delete preceding whitespace as well.  (#325358,  Akkana Peck)
620
621 2006-01-02  Anders Carlsson  <andersca@imendio.com>
622
623         * gdk/quartz/GdkQuartzWindow.c:
624         (-[GdkQuartzWindow canBecomeMainWindow]):
625         (-[GdkQuartzWindow canBecomeKeyWindow]):
626         Have these return TRUE
627         
628         * gdk/quartz/gdkevents-quartz.c:
629         (pointer_grab_internal):
630         Remove FIXME
631         
632         (find_child_window_by_point_helper):
633         Fix bug in offset calculation
634         
635         (find_window_for_event):
636         Use grab window toplevel when a grab is in effect
637         
638         (gdk_event_translate):
639         Don't call _gdk_event_button_generate on mouse up
640         
641         * gdk/quartz/gdkgc-quartz.c:
642         (_gdk_quartz_gc_new):
643         Fix indentation
644         
645         * gdk/quartz/gdkwindow-quartz.c:
646         (gdk_window_new):
647         Make TEMP windows borderless
648         
649         (gdk_window_hide):
650         Hide window
651         
652         (gdk_window_get_origin):
653         Implement
654         
655 2006-01-02  Tor Lillqvist  <tml@novell.com>
656
657         * gdk/win32/gdkwindow-win32.c
658         (gdk_window_impl_win32_get_visible_region): Make identical to the
659         X11 implementation. (#322264, John Ehresman)
660
661         * gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): Get the
662         invalidated region from ScrollWindowEx() instead of an incorrect
663         attempt to calculate it ourselves. Fix by John Ehresman. (#323666)
664
665         * gdkevents-win32.c: Make _gdk_win32_hrgn_to_region() non-static.
666
667         * gdkprivate-win32.h: Declare it.
668
669 2005-12-31  Matthias Clasen  <mclasen@redhat.com>
670
671         * gtk/gtkaction.c: 
672         * gtk/gtkentry.c: Connect to notify instead of multiple
673         detailed signals.
674
675 2005-12-30  Matthias Clasen  <mclasen@redhat.com>
676
677         * gdk/gdk.symbols: 
678         * gdk/gdkcairo.h: 
679         * gdk/gdkcairo.c: Add gdk_cairo_set_source_pixmap.  (#318805,
680         Alexander Larsson)
681
682         * gdk/gdkdisplaymanager.c (gdk_display_manager_set_property): Call
683         gdk_display_manager_set_default_display() to change the default
684         display.  (#153623, Stefan Kost)
685
686         * gtk/gtkmessagedialog.c (gtk_message_dialog_init):
687          (setup_type): Alert dialogs should not have titles and should 
688         not be displayed in the taskbar.  (#310443, Carlos Garnacho Parro,
689         Dennis Cranston)
690
691 2005-12-29  Matthias Clasen  <mclasen@redhat.com>
692
693         * gtk/gtkliststore.c: 
694         * gtk/gtktreestore.c: Always call the get_path and get_iter
695         implementations directly, rather than the current mixture whith
696         some calls going through the GtkTreeModel interface.
697
698         * gtk/gtktreemodelsort.c: 
699         * gtk/gtkliststore.c: 
700         * gtk/gtktreestore.c: Remove excessive g_return_if_fail() checks
701         in static functions.
702         
703         * gtk/gtktreedatalist.c: Use the slice allocater for 
704         GtkTreeDataSortHeader.
705
706         * gtk/gtktreedatalist.h: 
707         * gtk/gtktreedatalist.c (_gtk_tree_data_list_set_header): New function.
708
709         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): 
710         * gtk/gtkliststore.c (gtk_list_store_set_sort_func): 
711         * gtk/gtktreestore.c (gtk_tree_store_set_sort_func): Use it here.
712
713 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
714
715         * gtk/gtkbindings.h (GtkBindingSignal): 
716         * gtk/gtkbindings.c (binding_signal_new): Make the
717         args a flexible array inside the struct, and allocate them
718         together.
719
720 Wed Dec 28 00:45:46 2005  Tim Janik  <timj@gtk.org>
721
722         * gtk/gtkctree.c (row_delete): delete GtkCTreeRow as GtkCTreeRow, not
723         clist rows which crashes in gslice later on.
724
725 2005-12-27  Federico Mena Quintero  <federico@ximian.com>
726
727         * gtk/gtkfilefilter.c (gtk_file_filter_filter): In the case for
728         FILTER_RULE_PIXBUF_FORMATS, check that filter_info->mime_type is
729         not NULL.  Fixes bug #317687.
730
731 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
732
733         * gdk/x11/gdkevents-x11.c (check_transform): Fix a typo.
734         (gdk_screen_get_setting): Avoid relocations for the settings
735         map.
736
737         * gdk/x11/gdkproperty-x11.c: Avoid relocations for the list
738         of standard atoms.
739
740         * gtk/gtkbindings.c (gtk_binding_set_new): Avoid copying
741         the set_name by interning it.
742
743 2005-12-26  Matthias Clasen  <mclasen@redhat.com>
744
745         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Precache atoms
746         before calling gdk_window_new().
747
748         * gtk/gtktextbtree.c: Use the slice allocator for some other small
749         auxiliary structures as well.
750
751         * gtk/gtkimcontext.c (gtk_im_context_filter_keypress): Clarify
752         docs.  (#324996)
753
754         * gtk/gtktextbtree.c (gtk_text_btree_get_tag_info) 
755         (gtk_text_btree_remove_tag_info): Use the slice allocator for 
756         tag info.
757
758         * README.in: Mention the stripping of (_F) suffixes.
759
760         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Strip a suffix of 
761         the form "(_<single character>)", since this is the preferred way
762         for some languages to indicate accelerators.  (#323956, Yang Hong)
763
764         * gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
765         setting.
766         (gtk_label_grab_focus): And use it here to select the contents of
767         the label when appropriate.
768         (gtk_label_class_init): Use the same keybindings for select all/
769         unselect all as GtkEntry and GtkTextView.
770
771         * gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
772         focus, avoid leaving a selection in a label.
773
774 2005-12-25  Matthias Clasen  <mclasen@redhat.com>
775
776         * gtk/gtkwindow.c: Documentation fixes.  (#324815, 
777         Ross Burton)
778
779         * configure.in: Require GLib 2.9.2
780
781 2005-12-24  Matthias Clasen  <mclasen@redhat.com>
782
783         * gdk/gdkregion-generic.c: 
784         * gdk/gdkpolyreg-generic.c: 
785         * gdk/gdkregion.h: 
786         * gdk/gdkrectangle.c: Inline docs, use g_assert(), avoid 
787         extra allocation for rectangular regions.
788
789 Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>
790
791         * gtk/gtkobject.[hc]: renamed GUnowned to GInitiallyUnowned.
792
793 Thu Dec 22 17:55:11 2005  Tim Janik  <timj@gtk.org>
794
795         * gtk/gtkobject.h: parent type fixups in structure declarations.
796
797 Thu Dec 22 16:01:27 2005  Tim Janik  <timj@imendio.com>
798
799         * gtk/gtkobject.c: derive GtkObject from GUnowned,
800         so it initially has a floating reference count.
801         gtk_object_class_init(): installa floating flag handler with
802         libgobject, so for GtkObjects the flag is stored as GTK_FLOATING
803         in the ->flags member.
804
805         * tests/floatingtest.c: test floating flag uses.
806
807 2005-12-21  Matthias Clasen  <mclasen@redhat.com>
808
809         * gdk/gdkregion-generic.c: Use the slice allocator
810         for regions. Still todo: avoid extra allocations for
811         the single-rectangle case.
812
813         * gtk/gtksettings.c (gtk_settings_class_init): Update
814         class_n_properties after installing color-hash, since
815         other classes install settings, too.
816
817         * gtk/gtkctree.c: 
818         * gtk/gtkclist.c: Fix some mistakes in the conversion
819         from mem chunks to slice allocator.
820
821         * gtk/gtkiconview.c (adjust_wrap_width): Adjust the 
822         wrap-width also if an explicit item width is set.  
823         (#322475, Alex Graveley)
824         
825 2005-12-20  Matthias Clasen  <mclasen@redhat.com>
826
827         * gtk/gtkiconview.c (gtk_icon_view_button_press): Reset 
828         pressed_button to -1 after handling a double click, so that
829         motion events occurring between here and the release event
830         don't trigger DND.  (#324588, Dave Andreoli)
831
832 2005-12-19  Matthias Clasen  <mclasen@redhat.com>
833
834         * gtk/gtkcellrenderer.c: 
835         * gtk/gtkselection.c: 
836         * gtk/gtkcalendar.c: 
837         * gtk/gtkitemfactory.c: 
838         * gdk/gtkcombo.c: 
839         * gdk/gdkpixbuf-render.c: Documentation updates
840
841         * gtk/gtktreemodel.c: 
842         * gtk/gtkplug.c: 
843         * gtk/gtkwindow.c: Documentation fixes.
844
845 2005-12-19  Michael Natterer  <mitch@imendio.com>
846
847         * gtk/gtkentry.c: implement boolean property "truncate-multiline"
848         which, when enabled, truncates multi-line pastes or drops to their
849         first line. Fixes bug #322252.
850
851         * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): enable
852         truncate-multiline here.
853
854 2005-12-17  Matthias Clasen  <mclasen@redhat.com>
855
856         * gtk/gtksettings.c (get_color_hash): Don't crash if
857         there is no color scheme.  (#324429, Diego Gonzalez)
858
859 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
860
861         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
862         * gtk/gtkimmodule.c (gtk_im_module_load): 
863         * gtk/gtkthemes.c (gtk_theme_engine_load): 
864         * gtk/gtkmodules.c (find_module): Use G_MODULE_BIND_LAZY when
865         opening modules.
866
867         * gtk/gtksettings.[hc]: Rework the way the color scheme setting
868         is inherited. Now the overriding is done on a per-color basis,
869         rather than for the setting as a whole. This has the effect
870         that themes can declare defaults for all the symbolic colors they
871         use by specifying a value for the gtk-color-scheme setting in 
872         their rc file, while still allowing the XSetting to override
873         "standard" symbolic colors. The hash table is now available
874         through the color-hash property.
875         
876         * gtk/gtkrc.c: Use the new color-hash property.
877         
878 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
879
880         * gtk/gtkcontainer.c (_gtk_container_focus_sort): Skip unrealized
881         children when doing focus sorting.  (#323995, Dan Winship)
882
883 2005-12-14  Rodney Dawes  <dobey@novell.com>
884
885         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
886         Default to "drive-harddisk" and then fall back to gnome-dev-harddisk
887         (get_icon_for_mime_type): Look up the mime type icons according to the
888         Icon Naming Specification and then fall back to the gnome-mime- prefix
889         for the mime type icons
890
891         Fixes #323655
892         
893 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
894
895         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Warn if the icon
896         cannot be loaded.  (#323504, Kjartan Maraas)
897
898         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add docs 
899         for the row-activated signal.  (#324044, Davyd Madeley)
900
901 2005-12-14  Michael Natterer  <mitch@imendio.com>
902
903         * tests/test-images/valid_jpeg_progressive_test: new test image.
904
905 Tue Dec 13 09:47:20 2005  Tim Janik  <timj@gtk.org>
906
907         * README.in: added a link to the floating reference docs in the
908         2.10 release NEWS section.
909
910 2005-12-12  Matthias Clasen  <mclasen@redhat.com>
911
912         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_index): 
913         Speed this function up, using the fact that visibility is 
914         constant across segments. (#321548, Paolo Borelli)
915
916         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
917         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Speed up
918         stepping backwards.  (#320638, Larry Ewing, Paolo Borelli)
919
920         * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
921         _GTK_LOAD_ICONTHEMES if we detect a real theme change, not
922         upon initial theme load.  (#323876, Peter Lund)
923
924         * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register
925         the size-changed signal correctly.  (#323848, Murray Cumming)
926
927         * gtk/gtkmarshalers.list: Add necessary marshaller.
928
929         * gtk/gtktextview.c (gtk_text_view_get_border_window_size): Don't
930         fall thru to the wrong window types.  (#323843)
931
932         Make the gtk-color-scheme setting work.
933         
934         * gtk/gtksettings.h: 
935         * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
936         that takes care of initializing the color hash if it is not 
937         already there.  
938
939         * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get): 
940         And use it here.        
941
942 2005-12-10  Matthias Clasen  <mclasen@redhat.com>
943
944         * gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
945         not if it succeeds. 
946
947 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
948
949         * gtk/gtkselection.c (gtk_selection_data_get_uris): Don't
950         leak list[0].  (#323629, Markku Vire)
951
952         * gtk/gtktextbuffer.c (paste_from_buffer): Unref the buffer
953         when freeing the RequestData.  (#323577)
954
955 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
956
957         * demos/gtk-demo/iconview_edit.c (set_cell_color): Don't
958         leak text.
959
960         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
961         variable name clash.  (#323475, Ross Burton)
962
963 2005-12-07  Ross Burton  <ross@burtonini.com>
964
965         * docs/reference/gtk/tmpl/gtkenums.sgml:
966         * gtk/gtktoolbutton.c:
967         If the toolbar mode is ICONS and there is no icon set then show
968         the label, and vice versa (#322019)
969
970 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
971
972         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
973         variable name clash.  (#323475, Ross Burton)
974
975         * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
976         window when synthesizing the key event.  (#323077,
977         Sadrul Habib Chowdhury)
978         
979         (gtk_tree_view_search_key_press_event): Also listen for
980         GDK_ISO_Left_Tab.  (#323077, Sadrul Habib Chowdhury)
981
982         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): 
983         Only scroll if we have focus.  (#316310, Paolo Borelli)
984
985         * gtk/gtkfilesystemunix.c (cb_fill_in_mime_type): Fix a C99ism,
986         spotted by Crispin Flowerday.
987
988 2005-12-06  Behdad Esfahbod  <behdad@gnome.org>
989
990         * gtk/gtksettings.c (settings_update_font_options): Turn metrics
991         hinting on (part of #307196)
992
993 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
994
995         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
996         commit from reset, it upstets GtkTextView.
997
998         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
999         careful when turning blinking on and off.
1000         (gtk_text_view_focus_out_event): Make the cursor really invisible
1001         when the focus goes away.  (#323087, Sadrul Habib Chowdhury)
1002         (cursor_blinks): Check the gtk-cursor-blink setting first.
1003
1004         * gtk/gtktreeview.c (gtk_tree_view_key_press): Fix refcounting
1005         issues with new_event and its window.
1006
1007         * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
1008         as a detach func.  (#323386, Jorn Baayen)
1009
1010         * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
1011         the libdate routines.  (#323045, Kazuki Iwamoto)
1012
1013         * gdk/gdk.c (gdk_parse_args): 
1014         * gtk/gtkmain.c (gtk_parse_args): Don't ignore errors
1015         from g_option_context_parse(). 
1016
1017 Tue Dec  6 11:37:59 2005  Tim Janik  <timj@gtk.org>
1018
1019         * gdk/gdkevents.c (gdk_event_new): fix missing hash table 
1020         initialization.
1021
1022 Tue Dec  6 10:32:17 2005  Tim Janik  <timj@gtk.org>
1023
1024         * gtk/gtkstatusbar.c: ported memchunk uses to g_slice, so the code
1025         compiles again.
1026
1027 2005-12-05  Federico Mena Quintero  <federico@ximian.com>
1028
1029         * gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
1030         modifiers", not "event->state && modifiers".  Patch by Sadrul
1031         Habib Chowdhury <imadil@gmail.com>.  Fixes bug #323073.
1032
1033 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
1034
1035         * gtk/gtkwidget.c: 
1036         * gtk/gtkuimanager.c: 
1037         * gtk/gtktreedatalist.c: 
1038         * gtk/gtktext.c: 
1039         * gtk/gtkmain.c: 
1040         * gtk/gtkitemfactory.c: 
1041         * gtk/gtkseparator.[hc]:
1042         * gtk/gtkclist.[hc]: 
1043         * gtk/gtkctree.c:
1044         * gtk/gtkgc.c: Use g_slice instead of mem chunks.
1045
1046 2005-12-05  Michael Natterer  <mitch@imendio.com>
1047
1048         * gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
1049         "timeout-initial", "timeout-repeat", "color-scheme" and
1050         "enable-animations" to X settings.
1051
1052 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
1053
1054         * gdk/gdkevents.c: 
1055         * gdk/gdkcolor.c: Use g_slice instead of mem chunks.
1056
1057         * gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
1058         after sending it to the search entry.  (#323209, Crispin Flowerday)
1059
1060         * README.in: Add a note about GTK_FLOATING.
1061
1062         * gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.
1063
1064 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
1065
1066         * gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
1067         a pixbuf.  (#323024, Paolo Borelli)
1068
1069 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
1070
1071         * gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
1072         if mime_type is NULL.  (#322998, Sadrul Habib Chowdhury)
1073
1074 2005-12-02  Michael Natterer  <mitch@imendio.com>
1075
1076         * gtk/gtkmenu.c: applied modified patch from maemo-gtk which
1077         adds a "horizontal-padding" style property. Fixes bug #323036.
1078
1079 2005-12-01  Michael Natterer  <mitch@imendio.com>
1080
1081         Merged modified patch from maemo-gtk that allows to disable
1082         toolbar animations. Addresses bug #142582.
1083
1084         * gtk/gtksettings.c: added boolean property "gtk-enable-animations".
1085         (patch from Christian Neumair)
1086
1087         * gtk/gtktoolbar.c: don't animate toolbar changes if the settings
1088         property is FALSE. Replaced the individual "notify::foo"
1089         connections to GtkSettings by a single "notify" callback and
1090         dispatch internally.
1091
1092 2005-12-01  Michael Natterer  <mitch@imendio.com>
1093
1094         * gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
1095         assignment of widget_class->motion_notify_event.
1096
1097 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
1098
1099         * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
1100         an active property.  (#322673, Jorn Baayen)
1101
1102         Properly handle model changes in GtkTreeSelection: (#322569,
1103         Milosz Derezynski)
1104         
1105         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): 
1106         Get a reference to the model, and stop the iteration if the model
1107         of the treeview is changed on the way.
1108
1109         * gtk/gtktreeprivate.h: 
1110         * gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New 
1111         private function to emit the GtkTreeSelection::changed signal.
1112
1113         * gtk/gtktreeview.c (gtk_tree_view_set_model): Call 
1114         _gtk_tree_selection_emit_changed() when the model changes.
1115
1116 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
1117
1118         Fixes the critical warnings from bug #317999, thus fixing the bug
1119         completely:
1120
1121         * gtk/gtkfilechooserdefault.c
1122         (gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
1123         use _gtk_file_chooser_get_current_folder_path() instead of fetching the
1124         impl->current_folder directly.  The latter may be null if we are
1125         in RELOAD_NONE state.
1126
1127 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
1128
1129         Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
1130
1131         * gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
1132         current_folder to the pending select paths here; the path bar will
1133         give it to us now.
1134         (path_bar_clicked): Add the child_path to the pending select paths
1135         here.
1136         (show_and_select_paths): Don't filter out folders.
1137         (show_and_select_paths): Don't take separate arguments for
1138         only_one_path and multiple paths.
1139
1140         * tests/autotestfilechooser.c (test_folder_switch_and_filters):
1141         New test about preserving the filters when we change folders.
1142
1143 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
1144
1145         * gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
1146         -20 to come out as 20- in RTL locales.  (#322571, Tze'ela Hebron)
1147
1148         * gtk/gtkaction.c (gtk_action_sync_button_stock_id) 
1149         (connect_proxy): Buttons use the label property for stock ids.  (#322565,
1150         Milosz Derezynski)
1151
1152         * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
1153         handle the cell list and indices into it.  (#321856)
1154
1155 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
1156
1157         * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
1158         the timeout is done.  (#322291, Jean-Yves Lefort)
1159
1160 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
1161
1162         * gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
1163         F2 work for renaming bookmarks.  (#320822, Jaap A. Haitsma, patch
1164         by Paolo Borelli)
1165
1166 2005-11-28  Tor Lillqvist  <tml@novell.com>
1167
1168         * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
1169         Implement the conditional use of FlashWindowEx() properly for MSVC
1170         compilations. The code was confusingly assuming that if compiled
1171         with a "new" compiler, it will only be run on "new" Windows
1172         versions. We want it to run on "old" versions, too, even if
1173         compiled with a "new" compiler. There are two orthogonal issues:
1174         whether the compiler defines the necessary API in its headers, and
1175         whether it is present at run-time. (#318077)
1176
1177         * gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
1178         Windows to get the localized weekday and month names. strftime()
1179         in the Microsoft C library returns strings in the default codepage
1180         for the locale of the process, not the system codepage. Thus
1181         g_locale_to_utf8() isn't useable on the return value from
1182         strftime(). (#322603)
1183
1184 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
1185
1186         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): 
1187         Fix an example.  (#322493, Elie De Brauwer)
1188         
1189         Fix two memory handling problems in GtkTreeView: (#322350, 
1190         Søren Sandmann)
1191         
1192         * gtk/gtktreeview.c (gtk_tree_view_destroy) 
1193         (gtk_tree_view_set_model): Remove all references to nodes in
1194         the old model.
1195         (gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
1196         before removing the children.
1197
1198         * gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a 
1199         PangoLayout here.  (#322505, Paolo Borelli)
1200
1201 2005-11-27  Tor Lillqvist  <tml@novell.com>
1202
1203         Once again rework Win32 window decoration code. Doesn't break
1204         #104514. The dialogs in gtk-demo now have the same decorations and
1205         behaviour as on X11. Tried to fix #322516 but it seems very hard
1206         to make the trivial sample program there behave as expected. OTOH,
1207         simply moving the gtk_window_decorate() call in the #322516 sample
1208         program after the call to gtk_widget_show() helps...
1209             
1210         * gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
1211         the correct semantics. Each call to gdk_window_set_decorations()
1212         which calls this function is supposed to affect all decorations.
1213
1214         (decorate_based_on_hints): New function, looks at both geometry
1215         hints and type hint and sets window decorations based on
1216         that. Consolidate code from gdk_window_set_geometry_hints() and
1217         gdk_window_set_type_hint() here.
1218
1219         (gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
1220         decorate_based_on_hints().
1221
1222 2005-11-25  Dom Lachowicz <cinamod@hotmail.com>
1223
1224         * modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
1225         Includes improved menu icon spacing, [+]/[-] expander drawing,
1226         status-bar gippie drawing, and notebook tab drawing.
1227         
1228 2005-11-24  Michael Natterer  <mitch@imendio.com>
1229
1230         * gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
1231         that used to hold signal handler IDs to two guint of padding.
1232
1233         * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
1234         gulong here.
1235
1236         (gtk_toolbar_screen_changed): changed accordingly.
1237
1238 Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>
1239
1240         * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
1241         in terms of the GObject floating/sink API.
1242
1243         * gtk/gtkaboutdialog.c:
1244         * gtk/gtkaction.c:
1245         * gtk/gtkcellview.c:
1246         * gtk/gtkclist.c:
1247         * gtk/gtkcolorsel.c:
1248         * gtk/gtkcombobox.c:
1249         * gtk/gtkfilechooserdefault.c:
1250         * gtk/gtkiconview.c:
1251         * gtk/gtkinvisible.c:
1252         * gtk/gtkitemfactory.c:
1253         * gtk/gtklayout.c:
1254         * gtk/gtkmenu.c:
1255         * gtk/gtkmenutoolbutton.c:
1256         * gtk/gtknotebook.c:
1257         * gtk/gtkprogress.c:
1258         * gtk/gtkrange.c:
1259         * gtk/gtkspinbutton.c:
1260         * gtk/gtkstatusicon.c:
1261         * gtk/gtktext.c:
1262         * gtk/gtktextview.c:
1263         * gtk/gtktoolbar.c:
1264         * gtk/gtktoolbutton.c:
1265         * gtk/gtktoolitem.c:
1266         * gtk/gtktreeitem.c:
1267         * gtk/gtktreeview.c:
1268         * gtk/gtktreeviewcolumn.c:
1269         * gtk/gtkuimanager.c:
1270         * gtk/gtkviewport.c:
1271         * gtk/gtkwidget.c:
1272         * gtk/gtkwindow.c:
1273         ported to use GObject's g_object_ref_sink().
1274
1275         * gtk/gtkcolorsel.c:
1276         * gtk/gtkfilechooserdefault.c:
1277         * gtk/gtkaboutdialog.c:
1278         fixed compiler warnings.
1279
1280 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
1281
1282         * gtk/gtksettings.c (gtk_settings_class_init): Add some docs
1283         about gtk-color-scheme.
1284
1285 2005-11-23  Behdad Esfahbod  <behdad@gnome.org>
1286
1287         * configure.in (enable_explicit_deps): Fix typo when checking
1288         libtool config deplibs_check_method. Moreover, enable explicit
1289         deps if we get anything other than pass_all from libtool. (part of
1290         #318750)
1291
1292 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
1293
1294         * gtk/updateiconcache.c (write_csource): Don't create a big
1295         string, since Visual C++ doesn't like strings longer than 64k. 
1296         (#322238, Kazuki IWAMOTO
1297
1298         * gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
1299         Kazuki IWAMOTO)
1300
1301 2005-11-23  Michael Natterer  <mitch@imendio.com>
1302
1303         * gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
1304         windows on other screens (correctly remove all temporary
1305         references).
1306
1307 2005-11-23  Michael Natterer  <mitch@imendio.com>
1308
1309         Added symbolic themable colors. Patch is a merged version of
1310         proposals from Matthias and maemo-gtk. Fixes bug #114355.
1311
1312         * configure.in: require glib >= 2.9.1 for refcountable hashtables.
1313
1314         * gtk/gtksettings.c: added property "color-scheme" which is a
1315         string defining colors like "foreground:black\nbackground:grey".
1316         Automatically provide a name->GdkColor hash table mapping for the
1317         color scheme.
1318
1319         * gtk/gtkrc.[ch]: added list of color hashes that works like the
1320         list of icon factories. Append the color scheme hash from
1321         GtkSettings if it exists. Extended gtkrc syntax to allow defining
1322         and referencing of logical colors. Also allow to modulate colors
1323         in gtkrc by using arbitrary expressions of mix(), shade(),
1324         lighter() and darker(). Added internal function
1325         _gtk_rc_style_get_color_hashes().
1326
1327         * gtk/gtkstyle.[ch]: keep a private list of color hashes around.
1328         Get the list from _gtk_rc_style_get_color_hashes(). Export
1329         internal function _gtk_style_shade() (used by above color
1330         expressions). Added public API gtk_style_lookup_color() which
1331         looks up a logical color by name.
1332
1333         * gtk/gtk.symbols: add gtk_style_lookup_color
1334
1335         * tests/testgtkrc: use symbolic colors for making
1336         the scrollbars red.
1337
1338 2005-11-22  Michael Natterer  <mitch@imendio.com>
1339
1340         Made button-press timeouts which work like key repeat timeouts
1341         configurable. Addresses bug #142582:
1342
1343         * gtk/gtksettings.c: added properties "gtk-timeout-initial" and
1344         "gtk-timeout-repeat" which defalt to 200/20 (ms).
1345
1346         Use the values from GtkSettings instead of hardcoding them
1347         (the repeat value is either taken as-is for fast repeat or
1348         multiplied by 5 for slow repeat). Changed all places to use these
1349         two standard initial/repeat timings:
1350
1351         * gtk/gtkcalendar.c (unchanged 200/20)
1352         * gtk/gtknotebook.c (unchanged 200/100)
1353         * gtk/gtkpathbar.c (changed from 300/150 to 200/100)
1354         * gtk/gtkrange.c (changed from 250/100 to 200/100)
1355         * gtk/gtkspinbutton.c (unchanged 200/20)
1356
1357 2005-11-21  Anders Carlsson  <andersca@imendio.com>
1358
1359         * configure.in:
1360         * gtk/Makefile.am:
1361         * gdk/Makefile.am:
1362         * gdk/quartz/*:
1363         Add quartz backend.
1364         
1365         * docs/tools/Makefile.am:
1366         Only build docshooter when the X11 backend is used.
1367         
1368         * gtk/gtkplug-stub.c:
1369         Include gtkplug.h here.
1370         
1371         * gtk/gtksocket-stub.c:
1372         Include gtksocket.h here.
1373         
1374 2005-11-21  Matthias Clasen  <mclasen@redhat.com>
1375
1376         * gtk/gtkinputdialog.c: Convert GtkInputDialog to 
1377         g_type_class_add_private.
1378
1379         * gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.
1380
1381         * gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.
1382
1383         * gtk/gtk.symbols:
1384         * gtk/gtkcombobox.[hc]: Add a tearoff-title property,
1385         with getter and setter.  (#316482, Olexiy Avramchenko)
1386
1387         * tests/testcombo.c (main): Test gtk_combo_box_set_title
1388
1389         * gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
1390         pointed out by Michael Natterer.
1391
1392         Fix for bug #321542, Benedikt Meurer:
1393         
1394         * gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
1395         Emit notify::active.
1396         
1397         (gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
1398         g_signal_emit, not g_signal_emit_by_name.
1399
1400 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
1401
1402         Fix crashes in connection with pathbar scrolling (#321560,
1403         Bogdan Nicula)
1404         
1405         * gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons): 
1406         Stop scrolling when desensitising slider buttons.
1407         (gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press): 
1408         And use it here.  
1409
1410         * gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
1411         scrolling_down flag.
1412
1413 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
1414
1415         * gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
1416         (#321777, Jens Granseuer)
1417
1418         * gtk/gtkaction.c (disconnect_proxy): Disconnect the
1419         sync callback for the visibility property.  (#321761,
1420         Philip Langdale)
1421
1422         Turn off input methods in invisible entries, since
1423         they are confusing.  (#317002, James Su)
1424         
1425         * gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
1426         methods if visibility changes.
1427         (popup_targets_received): Don't show the input method
1428         menu if the entry is invisible.  
1429
1430 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
1431
1432         * README.in: Add a note about range arrow sensitivity.
1433
1434         * perf/treeview.c: const correctness fixes
1435         found by Arjan van de Ven and gcc.
1436
1437 2005-11-16  Michael Natterer  <mitch@imendio.com>
1438
1439         * gtk/gtkimage.c (animation_timeout): call
1440         gtk_window_process_updates() so the animation keeps running even
1441         if the main loop is busy with sources that eat a lot of cpu with
1442         high priority. Fixes bug #321444.
1443
1444         (gtk_image_new_from_animation): document the fact that the
1445         animation will stop running if the main loop is busy with sources
1446         that have priorities higher than G_PRIORITY_DEFAULT.
1447
1448         * tests/testimage.c: added test case that shows an animation even
1449         though a cpu-eating idle function is running.
1450
1451 2005-11-16  Michael Natterer  <mitch@imendio.com>
1452
1453         * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
1454         function which destroys the display's event source. Also removes
1455         the source from the global display_sources list and unrefs it.
1456
1457         * gdk/x11/gdkprivate-x11.h: declare the function.
1458
1459         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
1460         instead of half-destroying the source here.
1461
1462 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
1463
1464         * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
1465         leak.  (#321032, Peter Zelezny)
1466
1467 2005-11-15  Michael Natterer  <mitch@imendio.com>
1468
1469         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
1470         display->xid_ht as late as possible (right before XCloseDisplay)
1471         because it still needs to be around when the display's screens are
1472         finalized. (#85715)
1473
1474 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
1475
1476         * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
1477         leak result.  (#321441, Tommi Komulainen)
1478
1479 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
1480
1481         * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
1482         Don't crash if there is no builtin icon.
1483
1484 2005-11-14  Michael Natterer  <mitch@imendio.com>
1485
1486         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
1487         removed redundant calls to g_object_notify().
1488
1489 2005-11-13  Matthias Clasen  <mclasen@redhat.com>
1490
1491         * gdk/gdkcolor.c (gdk_color_parse): Documentation 
1492         improvements.  (#321338)
1493
1494         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
1495         limit an inclusive boundary.  (#321299)
1496
1497 2005-11-12  Michael Natterer  <mitch@imendio.com>
1498
1499         * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
1500         rebuilt if needed.
1501
1502 2005-11-12  Dom Lachowicz <cinamod@hotmail.com>
1503
1504         * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
1505         theme's handling of toolbars, handleboxes, and menubars more in-line
1506         with Microsoft's IE style.
1507         * modules/engines/ms-windows/*.c: Indentation cleanups
1508         
1509 2005-11-12  Matthias Clasen  <mclasen@redhat.com>
1510
1511         Make builtin icons work in gtk_window_set_icon_name() 
1512         (#321046, Maxim Udushlivy)
1513
1514         * gtk/gtkicontheme.c (insert_theme): Always insert the default
1515         theme.
1516         (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
1517         from here.
1518         (theme_lookup_icon, find_builtin_icon): ...and not from here.
1519         (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
1520         (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
1521
1522 2005-11-12  Tor Lillqvist  <tml@novell.com>
1523
1524         * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
1525         dotfiles, no such convention on Win32. Just hide files with the
1526         hidden attribute. (#314627)
1527
1528 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
1529
1530         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
1531         check whether the path is a folder.  It is useful to bookmark
1532         files as well (e.g. todo.txt), and this will also help
1533         performance.
1534         (shortcuts_add_bookmark_from_path): Likewise.
1535         (shortcuts_activate_iter): Change folders or select files, as
1536         appropriate.
1537
1538 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
1539
1540         * tests/autotestfilechooser.c (main): Use
1541         g_log_set_default_handler() instead of explicitly setting a
1542         handler for each domain.
1543
1544         * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
1545         the base path of the volume if it is mounted.
1546
1547 2005-11-11  Michael Natterer  <mitch@imendio.com>
1548
1549         Added per-stepper API for GtkRange's stepper sensitivity as
1550         discussed in bug #321056:
1551
1552         * gtk/gtkenums.h: added GtkSensitivityType which can be
1553         { AUTO, ON, OFF }.
1554
1555         * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
1556         and "upper-stepper-sensitivity" and public getters/setters for
1557         them. Changed stepper drawing to honor the new properties.
1558
1559         * gtk/gtk.symbols: added the new symbols.
1560
1561 2005-11-10  Matthias Clasen  <mclasen@redhat.com>
1562
1563         * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
1564         emit them when the popup is shown or hidden.  (#162531, Tommi
1565         Komulainen)
1566
1567         * tests/testcombo.c: Add an example of popuplating a combobox
1568         on click.
1569
1570         * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
1571         erroneous semicolon.
1572
1573         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
1574         semicolon. 
1575
1576         Don't corrupt odd keymaps (#316638, Kean Johnston)
1577         
1578         * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
1579         handle frobbing keymaps with odd numbers of syms/code.
1580         
1581         * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
1582         frob the keymap.
1583
1584         Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
1585         
1586         * gtk/gtkpathbar.[hc]: Add a child_path argument to
1587         the path_clicked signal.
1588         * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
1589         child_path, if it is provided.
1590         * gtk/marshalers.list (path_bar_clicked): Add the necessary
1591         glue.
1592
1593         * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
1594         Kjartan Maraas)
1595         
1596         * gtk/gtk.symbols: 
1597         * gtk/gtktreeview.h: 
1598         * gtk/gtktreeview.c: Implement a getter for headers-clickable.
1599         (#163851, Richard Hult)
1600
1601 2005-11-10  Michael Natterer  <mitch@imendio.com>
1602
1603         Applied patch from maemo-gtk that addresses many issues wrt
1604         display migration and display closing (bug #85715).
1605
1606         * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
1607         default display to NULL when it's closed. Instead set the most
1608         recently opened display as new default (if one exists).
1609
1610         * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
1611         of this callback.
1612
1613         * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
1614         exist before unrefing them.
1615
1616         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
1617         is closed, allow destruction of the root window.
1618
1619         * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
1620         dispose(), free stuff that was leaked before.
1621
1622         * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
1623         the xsettings_client still exists before destroying it.
1624
1625         * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
1626         X resources.
1627
1628         * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
1629         dispose() implementation.
1630
1631         * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
1632         dispose() and check if it still exists before unrefing it. Set
1633         their pointers to NULL/None *after* upchaining in dispose(),
1634         because X11 implementations of members of the parent class still
1635         need them for their own destruction.
1636
1637         * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
1638         was g_error()ing when finalizing a visual.
1639
1640         * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
1641         get_clipboard_widget() because it would create the widget if it
1642         doesn't exist. Use g_object_get_data() directly instead.
1643
1644         * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
1645         of this callback.
1646
1647 2005-11-10  Simos Xenitellis  <simos@gnome.org>
1648
1649         * configure.in: Added Tatar (tt) to ALL_LINGUAS.
1650
1651 Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>
1652
1653         * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
1654         to render its arrows insensitive when the adjustment is in
1655         its min or max position. this makes range arrow behaviour 
1656         consistent with spin button behaviour. (#321056)
1657
1658 2005-11-09  Tor Lillqvist  <tml@novell.com>
1659
1660         * gdk/gdkinternals.h
1661         * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
1662         the GdkDebugFlag enum.
1663
1664         * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
1665         this file instead of MISC. Now asking for MISC will give mainly
1666         window manipulation debugging output with the Win32 backend.
1667
1668 2005-11-09  Tor Lillqvist  <tml@novell.com>
1669
1670         * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
1671
1672         (_gdk_win32_get_adjusted_client_rect): Remove this two-line
1673         function which was used only in one place.
1674
1675         (get_outer_rect): Use _gdk_win32_adjust_client_rect().
1676
1677         (gdk_window_set_geometry_hints): If we have identical minimum and
1678         maximum size hints, remove the resize and maximize
1679         decorations/functions. (#104514)
1680
1681         If we have a maximum size hint, remove the maximize
1682         decoration/function but ensure the resize decoration/function is
1683         available. Otherwise ensure both resize and maximize
1684         decorations/functions are there.
1685
1686         (set_or_clear_style_bits): Factored out common code from
1687         gdk_window_set_decorations() and gdk_window_set_functions(). 
1688
1689         Hack the window style setting once more: Only touch the window
1690         style bits corresponding to the GdkWMDecoration or GdkWMFunction
1691         parameter bitmasks. Hopefully this finally is the correct thing to
1692         do. We used to clear all other bits than those that were being
1693         set, or set all other bits than those that were being cleared.
1694
1695         Take into account that adding or removing decorations leaves the
1696         window's outer size unchanged, i.e., the client area's size and
1697         position change. This is apparently not what we want, so change
1698         also the window's (outer) position and size appropriately so that
1699         the client area's position and size stay constant.
1700
1701         gtk-demo's color selector dialog is now non-resizable like on X11
1702         (I tested with metacity in GNOME). Torn off menus are shrinkable
1703         vertically but have a maximum size, and are not maximizable or
1704         minimizable, like on X11.
1705
1706         (gdk_window_set_decorations, gdk_window_set_functions): Let
1707         set_or_clear_decorations() do most of the job.
1708
1709         * gdk/win32/gdkprivate-win32.h: Remove declaration of
1710         _gdk_win32_get_adjusted_client_rect().
1711
1712 2005-11-09  Tor Lillqvist  <tml@novell.com>
1713
1714         * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
1715         * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
1716         gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
1717         type hint. Implement gdk_window_get_type_hint() by just returning
1718         the hint stored.
1719
1720 2005-11-09  Tor Lillqvist  <tml@novell.com>
1721
1722         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1723         Remove code that has been permanently ifdeffed out for two years.
1724
1725 2005-11-08  Matthias Clasen  <mclasen@redhat.com>
1726
1727         * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
1728         finalizing a gc.  (#320789, Nickolay V. Shmyrev)
1729
1730         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
1731         icons if they would make the request large enough to cause
1732         Xlib to loose the connection.  (#320909, Claudio Saavedra)
1733
1734 2005-11-08  Michael Natterer  <mitch@imendio.com>
1735
1736         * gdk/gdk.symbols
1737         * gdk/gdkwindow.h
1738         * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
1739         extracted from maemo-gtk). Fixes bug #320872.
1740
1741 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
1742
1743         * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
1744         looks the bookmark label when reordering.  (#320720, Jeremy Cook)
1745
1746         * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
1747         Don't grab focus when a slider button is pressed, instead, use
1748         a bit in the pathbar struct to determine whether to scroll up
1749         or down.  (#314486, Carlos Garnacho)
1750
1751         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
1752         Don't popup the completions if the focus has already been
1753         moved somewhere else.  (#319914, Christian Persch)
1754
1755         * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
1756         Raise the drag_window after reconfiguring the 
1757         toolbar.  (#320803, Christian Persch)
1758
1759         * gtk/gtk.symbols: 
1760         * gtk/gtkfilechooserbutton.h: 
1761         * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
1762         with setter and getter.  (#318945, Christian Persch)
1763         
1764 Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>
1765
1766         * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
1767
1768 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
1769
1770         * configure.in: Adjust to the stock icon changes.
1771         
1772 2005-11-07  Tor Lillqvist  <tml@novell.com>
1773
1774         * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
1775         Correct the calculation of maskstride. (#320152, Peter Zelezny)
1776         
1777 2005-11-06  Michael Natterer  <mitch@imendio.com>
1778
1779         * gtk/Makefile.am (icons): fixed rule to actually create the
1780         symlinks, erroring out if anything goes wrong.
1781
1782 2005-11-06  Tor Lillqvist  <tml@novell.com>
1783
1784         * gtk/updateiconcache.c (build_cache): Can't rename a file if the
1785         target exists on Win32. First rename the target temporarily, then
1786         if the renaming of the source to target fails, restore the
1787         original name for the target.
1788
1789         * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
1790
1791 2005-11-06  Tor Lillqvist  <tml@novell.com>
1792
1793         (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
1794         like pixbuf_to_hbitmaps_normal().
1795         (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
1796         G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
1797         setting the G_WIN32_PRETEND_WIN9X environment variable.
1798         
1799 2005-11-06  Tor Lillqvist  <tml@novell.com>
1800
1801         Make icon masks work on Win98 (#320152, Peter Zelezny)
1802
1803         * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
1804         parameter for the depth of the bitmap, so that this function can
1805         be used to create 1-bit bitmaps, too.
1806         (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
1807         and initialize it properly.
1808
1809 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
1810
1811         Store builtin stock icons in an icon cache, instead of
1812         populating a hash table with pixbufs at startup, to save both
1813         memory and startup time.
1814
1815         * gtk/stock-icons/*: Reorganize the icons in a directory structure
1816         suitable for gtk-update-icon-cache, and rename them to match the
1817         stock ids.
1818
1819         * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
1820         add _gtk_icon_cache_has_icon_in_directory().
1821
1822         * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
1823         to store the contents of the icon cache in a C header.
1824
1825         * gtk/gtkbuiltincache.h: Generated private header which contains 
1826         the icon cache for the builtin icons.
1827
1828         * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
1829         icons, and use that in addition to the hash table whenever
1830         builtin icons are searched.
1831
1832         * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
1833         use it for static stock ids. 
1834         (get_default_icons): Don't add the builtin
1835         icons to the icon theme, just register the stock ids.
1836         (render_fallback_image): Take the fallback image out of the
1837         builtin icon cache.
1838         
1839         * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
1840         the necessary machinery to rebuild gtkbuiltincache.h.
1841
1842 2005-11-04  Michael Natterer  <mitch@imendio.com>
1843
1844         * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
1845         from maemo-gtk that changes the mtime check for rc files from
1846         '>' to '!=', otherwise theme changes go unnoticed when turning
1847         back the clock (Tommi Komulainen).
1848
1849 2005-11-04  Tor Lillqvist  <tml@novell.com>
1850
1851         * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
1852         leak on Win32.
1853
1854 2005-11-03  Tor Lillqvist  <tml@novell.com>
1855
1856         * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
1857         the Win32 backend, check that GdkDisplay* parameters are equal to
1858         _gdk_display instead of using the unnecessarily general
1859         GDK_IS_DISPLAY().
1860
1861         (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
1862         color bitmap to have "color" in their name, for similarity with
1863         pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
1864         too, instead of creating a b&w bitmap with CreateBitmap(). Set up
1865         the mask bitmap's contents, ones for those pixels in the color
1866         bitmap where the alpha is zero, zero for other pixels. We used to
1867         use an uninitialized mask bitmap! This meant that icons and
1868         cursors created presumably worked more or less by accident.
1869         Totally blank icons with zero alpha everywhere (as used by
1870         gtktrayicon.c) definitely did not work as expected.
1871
1872         * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
1873
1874         * gtk/gtkstatusicon.c: Implement for Win32. Use code from
1875         gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
1876         necessary and can be removed from CVS. It has never been mentioned
1877         in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
1878         are used on Win32. One label widget is used (but never shown) as
1879         gtk_widget_render_icon() needs a widget.
1880
1881         Ifdefs used as necessary in several places. It might be cleaner to
1882         split out the backend-specific parts to separate files, or at
1883         least collect them into separate blocks in the file.
1884
1885         (wndproc): New function. Window procedure to monitor mouse events
1886         in the system tray icon. Call gtk_status_icon_button_press() as
1887         needed.
1888         (create_tray_observer): New function. Creates a hidden window that
1889         only serves as a tray icon message observer.
1890
1891         * tests/teststatusicon.c (icon_activated): Position the dialog
1892         with GTK_WIN_POS_CENTER.
1893         (do_quit): New function, hide and unref the GtkStatusIcon, and
1894         call gtk_main_quit().
1895         (popup_menu): Add a Quit menu item that calls do_quit().
1896         
1897 2005-11-02  Tor Lillqvist  <tml@novell.com>
1898
1899         * gdk/win32/gdkcolor-win32.c
1900         * gdk/win32/gdkscreen-win32.c
1901         * gdk/win32/gdkwindow-win32.c: Whitespace consistency
1902         fixes. Remove superfluous test for GdkWindow* parameters being
1903         non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
1904         GdkScreen and one GdkDisplay in the Win32 backend, use those
1905         variables instead of the getter functions. For GdkDisplay* and
1906         GdkScreen* parameters, check that they are equal to the
1907         corresponding singleton variables instead of the more general
1908         GDK_IS_DISPLAY() or GDK_IS_SCREEN().
1909
1910 2005-11-02  Matthias Clasen  <mclasen@redhat.com>
1911
1912         * gtk/gtktextview.c: Remove some g_return_if_fail() from
1913         static functions, replace some others by g_assert().
1914         
1915         * gtk/gtktextview.c (selection_motion_event_handler) 
1916         (gtk_text_view_start_selection_drag): Keep track of the original
1917         selection boundaries during a drag selection, in order to correctly
1918         decide when to extend or shrink the selection.  (#320167,
1919         reported by Arvind S N, patch by Paolo Borelli)
1920
1921         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
1922         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
1923         manual offset calculations by g_utf8_offset_to_pointer().
1924         (#320360, Paolo Borelli)
1925
1926 Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>
1927
1928         * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
1929         nodes via the g_slice_*() API.
1930         _gtk_rbtree_new(): fixed wrong node allocation via g_new().
1931
1932 2005-11-01  Tor Lillqvist  <tml@novell.com>
1933
1934         * gdk/win32/gdkprivate-win32.h
1935         * gdk/win32/gdkglobals-win32.c
1936         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
1937         pre-interned GdkAtoms and pre-registered clipboard formats. Sort
1938         their declarations, definitions and assignments into a more
1939         logical and consistent order.
1940
1941         * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
1942         CF_ prefix for the predefined clipboard format names. Put quotes
1943         around registered format names to distinguish them.
1944         
1945         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
1946         immediately with a warning if the property type is STRING, TEXT,
1947         COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
1948         should never pretend to handle on Win32. Handle only UTF8_STRING
1949         here, other formats with delayed rendering. Use \uc1 instead of
1950         \uc0 when generating Rich Text Format for easier testability on
1951         XP, where WordPad misinterprets \uc0 encoded characters. Add more
1952         GDK_NOTE debugging output for Clipboard operations.
1953
1954         * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
1955         (gdk_selection_convert): Don't pretent to handle STRING, just
1956         UTF8_STRING. Streamline error handling, don't unnecessarily have a
1957         GError which then isn't used for anything anyway if it gets set.
1958         (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
1959         COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
1960
1961         * config.h.win32.in: Sync with what configure produces.
1962
1963         * configure.in: Don't look for X_PACKAGES unless building for
1964         x11. (#313986, John Ehresman)
1965
1966 2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
1967
1968         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
1969                         Wondered why there was no ku there before??
1970
1971 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
1972
1973         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
1974         window to the toplevels window group.  (#319912, Christian Persch)
1975
1976 2005-10-28  Kristian Rietveld  <kris@gtk.org>
1977
1978         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
1979         stupid thinko.
1980
1981 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
1982
1983         * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
1984         drag cursors.  (#319200, Federico Mena Quintero)
1985
1986         * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
1987         Shift-G to go to the previous match, like firefox.  (#320061, Christian 
1988         Neumair)
1989
1990         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
1991         C99ism.  (#320000, Kazuki Iwamoto)
1992
1993         * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
1994         stars.  (#319985, Bastien Nocera)
1995
1996         * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
1997         FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)
1998
1999 2005-10-26  Michael Natterer  <mitch@imendio.com>
2000
2001         Fix bug #319974:
2002
2003         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
2004         make sure that setting any of pixbuf/stock-id/icon-name resets the
2005         others because they are mutually exclusive, and that unsetting any
2006         of them only resets the pixbuf and nothing else. Also added
2007         some missing g_object_notify().
2008
2009         (gtk_cell_renderer_pixbuf_get_property): simplified calls to
2010         g_value_set_object().
2011
2012         (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
2013         (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
2014         g_object_notify ("pixbuf").
2015
2016 2005-10-27  Matthias Clasen  <mclasen@redhat.com>
2017
2018         * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
2019         careful about initializing cell_area.  (#319382, Tommi
2020         Komulainen)
2021
2022         * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
2023         Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)
2024
2025         * demos/gtk-demo/clipboard.c (paste_received): Only set the
2026         text if it is not NULL.  (#319930, Thomas Klausner)
2027
2028         * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
2029         loader before trying to get the pixbuf.  (#319930, Thomas Klausner)
2030
2031 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
2032
2033         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
2034         * gtk/gtkthemes.c (gtk_theme_engine_load): 
2035         * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
2036         when dlopening modules.  (#319557, Laszlo Peter)
2037
2038 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
2039
2040         * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
2041         segments when determining text direction.  (#319065, Tommi Komulainen)
2042
2043         * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
2044         on duplicate destroy.  (#318953, Gustavo Carneiro)
2045
2046         * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
2047         Point out that destroy-with-parent is a bad idea for the dialog
2048         passed to this function.  (#318943, Christian Persch)
2049
2050         * */Makefile.am: use $(GLIB_MKENUMS) instead of 
2051         glib-mkenums.  (#318582, Damien Carbery)
2052
2053         * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
2054         docs.  (#317682, Christian Neumair)
2055
2056         * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
2057         seem to affect the placement of the data in the readonly 
2058         section, and causes problems with some compilers.  (#317844)
2059
2060 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
2061
2062         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
2063         Fix some issues with background drawing in RTL.  (#318781,
2064         Eric Cazeaux)
2065
2066         * tests/Makefile.am:
2067         * tests/testentrycompletion.c: Apply a patch by Christian
2068         Persch to add property editors.
2069
2070         * gtk/gtkstatusicon.c: Emit activate on single-click,
2071         not on double-click, change proposed by Milosz Derezynski.
2072
2073 2005-10-25  Kristian Rietveld  <kris@gtk.org>
2074
2075         Fixes #311955, reported by Markku Vire; and a lot more.
2076
2077         * gtk/gtktreemodelfilter.c: Made this thing work correctly.
2078         Levels can now have invisible nodes cached, functions have been
2079         rewritten/refactored to take this into account; also the logic in
2080         some functions has been corrected.
2081         
2082         Each referenced node now references all visible children or a single
2083         invisible child, in order to be able to monitor all changes in the
2084         child model required for correct operation.
2085
2086         When a virtual root is set, all nodes on the virtual root level are
2087         referenced.
2088
2089         At last, a bunch of random bug fixes and comment updates.
2090
2091 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
2092
2093         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
2094         more docs.  (#319722, Paolo Borelli)
2095
2096         * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
2097         initialization of screen_x11->xft_rgba more explicit.  (#319627,
2098         Bogdan Nicula)
2099
2100         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
2101         in a blurb.  (#319499, Francisco Javier F. Serrador)
2102
2103 2005-10-24  Matthias Clasen  <mclasen@redhat.com>
2104
2105         Add settings to hide the input method and Unicode control character
2106         submenus in the context menus of GtkEntry and GtkTextView.  
2107         
2108         * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
2109         
2110         * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
2111
2112         * gtk/gtktextview.c (popup_targets_received): 
2113         * gtk/gtkentry.c (popup_targets_received): Use the settings here.
2114
2115 2005-10-24  Kristian Rietveld  <kris@gtk.org>
2116
2117         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
2118         row-has-child-toggled when the level is not in the cache does not
2119         make sense.  (This bug probably crept in during the early stages
2120         of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
2121         implementation yet),
2122         (gtk_tree_model_sort_real_unref_node): only get the child iter
2123         when we will actually also use it.
2124
2125 2005-10-22  Michael Natterer  <mitch@imendio.com>
2126
2127         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
2128         widget being realized, in addition to being visible, to avoid
2129         running into precondition check in gtk_tree_view_get_cell_area().
2130         (approved by Kris).
2131
2132 2005-10-22  Dom Lachowicz <cinamod@hotmail.com>
2133
2134         * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
2135         Experimentally, scrollbar steppers can shrink to 8 pixels on 
2136         Win32. Reflect that in the theme.
2137         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
2138         there is a 1-pixel border between a scrollbar and its child
2139         in ScrolledWindows on Win32. Reflect that in the theme.
2140         
2141 2005-10-20  Matthias Clasen  <mclasen@redhat.com>
2142
2143         * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
2144         for the selection window.  (#318806, Alex Larsson)
2145
2146 2005-10-18  Federico Mena Quintero  <federico@ximian.com>
2147
2148         Fixes bug #317999:
2149
2150         * tests/autotestfilechooser.c
2151         (test_button_folder_states_for_action): Test that we have either
2152         $cwd or the explicitly-set folder.
2153         (test_reload_sequence): Likewise.
2154
2155         * gtk/gtkfilechooserdefault.c
2156         (gtk_file_chooser_default_get_current_folder): If our reload_state
2157         is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
2158
2159 2005-10-14  Tor Lillqvist  <tml@novell.com>
2160
2161         * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
2162         It didn't really do anything useful, and was just confusing and
2163         incomplete. Comments claimed we don't do delayed rendering, but in
2164         fact we do, for images. (The delayed rendering code has other
2165         problems, though, see #168173.) The clipboard viewer code was
2166         probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
2167         the message when necessary). It was just test code, it said so in
2168         a comment. Add something similar back later if necessary.
2169
2170         (_win32_on_clipboard_change,
2171         _gdk_win32_register_clipboard_notification): Remove.
2172
2173         (gdk_display_supports_selection_notification,
2174         gdk_display_request_selection_notification): Always just return
2175         FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
2176
2177 2005-10-13  Tor Lillqvist  <tml@novell.com>
2178
2179         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
2180         Alt-Enter specially. It does not have any special meaning and
2181         should be passed on to the application. (#318378, Tim Evans)
2182
2183 2005-10-13  Tor Lillqvist  <tml@novell.com>
2184
2185         Set visual depth to 24 for 32 bits-per-pixel devices on
2186         Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
2187         optimized composite_0888() function rather than the slower image
2188         dithering functions to draw pixbufs (#313993, John Ehresman)
2189
2190         * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
2191         _gdk_windowing_get_bits_for_depth() to initialize
2192         GdkImage::bits_per_pixel.
2193         (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
2194
2195         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
2196         _gdk_windowing_get_bits_for_depth() to initialize
2197         BITMAPINFOHEADER::biBitCount.
2198
2199         * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
2200         GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
2201         32.
2202
2203 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2204
2205         * demos/gtk-demo/appwindow.c: (about_cb):
2206           use PACKAGE_VERSION,bump year (#318654)
2207
2208 2005-10-11  Matthias Clasen  <mclasen@redhat.com>
2209
2210         * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
2211         toggle here with the matching on toggle if it immediately follows. 
2212         This is a common case, and handling it here prevents quadratic blowup 
2213         in cleanup_line() below.  (#317125)
2214
2215         * gtk/gtktextsegment.h: 
2216         * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
2217         the character counts into this function instead of computing them
2218         again.
2219
2220 2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
2221
2222         * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
2223         code.
2224         * gtk/gtkfilechooserdefault.c
2225         (gtk_file_chooser_default_add_shortcut_folder): Return an error code
2226         when the shortcut already exists in the sidebar.  (#147521)
2227
2228 2005-10-09  Matthias Clasen  <mclasen@redhat.com>
2229
2230         * tests/testcombo.c: Demonstrate how to use custom widgets in
2231         a GtkComboBox.  
2232
2233 2005-10-07  Federico Mena Quintero  <federico@ximian.com>
2234
2235         Fixes bug #317999:
2236
2237         * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
2238         the the result of gtk_file_chooser_get_folder() is NULL or
2239         non-NULL at the right times.  Log the tests.
2240         (test_button_folder_states): New test for the initial states of
2241         the current folder in GtkFileChooserButton.
2242         (main): Test that the number of warnings/errors/critical errors is
2243         zero.
2244
2245         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
2246         Clarify the documentation on when this can return NULL.
2247         (gtk_file_chooser_get_current_folder_uri): Likewise.
2248
2249         * gtk/gtkfilechooserbutton.c (struct
2250         _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
2251         we use it to keep track of whether a folder has been set.
2252         (gtk_file_chooser_button_map):  Implement.  If no folder has been
2253         loaded before, we at least try to load $cwd here.
2254         (gtk_file_chooser_button_constructor): If the construct-time
2255         dialog already has a folder set, turn on our folder_has_been_set
2256         flag.
2257         (dialog_current_folder_changed_cb): Turn on our
2258         folder_has_been_set flag.
2259
2260 2005-10-07  Michael Natterer  <mitch@gimp.org>
2261
2262         * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
2263         PROFILE_FILE_CHOOSER because they break compilation after the
2264         removal of <unistd.h>.
2265
2266 2005-10-07   Matthias Clasen  <mclasen@redhat.com>
2267
2268         * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
2269         by moving it out of the profiling ifdef.
2270
2271         * gtk/gtkfilechooserdefault.c: Remove a redundant (and
2272         unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)
2273
2274         * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
2275         g_return_val_if_fail(), not g_return_if_fail().  (#318412,
2276         Kazuki Iwamoto)
2277
2278 2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
2279                 
2280         * gtk/gtk.symbols:
2281         * gtk/gtktextbuffer.h:
2282         * gtk/gtktextbuffer.c: Add a readonly has-selection property
2283         with a getter.  (#318161, Paolo Borelli)
2284
2285 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
2286
2287         * README.in: Start collecting release notes for 2.10.
2288
2289         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
2290         leak fix, since the assertion failures were traced to 
2291         an xchat bug.  (#314696)
2292         
2293         * gtk/gtkstyle.c (gtk_style_detach):
2294         (gtk_style_attach):  Documentation improvements.
2295         (gtk_style_detach): Assert that the attach_count is > 0.
2296
2297 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
2298
2299         * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
2300         shortcut position, not a ShortcutsIndex, to make the function more
2301         generic.
2302         (home_folder_handler): Pass the resolved index to
2303         switch_to_shortcut(), rather than just SHORTCUTS_HOME.
2304         (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
2305         (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
2306         binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
2307         make the respective key switch to the first, second, ..., tenth
2308         bookmark.
2309         (quick_bookmark_handler): Implement.
2310
2311 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
2312
2313         * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
2314         Desktop; just use their real names on the file system for the
2315         user-visible names.
2316
2317         * gtk/gtkfilechooserdefault.c
2318         (gtk_file_chooser_default_class_init): Add a "desktop-folder"
2319         binding signal, and bind it to M-d by default.
2320         (desktop_folder_handler): Implement the default handler.
2321         (home_folder_handler): Use a helper function.
2322         (switch_to_shortcut): New helper function.
2323         (shortcuts_append_home): Don't special-case the name of "Home";
2324         just use the folder name.
2325
2326 2005-10-04  Tor Lillqvist  <tml@novell.com>
2327
2328         * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
2329         HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
2330
2331 2005-10-04  Matthias Clasen  <mclasen@redhat.com>
2332
2333         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
2334         from yesterday, since it leads to assertion failures.  (#317879,
2335         Sebastian Bacher)
2336
2337 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
2338
2339         * gtk/gtkcalendar.c (gtk_calendar_init): Call 
2340         calendar_compute_days() after setting priv->week_start.
2341
2342 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
2343
2344         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
2345         removing it from the hash table.  (#314696, Benjamin Berg)
2346
2347 2005-10-01  Tor Lillqvist  <tml@novell.com>
2348
2349         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
2350         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
2351         is that the the desktop isn't visible because the session has been
2352         switched, the screen is locked, or a terminal server session
2353         disconnected, so no error message necessary. (#137796)
2354
2355         It is of course remotely possible that BitBlt() failing with
2356         ERROR_INVALID_HANDLE might also be caused by some other
2357         problem. We could strive for perfection and track whether the
2358         desktop is visible by using WTSRegisterSessionNotification() and
2359         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
2360         this issue, though. If we would track desktop visibility, we
2361         should then avoid even trying to update the display at all while
2362         the desktop isn't visible.
2363
2364 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
2365
2366         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
2367         to correct the calculations for the first week day. We may
2368         just have to remove this code if too many locales turn out 
2369         to have broken data. 
2370
2371         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
2372         some cases.  (#317611, Tommi Komulainen)
2373
2374         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
2375         Prevent overflow when storing size hints in an unsigned
2376         short variable. Tracked down by Ray Strode and Søren Sandmann.
2377
2378 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
2379
2380         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
2381         Paolo Borelli)
2382
2383         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
2384         grab shadowed.  (#317332)
2385
2386 2005-09-29  Tor Lillqvist  <tml@novell.com>
2387
2388         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
2389
2390 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
2391
2392         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
2393         if the unmap test fails.
2394         (test_reload_sequence): Use gtk_widget_show_now() instead of
2395         gtk_widget_show() for the dialog.
2396         Thanks to Tim Janik for noticing these.
2397
2398 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
2399
2400         * tests/testcellrenderertext.c: New file with a set of tests for
2401         GtkCellRendererText.  The idea is to run a text renderer through
2402         most of its interesting property values to see that it works
2403         correctly.
2404
2405         * tests/Makefile.am: Added testcellrenderertext.
2406
2407         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
2408         entry/exit of this function for profiling.
2409         (gtk_file_chooser_default_style_set): Mark the start/end of the
2410         calls to the parent class and the the signal emission for profiling.
2411
2412 2005-09-29  Tor Lillqvist  <tml@novell.com>
2413
2414         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
2415         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
2416         system codepage using g_win32_locale_filename_from_utf8().
2417         (#317457, Kazuki Iwamoto)
2418
2419 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
2420
2421         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
2422         here. (#317039, Paolo Borelli)
2423
2424         * gtk/gtktexttag.h: 
2425         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
2426         to make this function work as boxed copy function.  (#317455,
2427         Gustavo Carneiro)
2428
2429         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
2430         NULL.  (#316828, Tor Lillqvist)
2431
2432 2005-09-28  Tor Lillqvist  <tml@novell.com>
2433
2434         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
2435         Iwamoto)
2436
2437 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
2438
2439         Don't reload the current folder unnecessarily on ::map().
2440
2441         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
2442         the reloading state.
2443         (struct _GtkFileChooserDefault): Added a "reload_state" field.
2444
2445         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
2446         Initialize impl->reload_state.
2447         (gtk_file_chooser_default_map): Check the impl->reload_state; load
2448         a default folder if no folder has been set, or reload the current
2449         one only if we had been unmapped first.
2450         (gtk_file_chooser_default_update_current_folder): Set the
2451         reload_state to RELOAD_HAS_FOLDER.
2452         (gtk_file_chooser_default_unmap): Implement, and set the
2453         reload_state to RELOAD_WAS_UNMAPPED.
2454         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
2455         here; they'll get (re)loaded on ::map() anyway.
2456
2457         * gtk/gtkfilechooserwidget.c
2458         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
2459
2460         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
2461         a dialog; build it ourselves.
2462         (test_reload): New test to ensure that we don't load the default
2463         folder more than once, and that we reload it when
2464         unmapping/remapping.
2465         (get_impl_from_dialog): New utility function.
2466         (test_widgets_for_current_action): Use get_impl_from_dialog().
2467
2468 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
2469
2470         * gtk/gtkfilechooserdefault.c
2471         (gtk_file_chooser_default_constructor): Mark the entry/exit of
2472         this function for profiling.
2473         (check_icon_theme): Likewise.
2474         (change_icon_theme): Likewise.
2475         (settings_notify_cb): Likewise.
2476         (gtk_file_chooser_default_screen_changed): Likewise.
2477         (update_chooser_entry): If the selection is empty, clear the file
2478         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
2479         nothing will be selected when the user starts typeahead in the
2480         treeview, and we don't want to clear the file name entry in that
2481         case --- the user could be typing-ahead to look for a folder name.
2482         Fixes bug #308332, patch by Jürg Billeter.
2483
2484 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
2485
2486         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
2487         Pop below the entry if there's more free space below the entry
2488         than above.  (#316948, Tommi Komulainen)
2489
2490 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
2491
2492         Do not create the save mode-specific widgets in the open modes, so
2493         that we don't carry their baggage around.
2494
2495         * gtk/gtkfilechooserdefault.c
2496         (gtk_file_chooser_default_constructor): Don't create the
2497         save_widgets here.
2498         (save_widgets_create): Set the impl->save_widgets directly here,
2499         instead of passing the widgets back to the caller.  Also, pack
2500         them into the impl's box.
2501         (update_appearance): Create or destroy the save widgets as
2502         appropriate.  Set the action of the save_file_name_entry here.
2503         (shortcuts_add_current_folder): Set the active item in the
2504         save_folder_combo only if it exists.
2505         (gtk_file_chooser_default_set_property): Don't set the action of
2506         the save_file_name_entry here.
2507         (gtk_file_chooser_default_update_current_folder): Set the base
2508         folder of the save_file_name_entry only if the entry exists.
2509         (shortcuts_drag_data_received_cb): Cast the selection_data->data
2510         to (const char *) since that's what shortcuts_drop_uris() expects.
2511         (file_list_drag_data_received_cb): Likewise, for
2512         g_uri_list_extract_uris().
2513
2514 2005-09-26  Tor Lillqvist  <tml@novell.com>
2515
2516         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
2517         the shaped flag here, too. (#316871)
2518         (gdk_window_shape_combine_region): Currently unimplemented, so
2519         don't do anything to the shaped flag here.
2520
2521 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
2522
2523         Fix #316871, reported by Dan Winship:
2524         
2525         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
2526
2527         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
2528         (gdk_window_shape_combine_region): Set it here.
2529
2530         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
2531         remove the child area for shaped windows.
2532
2533 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
2534
2535         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
2536         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
2537
2538 2005-09-22  Michael Natterer  <mitch@imendio.com>
2539
2540         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
2541         consistent with GTK+ terminology:
2542
2543         * gtk/gtkcellrendererkeys.[ch]
2544         * tests/testkeys.c: removed...
2545
2546         * gtk/gtkcellrendereraccel.[ch]
2547         * tests/testaccel.c: ...and added.
2548
2549         * gtk/Makefile.am
2550         * gtk/gtk.h
2551         * gtk/gtk.symbols
2552         * tests/Makefile.am: changed accordingly.
2553
2554 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
2555
2556         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
2557         for the grab-broken-event signal, noticed by Damon Chaplin.
2558
2559 2005-09-21  Tor Lillqvist  <tml@novell.com>
2560
2561         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
2562         gdk_text_property_to_text_list_for_display,
2563         gdk_text_property_to_utf8_list_for_display,
2564         gdk_win32_selection_add_targets,
2565         _gdk_win32_selection_convert_to_dib): Free return value from
2566         gdk_atom_name().
2567         (gdk_text_property_to_text_list_for_display): Drop GError variable
2568         that isn't actually used after being set.
2569
2570 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
2571
2572         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
2573         documentation.
2574
2575 2005-09-20  Tor Lillqvist  <tml@novell.com>
2576
2577         * gdk/win32/gdkselection-win32.c
2578         (gdk_selection_owner_get_for_display): Do return the correct owner
2579         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
2580         a window GDK knows about). The reason to return NULL seems to have
2581         gone when in the fix for bug #163702 the artificial
2582         GDK_SELECTION_CLEAR event generation was removed from
2583         gdk_selection_send_notify_for_display(). Fixes bug #316552.
2584
2585 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
2586
2587         Avoid unnecessary XkbGetState() calls and XkbStateNotify
2588         events.  (#151555, Søren Sandmann)
2589
2590         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
2591         XkbSelectEventDetails() to select XkbStateNotify events
2592         for only the state we care about.
2593
2594         * gdk/x11/gdkprivate-x11.h:
2595         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
2596         the event into the function and update the keymap state from
2597         the state information contained in the event. Adjust all callers.
2598         
2599 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
2600
2601         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
2602         in multiple places to avoid segfaults if the index is out of range.  
2603         (#316422, Guillaume Cottenceau)
2604         (gtk_icon_view_set_drag_dest_item): 
2605         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
2606         #316424, Guillaume Cottenceau)
2607
2608 2005-09-18  Hans Breuer  <hans@breuer.org>
2609
2610         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
2611         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
2612
2613 2005-09-18  Hans Breuer  <hans@breuer.org>
2614
2615         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
2616         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
2617         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
2618         the icon and is blinking with teststatusicon. More to come ...
2619
2620 2005-09-18  Hans Breuer  <hans@breuer.org>
2621
2622         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
2623         cause gtkprogressbar.c has #include <config.h> conditionally; less
2624         noise from generated gtk.def
2625         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
2626         
2627         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
2628         For me it works as well as the *NIX implemenation, that is not at all.
2629
2630         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
2631
2632         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
2633         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
2634         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
2635         again - if compiled properly.
2636
2637         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
2638         already coming with Gtk+. Makes it compile on win32.
2639
2640 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
2641
2642         * README.cvs-commits: fixed some tiny typos
2643
2644 2005-09-16  Tor Lillqvist  <tml@novell.com>
2645
2646         * modules/engines/ms-windows/msw_style.c (draw_extension,
2647         draw_box_gap): Check whether the widget actually is a GtkNotebook
2648         before treating it as such. Drop some unneeded local variables,
2649         use parameter with same information instead. (#316412)
2650
2651 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
2652
2653         * tests/autotestfilechooser.c: Start a set of automated tests for
2654         the file chooser.  The only test in there right now doesn't pass
2655         yet.  It specifies the intended behavior of the first optimization
2656         of a series which I'll do on the file chooser (see
2657         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
2658         details of this optimization).
2659
2660         * tests/Makefile.am: Added autotestfilechooser.c.
2661
2662         * gtk/gtkfilechooserprivate.h (struct
2663         _GtkFileChooserDialogPrivate): Move all the file chooser's private
2664         structures to here, so that they can be accessed by
2665         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
2666         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
2667
2668         * gtk/gtkfilechooserdialog.c: See above.
2669
2670         * gtk/gtkfilechooserwidget.c: See above.
2671
2672         * gtk/gtkfilechooserdefault.c: See above.
2673
2674 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
2675
2676         * gtk/gtkwindow.c: 
2677         gtk_window_map_event(): new function to work around lost unmap requests.
2678         fixes bug #316180.
2679
2680 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
2681
2682         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
2683         an easy-to-find profiling marker when starting to create a file
2684         chooser.
2685         (browse_files_model_finished_loading_cb): Likewise, for when the
2686         chooser is finished loading.
2687
2688 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
2689
2690         * gtk/gtkcolorbutton.c: Check "color" argument in 
2691         gtk_color_button_set_color ()
2692
2693 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
2694
2695         * gtk/gtklabel.c (gtk_label_get_type): 
2696         * gtk/gtkbutton.c (gtk_button_get_type): 
2697         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
2698         using a mem chunk for window groups, buttons, labels.
2699
2700         * gtk/updateiconcache.c (foreach_remove_func): Fix
2701         a use-after-free bug.  (#316256, Alexander Nedotsukov)
2702
2703 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
2704
2705         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2706
2707         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
2708         
2709 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
2710
2711         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
2712         Let GDK_Return pass through in some more cases.
2713
2714         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
2715         activating the entry. 
2716
2717         * gtk/gtkiconview.c (gtk_icon_view_class_init):
2718         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
2719         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
2720
2721         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
2722         (#316001, Guillaume Cottenceau)
2723
2724         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
2725         mistake in the docs.  (#315993, Guillaume Cottenceau)
2726
2727         * tests/testentrycompletion.c (create_simple_completion_model): Add
2728         some strings containing multibyte characters.
2729
2730         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
2731         Fix prefix insertion for multibyte characters.  (#316095,
2732         Tommi Komulainen)
2733
2734         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
2735         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
2736         return NULL if the widget is not realized.  (#316023,
2737         Guillaume Cottenceau)
2738
2739 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
2740
2741         * gdk/gdk.symbols: 
2742         * gdk/gdkproperty.h: 
2743         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
2744         New function to avoid pointless strdups when creating atoms
2745         from static strings.  
2746
2747         * gdk/x11/*.c:
2748         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
2749         appropriate.
2750
2751 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2752
2753         * gtk/gtkcellrendererkeys.h: 
2754         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
2755         and editing accelerators, a port of EggCellRendererKeys .
2756
2757         * gtk/gtk.symbols:
2758         * gtk/gtk.h:
2759         * gtk/Makefile.am: Add the keys cell renderer.
2760
2761         * tests/Makefile.am: 
2762         * tests/testkeys.c: Test GtkCellRendererKeys
2763
2764 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2765
2766         Make it possible to determine if a key event is for a
2767         modifier key:
2768         
2769         * gdk/x11/gdkprivate-x11.h: 
2770         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
2771         New function to determine if a keycode is mapped to a modifier.
2772         (get_xkb): Get the modmap.
2773
2774         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
2775         is_modifier bit by calling _gdk_keymap_key_is_modifier().
2776
2777         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
2778         bit.
2779
2780 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2781
2782         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
2783         unused variable, noticed by Kjartan Maraas.
2784
2785 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2786
2787         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
2788         Make drag reordering work properly for columns other than the
2789         first.  (#315054, Dan Winship)
2790         
2791         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
2792         invalid fontnames better. (#136926, Michael R. Walton)
2793         
2794         Stop cursor blinking in non-editable regions of a text view.
2795         (#311508, Torbjörn Andersson)
2796         
2797         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
2798         (cursor_blinks): Take editability into account when deciding
2799         whether the cursor blinks.
2800         (gtk_text_view_button_release_event): 
2801         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
2802
2803         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
2804         Use connect_after to connect to the focus_out event. This
2805         ensures that the entry has already stopped blinking by the time
2806         we emit the edited signal.  (#315229, Thomas Leonard)
2807
2808         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
2809
2810         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
2811         unsigned ints to -1.  (#315481, Kjartan Maraas)
2812
2813         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
2814         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
2815         (#314473, Stanislav Brabec)
2816
2817 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2818
2819         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
2820         memory handling.  (#314975, Torsten Schoenfeld)
2821
2822         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
2823         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
2824         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
2825         * gtk/gtklabel.c (gtk_label_class_init): 
2826         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
2827         Stylistic improvements and clarifications for some blurbs. 
2828         (#315520, Clytie Siddall)
2829
2830 2005-09-09  Tor Lillqvist  <tml@novell.com>
2831
2832         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
2833         display name. There is only one GdkDisplay on Win32, and
2834         constructing the display name isn't entirely trivial, so cacheing
2835         is probably worth it. For instance GIMP calls this function a lot.
2836         (gdk_display_open): Call gdk_display_get_name() to prime the
2837         cached name.
2838         (gdk_display_get_n_screens, gdk_display_get_screen,
2839         gdk_display_get_default_screen): Verify parameter correctness like
2840         the X11 backend does.
2841
2842         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
2843         Return a freshly allocated string, as the API specifies. Fixes a
2844         heap corruption problem that caused random errors and crashes in
2845         GIMP, for instance.
2846
2847 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
2848
2849         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
2850         Make C-u commit and restart hex input if we are already in a
2851         hex sequence.
2852
2853 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
2854
2855         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
2856         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
2857         if they are mapped to the same modifier.
2858
2859         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
2860         to gtkstatusicon.c and gtktrayicon-x11.c
2861
2862         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
2863         default accel mod mask.
2864
2865         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
2866         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
2867         Don't use GDK_ALT_MASK.
2868
2869         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
2870
2871 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
2872
2873         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
2874         
2875         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
2876         modifiers.
2877
2878         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
2879         Mod2 - Mod5 and against Super, Hyper, Meta.
2880
2881         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
2882         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
2883         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
2884
2885         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
2886         modmap to maintain the information which X modifiers map to
2887         virtual modifiers.
2888         (get_xkb): Set up the modmap from the XKB tables.
2889         (update_keymaps): Set up the modmap from the information returned
2890         by XGetModifierMapping in the non-XKB case.
2891
2892         * gdk/x11/gdkprivate-x11.h: 
2893         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
2894         function to set the virtual modifiers in the state.
2895
2896         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
2897         _gdk_keymap_add_virtual_modifiers here.
2898
2899         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
2900         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
2901         for GDK_MOD1_MASK.
2902
2903 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
2904
2905         * gtk/gtkaction.c (connect_proxy): Set the label of a button
2906         if it has no child.  (#315253, John Finlay)
2907
2908 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2909
2910         * gtkimcontextsimple.h: Add a modifiers_dropped bit
2911
2912 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2913
2914         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
2915         on destroy to avoid problems when they are called on a destroyed
2916         widget.  (#315135, John Cupitt)
2917         
2918         * gtk/gtkentry.c (gtk_entry_class_init):
2919         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
2920         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
2921
2922         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
2923         code. Now we only steal a single key combination, Ctrl-Shift-U,
2924         instead of sixteen. 
2925         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
2926         by a sequence of hex digits entered with Ctrl-Shift still held.
2927         Releasing one of the modifiers or pressing space while the modifiers
2928         are still held commits the character. It is possible to erase
2929         digits using backspace.
2930         As an extension to the above, we also allow to start the sequence
2931         with Ctrl-Shift-U, then release the modifiers before typing any
2932         digits, and enter the digits without modifiers.
2933         (#82011, Owen Taylor)
2934         
2935 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2936
2937         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
2938         we still need to deliver the destroy event.  (#314980, Chris Lahey)
2939
2940         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
2941         im context before committing \n or \t.
2942
2943 2005-09-02  Alexander Larsson  <alexl@redhat.com>
2944
2945         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
2946         (shortcuts_activate_volume):
2947         Handle base_path being null in the rest of the cases (#310270)
2948
2949 2005-09-02  Tor Lillqvist  <tml@novell.com>
2950
2951         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
2952         cursor position also in root window coordinates. Prune out
2953         superfluous WM_MOUSEMOVE events even earlier, based on root window
2954         coordinates. Windows sends WM_MOUSEMOVE messages after a new
2955         window has ben mapped below the cursor even if the mouse doesn't
2956         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
2957         confused at least gtk_menu_motion_notify(). (#314995)
2958
2959         * gtk/gtkintl.h: No need to include config.h here. It caused
2960         warnings about GTK_LOCALEDIR being redefined on Win32 when
2961         compiling files where gtkintl.h is included after gtkprivate.h
2962         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
2963
2964         * gtk/gtkplug.c: Include config.h.
2965
2966 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
2967
2968         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
2969         xdg_mime_get_mime_type_for_file() where possible, to avoid
2970         useless re-stating.  
2971         
2972         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
2973         typo.  (#314921, Guillaume Cottenceau)
2974
2975         * gdk/*.c: Intern some more strings.
2976         * gtk/gtkintl.h: 
2977         * gtk/*.c: Define an I_() macro and use it instead of the 
2978         bulky g_intern_static_string().
2979
2980 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
2981
2982         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
2983         instead of copying it.
2984
2985         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
2986
2987         * gtk/*.c: Also intern static strings passed to 
2988         g_object_set_data().
2989
2990         * gdk/Makefile.am: 
2991         * gtk/Makefile.am: Intern type names in code generated by 
2992         glib-mkenums, too.
2993
2994         * gtk/*.c: 
2995         * gdk/x11/*.c: 
2996         * gdk/*.c: Intern type names before registering the type to avoid 
2997         unnecessary copies.
2998
2999         * configure.in: Require GLib 2.9.0
3000
3001 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
3002
3003         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
3004         and add icon-size and icon-size-set properties.  (#314172)      
3005
3006         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
3007         groups across transient parents.  (#312918, Christian Persch)
3008
3009         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
3010         Guillaume Cottenceau)
3011
3012         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
3013         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
3014
3015 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
3016
3017         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
3018         make C-/ select all and C-\ unselect all.  (#309301,
3019         Kathy Fernandez)
3020
3021         * gtk/gtkimcontextsimple.c: Change the compose sequence for
3022         soft hyphen to be multi_key-minus-minus-space, and add
3023         compose sequences multi_key-minus-minus-period and 
3024         multi_key-minus-minus-minus for en dash and em dash.
3025         (#172653, Christian Lohmaier)
3026
3027         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
3028         code.  (#313946, Christian Persch)
3029
3030         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
3031         fix for the default value of the "ui" property.
3032
3033 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
3034
3035         * gtk/gtk.symbols: 
3036         * gtk/gtkselection.h:
3037         * gtk/gtkselection.c: Add functions which look for text, image
3038         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
3039
3040         * gtk/gtk.symbols: 
3041         * gtk/gtkselection.h:
3042         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
3043         Add a function to check wether targets include uri.  
3044         (#314092, Mark Wielaard)
3045         
3046         * gtk/gtk.symbols: 
3047         * gtk/gtkwindow.h: 
3048         * gtk/gtkwindow.c: Add a deletable property with getter
3049         and setter, to control the close button in the window 
3050         frame.  (#59718, Havoc Pennington)
3051
3052 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
3053
3054         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
3055         to the arrow keys for menu navigation.  (#162825, Carl Worth)
3056
3057         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
3058
3059         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
3060
3061         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
3062         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
3063         refer to nonexisting stock ids.
3064
3065         * gtk/gtktextview.c (popup_targets_received): 
3066         * gtk/gtkentry.c (popup_targets_received): Construct
3067         the "Select All" menuitem from stock.
3068
3069         * gtk/stock-icons/stock_select_all_{16,24}.png:
3070         * gtk/stock-icons/Makefile.am: 
3071         * gtk/gtkiconfactory.c:
3072         * gtk/gtkstock.h: 
3073         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
3074         Calum Benson)
3075
3076         * gtk/gtktrayicon.c: Add a pointer to the spec.
3077
3078         * gtk/gtkstatusicon-x11.c: Add docs.
3079
3080         * gtk/gtkstatusicon.h: Fix a typo.
3081
3082         Add a cross-platform "tray icon" API, by
3083         porting EggStatusIcon/EggTrayIcon (#105101)
3084         
3085         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
3086         displays an icon in a notification area.
3087
3088         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
3089         X11, using GtkTrayIcon.
3090
3091         * gtk/gtktrayicon.h: 
3092         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
3093         system tray specification, not public API.
3094
3095         * gtk/gtk.symbols: Add new exported functions.
3096
3097         * gtk/gtk.h: Include gtkstatusicon.h.
3098
3099         * gtk/Makefile.am: Add new files.
3100
3101         * tests/Makefile.am:
3102         * tests/teststatusicon.c: Test for GtkStatusIcon.
3103
3104 2005-08-29  Christopher Aillon  <caillon@redhat.com>
3105
3106         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
3107         and GTK_STOCK_DISCONNECT
3108         
3109 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
3110
3111         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
3112         Use XFixesChangeSaveSet if available.  (#314682)
3113
3114         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
3115         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
3116
3117 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
3118
3119         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
3120         accidentally leftover duplicate pixbuf creation.  (#314700,
3121         Kjartan Maraas)
3122
3123         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
3124         leak the cursor theme name.  (#314693, Kjartan Maraas)
3125
3126         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
3127         state.children in all cases.  (#313862, Kjartan Maraas)
3128
3129 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
3130
3131         * po/POTFILES.in, po-properties/POTFILES.in:
3132         Add gdk/gdkscreen.c
3133
3134 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
3135
3136         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
3137         value of the ui property. (#314532, Yong Wang)
3138
3139         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
3140         when G_MAXLONG is passed as length.  
3141
3142 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
3143
3144         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
3145         to avoid overloading --force.  (JP Rosevaar)
3146
3147 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
3148
3149         * configure.in: Bump version to 2.9.0
3150
3151         * gdk/gdk.symbols: 
3152         * gdk/gdkscreen.h: 
3153         * gdk/gdkscreen.c: Make the GdkScreen font options api
3154         public, and add properties GdkScreen::font-options and
3155         GdkScreen::resolution.  (#314004)
3156
3157         * gdk/gdkpango.c:
3158         * gtk/gtksettings.c:
3159         * gtk/gtkwidget.c: Adjust all callers.
3160         
3161         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
3162         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
3163         * gdk/gdkscreen.c: Include gdkintl.h.
3164
3165         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
3166         variable warning, pointed out by Colin Walters. (#314585)
3167
3168 2005-08-26  Tor Lillqvist  <tml@novell.com>
3169
3170         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
3171         printouts.
3172         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
3173
3174 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
3175
3176         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
3177         of week_start.  (#314473, JP Rosevaar)
3178
3179 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
3180
3181         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
3182         lock.  (#314533, Thomas Fitzsimmons)
3183
3184 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
3185
3186         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
3187         NULL gracefully.  (#314523, Ed Catmur)
3188
3189 2005-08-25  Owen Taylor  <otaylor@redhat.com>
3190
3191         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
3192         Handle theme == NULL.
3193
3194 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
3195
3196         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
3197         y offset into account when positioning the popup.  (#314470,
3198         Christian Persch)
3199
3200 2005-08-25  Owen Taylor  <otaylor@redhat.com>
3201
3202         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
3203         as instance_init, not base_init! (#314452, Fix from Frederic
3204         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
3205         rather than 1 for a negative flag value.
3206
3207 2005-08-24  Owen Taylor  <otaylor@redhat.com>
3208
3209         * gdk/gdkpango.c (draw_error_underline): Add a note about
3210         cut-and-paste between here and Pango.
3211
3212 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
3213
3214         * === Released 2.8.2 ===
3215
3216         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
3217         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
3218         Wielaard)
3219
3220         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
3221         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
3222         Sebastien Bacher)
3223         
3224         * NEWS: Updates
3225
3226         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
3227         and cursor settings get propagated down to the screen initially.
3228         Pointed out by Frederic Crozat.
3229
3230         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
3231         message if the screen is NULL. Noticed by Kjartan Maraas.
3232
3233 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
3234
3235         * Bump version
3236
3237         * === Released 2.8.1 ===
3238
3239         * NEWS: Updates
3240         
3241 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
3242
3243         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
3244         against lazy filterers which return values other than TRUE or
3245         FALSE from their visible func.  (#314335)
3246
3247 2005-08-23  Owen Taylor  <otaylor@redhat.com>
3248
3249         Fix for #314004, reported by Michael Reinsch:
3250
3251         * gdk/gdk.symbols:
3252         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
3253         Add gdk_screen_get/set_resolution_libgtk_only()
3254
3255         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
3256         the options for the screen on the newly created context.
3257
3258         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
3259         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
3260         the font options on the screen.
3261
3262         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
3263         the font options from the screen and set them on the context.
3264
3265 2005-08-23  Kristian Rietveld  <kris@gtk.org>
3266
3267         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
3268         bother inserting new rows in a level with a zero refcount and
3269         immediately free the level. (Fixes #312350, reported by Markku Vire).
3270
3271 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
3272
3273         * gtk/updateiconcache.c: Complain when there is no index.theme file
3274         in the specified directory, unless --force is used. Also add an
3275         --index-only option to create caches without image data.
3276
3277         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
3278         C99ism.  (#314262, Robert Jeff Mitchell)
3279         
3280 2005-08-22  Manish Singh  <yosh@gimp.org>
3281
3282         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
3283
3284         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
3285
3286 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
3287
3288         * gtk/gtkwindow.c (gtk_window_client_event): 
3289         * gtk/gtkicontheme.c (ensure_valid_themes) 
3290         (_gtk_icon_theme_check_reload): Implement a clientmessage based
3291         scheme for makeing sure that all GTK+ applications notice if an
3292         icon theme has been updated. This should prevent multiple versions
3293         of an icon theme cache to be mapped in memory at the same time,
3294         which can cause excessive memory consumption.  (#313156, Chris 
3295         Lahey)
3296
3297 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
3298
3299         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
3300         regarding icon theme changes.
3301
3302         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
3303         pixbufs which are backed by the mmapped memory of an icon cache,
3304         increase the refcount of the icon cache, so that the memory is not
3305         munmapped away underneath the pixbuf upon icon theme changes.  
3306         (#314170, Kjartan Maraas)
3307
3308         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
3309         to link against Xext.  (#314062)
3310
3311         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
3312         overruns.  (#314081, Hans Breuer)
3313
3314 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
3315
3316         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
3317         returned layout must not be modified.
3318
3319 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
3320
3321         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
3322         scroll_to_path if the model changes.
3323
3324         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
3325         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
3326         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
3327         we're realized, #312798
3328         (gtk_icon_view_set_model): clear scroll_to_path if the model
3329         changes.
3330
3331 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
3332
3333         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
3334         (gtk_range_adjustment_value_changed):  Don't queue a draw
3335         if the layout has not changed.  (#313991, Benjamin Berg)
3336
3337 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
3338
3339         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
3340         Benoit Carpentier)
3341
3342         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
3343         Fix a typo. 
3344
3345         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
3346         (model_add_special, model_add_special, model_add_volumes):
3347         Handle pixbuf being NULL without warnings. Also, don't
3348         leak pixbuf references when the icon theme is changed.
3349
3350         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
3351         the user data on destroyed windows, since at best
3352         it can be a stale pointer.  (#313953, Robin Green)      
3353
3354 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
3355
3356         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
3357         (#313900, Sebastien Bacher)
3358
3359         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
3360         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
3361
3362         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
3363         (xdnd_read_actions, get_client_window_at_coords_recurse): 
3364         Free data returned from XGetWindowProperty. 
3365
3366         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
3367         Free data returned from XGetWindowProperty.  (313867, Kjartan
3368         Maraas)
3369         
3370         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
3371         children in all cases.  (#313862, Kjartan Maraas)
3372
3373         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
3374         in the per-directory hash, even if they come from the icon cache. 
3375         We tried to avoid that before, but as a result leaked icon data
3376         structs.  (#313852, Kjartan Maraas)
3377
3378 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
3379
3380         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
3381         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
3382
3383 2005-08-15  Owen Taylor  <otaylor@redhat.com>
3384
3385         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
3386         files for x11/xext. (Jonas Bonn)
3387
3388 2005-08-15  Tor Lillqvist  <tml@novell.com>
3389
3390         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
3391         inside GTK_NOTE.
3392
3393 2005-08-15  Owen Taylor  <otaylor@redhat.com>
3394
3395         * configure.in: Fix have_base_pc / have_base_x_pc typo.
3396
3397         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
3398         (#313417, James Andrewartha)
3399
3400         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
3401         FcNameConstant(). (More of #313417)
3402
3403 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
3404
3405         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
3406         modal dialogs, make sure to inherit the window group from 
3407         the parent, since we don't inherit window groups across
3408         transient parents currently.  (#312918, Christian Persch)
3409
3410         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
3411         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
3412
3413         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
3414         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
3415         gracefully.  (#312796, Jonathan Blandford)
3416
3417         * tests/testtoolbar.c: Add some more tests for menu placement.
3418
3419         * gtk/gtkmenutoolbutton.c (menu_position_func): 
3420         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
3421         of toolbutton menus and of the overflow menu.  (#312937, 
3422         #153870, Christian Persch, Paolo Borelli)
3423
3424 2005-08-15  Tor Lillqvist  <tml@novell.com>
3425
3426         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
3427         the nonportable <libgen.h> and dirname().
3428
3429 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
3430
3431         * gtk/gtksizegroup.c: Use object data to mark widgets and
3432         groups as visited, so that we avoid constant extra list
3433         traversals. Also allocate quarks in class_init.  (#311618,
3434         Michael Natterer)
3435
3436         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
3437         download location for the hicolor icon theme. (#313475, Olexiy 
3438         Avramchenko)
3439
3440         * gtk/gtkicontheme.c: Remove debug spew. 
3441
3442 2005-08-15  Owen Taylor  <otaylor@redhat.com>
3443
3444         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
3445         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
3446         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
3447         Handle pixmap == NULL when checking for a colormap.
3448         (Allin Cottrell).
3449
3450 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
3451
3452         * gtk/updateiconcache.c: Store only one copy of the pixel data
3453         for symlinked icons. To achieve this, maintain a hashtable 
3454         mapping pathnames to pixel data, and share the pixel data for
3455         all symlinks resolving to the same pathname. When writing out
3456         the image data, write out the pixel data only the first time
3457         it is met, and store the offset pointing to the first copy
3458         for use in all later cases.
3459         This reduces the size of the Bluecurve icon cache from 40
3460         to 13MB. (#312972)
3461