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